MON166 User's Guide

Preliminary

Debugging Programs

The HELLO and MEASURE example programs are designed to run on the Keil MCB167 test board using the MON166 target monitor. You may use these example programs to verify the operation of the monitor and configuration for your target systems.

Before you can download and test an application with MON166, you must compile and link the files in the project. If you are using one of the example programs, select Keil MCB167 as the target (from the tool bar) and build the project.

Toolbar Target Selector

When you are ready to begin debugging you will use several buttons on the toolbar to start the debugger, step through your program, and so on.

ButtonDescription
Debug ButtonWhen you start the debug session, the µVision debugger connects to the target board, downloads the monitor (if it's configured for bootstrap mode), and downloads the application program. In the event of a communications failure, µVision presents a dialog that displays options and instructions.
Step Into Button
Breakpoints Button
Run Button
MON166 supports most µVision debugger features. You may single-step through code, set breakpoints, and run your application. Variables may be viewed using standard debugger features.
Serial Window ButtonMON166 can share the serial interface, used for monitor communication, with the program being debugged. Serial Window #1 shows the printf and putchar output from the target program.

Note

  • Do not initialize the serial interface in your user application. The monitor configures the UART. Subsequent configuration changes may cause the monitor to lose synchronization with the debugger. You may use conditional compilation as shown in the example programs.
  • It is impossible to single-step through putchar or getkey I/O functions.
Stop ButtonIf the Serial Interrupt or NMI option is enabled you may stop program execution using the Halt command from the Debug menu or toolbar or by pressing the Esc key in the Output Window.

The Monitor uses the serial interrupt to halt the user program. If the Monitor cannot stop your program (because the user application has disabled interrupts or so) a dialog box opens that displays options and instructions.
Reset ButtonThe µVision Reset command sets the program counter to 0. However, peripherals and SFRs are not reset. This command is not identical to a hardware reset of the MCU.