We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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_(); } }
When I pasted the code in the forum, I forgot to include in the main() function the InitUART() and InitInter() calls.
I was always initializing the UART and the interruptions, I just mispasted the code in the forum.