This addendum contains the following sections:
What is a ROM Monitor?
Setting up the Target Environment
Restrictions
Resources used by the ROM Monitor
CrossView Pro ROM is a ROM monitor-based source level debugger for debugging real-time embedded C and assembly programs. CrossView Pro ROM integrates two separate debugging components. The figure below shows these two components and how they communicate with each other.
Figure Rom-1: CrossView Pro ROM hardware configuration
The first component is CrossView Pro, the source level debugger that runs on the host development system. CrossView Pro translates the low level target information obtained from the embedded ROM monitor to the C and assembly language source level. CrossView Pro has both a powerful command language to control the target's execution and a multi-window user interface to display target and debugging information.
Figure Rom-2: Target functional blocks
The second component of CrossView Pro ROM is the ROM monitor, also referred to as the target monitor. The ROM monitor is a low level debugging program that normally resides in ROM on the target board and runs on the target microprocessor. The ROM monitor includes a serial communications interface that lets it accept and interpret commands from CrossView Pro.
The ROM monitor has the following general capabilities:
R8C cannot detect non-existent memory, therefore it will
not be a trap as in other monitors.
In the rest of this Addenum we use the following terms:
Host: the computer running CrossView Pro.
Application: a program written by you and to be tested and debugged by CrossView Pro. Also called 'user program' or 'user code'.
Target: the embedded controller where an application is running on.
The ROM monitor must be present and running on the target board before CrossView Pro is able to communicate properly with the execution environment.
To download/debug your application you must connect the board to a serial communications port of the computer.
From EDE:
1. From the Project menu, select Project Options...
2. Open the CrossView Pro entry and select Execution Environment.
3. Select the ROM monitor execution environment.
4. In the CrossView Pro | Communication entry select the correct serial port and serial baud rate.
5. Click OK.
The ROM monitor will download the application in Flash memory. Breakpoint support is implemented through the Address Match interrupts. Since only 2 ranges are supported the number of breakpoints is also limited to 2. Besides these limits Crossview Pro cleanly supports the standard features including single stepping, code breakpoints, C expression evaluation and record/playback capability.
Facilities for hardware breakpoints, trace and background mode are absent on the ROM monitor. As a consequence, the CrossView Pro commands bd and bD for data breakpoints, the command ct for C-level tracing, and the commands CB, st, u and wt for background mode, are not available.
Every ROM monitor uses some resources, first it will use some code space in which it is running, then it will use some data space for keeping state information. Finally, it will require some kind of communication channel with the debugger. Currently only serial connections are supported by the Crossview Pro debugger. This means that one of the serial ports on the target is reserved by the ROM monitor and cannot be used by the application anymore.