hi, I'm trying to debug a very simple program on an oregano 8051 IP core. I've read all the tutorials, and I still can't connect properly to the target system. Approximately 2 seconds after pressing the debug button, this window appears:
ISD51 Error ------------------------------------------------------- Communication problem with the ISD51! -Please check if the loaded application matches the ROM content! -Please check if the baudrates of the PC and the target system match exactly!
Well, the thing is that I'm sniffing the serial port and I can see that the debuggger sends the A5 token, and that the target system responds with the F7 and the six next bytes.
Here is the data from the serial port:
The PC sent to target system:
A5 8B 02 20 D3 00
The target system sent to the PC:
F7 7E 00 00 03 90 00 F7 5A A5 00 FF FF 03
Sometimes the PC and target system exchange more data. Sometimes less. It's weird.
So I'm certain that there's some communication going on... I also noticed that the serial interruption is only generated once (I added an INC P3 instruction, P3 being mapped to some leds).
Has anybody had a similar problem?
I attach the code I'm testing: Thanks a lot!!!
#include <reg51.h> /* 8051 SFR declaration #include "isd51.h" #include "intrins.h" #define RELOAD_TH1 0xF3 void InitUART() { SCON=0x50; TMOD=0x20; TCON=0x40; TH1 = RELOAD_TH1; /* UART at 2400 bauds with 12 Mhz crystal */ PCON=0x00; } void InitInter() { IE=0; EA=1; } void delay(void) { long i; i = 0x800; while(i--); } void main(void) { P3=0x00; while(1) { _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); ISDcheck(); _nop_(); _nop_(); _nop_(); delay(); _nop_(); _nop_(); _nop_(); } }