Keil Logo Arm Logo

MON51 User's Guide

Troubleshooting

If MON51 does not start correctly, the problem typically lies with the code and data locations. Carefully check these settings in the INSTALL.A51 file to be sure they are correct.

If the Monitor stops working during the C startup code, the monitor data area is most likely not located in von Neumann memory.

If the Monitor-51 does not start correctly it is typically a problem of Monitor code and data locations or the initialization of the serial interface.

If the Monitor-51 stops working or behaves strange during debugging of your application, your application is most likely overwriting the user application program. This might happen when the user application makes xdata write accesses to the program code locations. Code and xdata memory must be non-overlapping areas, since the Monitor-51 requires von Neumann-wired code space, which means that code and xdata space are physically the same memory area. You should therefore check the XDATA and CODE MEMORY MAPPING that is listed in the Linker MAP (*.M51) file and verify that code and xdata space are not overlapping.

If the Monitor-51 does not single step CPU instructions or if you cannot read or write SFR data locations the Monitor-51 data memory area cannot be accessed from code space. The Monitor-51 data memory must be also von Neumann-wired xdata/code space.

During operation the Monitor might report the following errors:

Error Text Description
CONNECTION TO TARGET SYSTEM LOST µVision has lost the serial connection to the Monitor program. This error might occur because your program re-initializes the serial interface used by Monitor-51. This error also occurs when you single step in the serial I/O routines of your application.
NO CODE MEMORY AT ADDRESS xxxx You are trying to download code into ROM space or non-existing memory. The code memory must be von Neumann-wired xdata/code RAM.
CANNOT WRITE INTERRUPT VECTOR The Monitor program cannot install the interrupt vectors for the Serial interface. This error occurs when the code memory at address 0 cannot be accessed. Most likely this space is not von Neumann-wired.

Keil logo

Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.