C51 Development Tools
Emulators & Debuggers
Other C51-Related Info
MON51 Target Monitor
MON51 is a full-featured, license-free, royalty-free target monitor designed for the 8051 microcontroller family. It may be configured for a wide variety of 8051 devices and target hardware. MON51 communicates with the µVision Debugger using one of the PC's COM ports.
MON51 helps you easily debug your target programs in real-time. You may view program symbols, debug using your source code, watch program variables, examine memory contents, and more!
MON51 may be configured to load your target program at any address (usually 4000h or 8000h). MON51 is a separate program that is loaded into EPROM on your target hardware. When you use the monitor to debug, you will download your target program into von Neumann RAM on your target system.
Starting Target Programs At Offset 0000h
If your target program loads at offset 0000h, you must reserve space for the serial interrupt vector used by the monitor. The easiest way to do this is with the following linker command.
BL51 mycode.obj code(0x0100)
This command instructs the linker to avoid the first 256 bytes of code space (this is where the interrupt vectors live). If you have problems halting program execution with MON51, this may be the problem.
Starting Target Programs At Non-Zero Offsets
If your target program loads at an offset other than 0000h, you must do several things to compile and link for debugging with the monitor. Refer to Knowledgebase Article #76 for more information on how to relocate your target program.
To help you better understand and utilize the power of MON51, we have created Windows Help files and several Knowledgebase Articles that will help you get started.
of your data.