I have a board with an 89S8252, configured with VNM at Address 2000-7FFF, 0000-1FFF is Flash. I have configured Mon51 with install 8 7f 0. I have Set Intvects and Cseg at 2800H. I get the connection with Mon51, it downloads my program and than gets into and endless loop somewhere. Hardware reset on the processor board results in a jump to 2800H, but there it stops instead of going to main. The go command proceeds then normally to main. Whats wrong?
Maybe the interrupt vectors are incorrectly redirected. What did you do to the interrupt vectors of your application and with Monitor / INSTALL.A51? Turn off the option "Go til main" under Project - Options - Debug. Then you can single step and see where your programs goes into an end-less loop. Reinhard
Now, I'm completely stuck. Here is what happens: Hardware is 89S8252 based Board, Int. Flash from 0000-1FFF VNM Memory from 2000-7FFF Monitor in Flash @0000 Changes to Install.A51 only INT-ADR_OFF = 2800 DEF_PC-VAL = 2800 then generated Mon51 with instal 8 7F 0, burned into flash. Disasm shows all Vects but Serial Int are relocated properly to 2800. At 0000 there is a LJMP C:00FE (Initserial), at 0003 a LJMP to C:2803 C program linked with Startup.A51, only changes are CSEG AT 2800H and IDATALEN = 0100H. uVision connects to Monitor (go until main NOT active), loads Programm ok @ 2800 (no Ints used by prog) then stops with PC @0000. Run reenters the Serial Init again, gets stuck there. A hardware reset then gets the PC to 2800, stops there again. Run from there and all works normally. Any idea what's wrong? Thx for your time.
BTW install 0 7F 0 (fixed Baudrate, timer one) is exactly the same!
You need to configure the debugger as explained under: http://www.keil.com/support/docs/3004.htm Reinhard
Many thanks, that solved the problem!