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.
I am not able to implement ISD debugging system on the target ie 8051RD2. I have copied & included ISD51.a51 and ISD51.h in the project. I have compiled and loaded the hex file in target. 1) Now how should i conform the working of ISD with my system ?. 2) what should be the response on resetting the target ?.(ie will it start its normal execution or ISD routines starts executing for setting up communication with keil IDE in debug mode). I have routine which initialises UART(115200 baud rate,11.0592 Mhz crystal,Timer 1 is used as baud rate generator loaded with 0xFF,CPU is 6 clk cycle) at the beginning. serial cable which is connecting the COM port of PC to target CPU is having rx,tx and gnd wires. On starting Debug mode,Under the "peripherals" option,"serial",UART is configured to baud rate 115200. 3)So now on single stepping when " ISDinit()" routine is executed debugger will try to establish communication with the taget system.or is it so that debugger will try to establish communication with target system when it enters in the debug mode. 4)How does Debugger updates its registers ? with ISDcheck() or ISDwait() ? or process is transparent to us !! 5)How to use ISD with clock 12 8051RD2. Maximum baud rate possible is 57600 (11.0592 Mhz Xtal),but in debug mode of Keil IDE,UART configuratin shows 115200 baud rate.Are there any option to set clock speed so that baud rate are same for target CPU and Debug mode UART configuration. help!!! setting ISD to debug system code. Following is the code:
#include <stdio.h> #include <reg51.h> #include "ISD51.H" sbit ok_led = P2^7; sbit error_led = P2^6; sbit place_led = P2^5; extern void init_UART(void); void main() { init_UART(); while(1) { #if 0 ISDinit(); #endif printf("\nISD debugger Demo \n"); #if 0 ISDwait(); #endif ok_led =0; error_led =1; place_led =0; _getkey(); #if 1 ISDcheck(); #endif ok_led =1; error_led =0; place_led =1; printf("\n\n\n\n\"ISD Demo over\" \n"); } } void init_UART() { SCON = 0x50; TMOD |= 0x20; PCON = 0x80; TH1 = 0xFF; //115200 baud rate with clock 6 CPU at 11.0592 Mhz TCON = 0x40; TR1=1; TI=1; EA=0; //disable all interrupts }
You should set your baudrate to slower rates for getting started. I recommend to use 9.600bps to avoid any hardware problems. Then proceed as explained in the ISD51.htm (In-System Debugger documentation) under Troubleshooting.
I tried to set the configuration of target in 'options for target' , 'debug' , 'use keil ISD51 debugger'.on clicking 'start/stop debug',from tool box,message box appears saying,"link was not set with target,reset and try again" but even after resetting the target,same message box appears.On taking the option " close debugging " from the message box whole application ie Keil IDE closes.i have to again restart the application.is this an IDE error ?.i am using V2.23. I refered to ISD.htm but target behaved in same manner. I was using baud rate 9600,rts-inactive,dtr-inactive. On resetting the Target CPU,it seems it was executing through full routines,there was no sign of ISD at all! what basic functions are to be included in routine(else than icluding and copying ISD51.a51,ISD51.h ) so that Target CPU enter ISD debug mode on resetting ?. Is there any previous discuss links relating to ISD problem ?
You are using the ISD51 beta version. Can you upgrade to the current release V7.01?