This release of the CS8051R is a unification of the old CW8051R and CW8051RI.
It is not possible to have debuging information on assembler files. Be sure to turn off debugging information all assembler files in your project.
The Load device description file, -p, option will load a text file into the CS8051. This description file can contain information about SFRs and interrupt simulation.
If SFR information is loaded with this description file, a SFR Window will be enabled. In this SFR Window you can set and group different SFRs. If no SFR information is provided, the SFR Window will be disabled.
If the interrupt information is provided with the description file, the interrupt system will be enabled. If interrupt information is missing, no interrupts can be simulated by the CS8051.
New session option '-d driverName' has been
implemented for choosing a particular driver (simulator,
ROM-Monitor etc.) if more than one is installed.
R8051 - ROM-monitor driver
S8051 - Simulator driver
R8051I - RISM-monitor driver
The way of passing session parameters has been modified so it is now possible to choose the C-SPY driver and processor options every time a new file is loaded.
This is the RISM driver based on C-SPY for 80x51/8x931.
In this version of C-SPY, the ROM-monitor is supplied. In order to control execution of your application from C-SPY, a ROM-monitor must be PROMed or downloaded to the evaluation board. Be sure to use the correct ROM-monitor program for your board. ROM-monitor programs are provided in directory \src\rom\MONxxx.a03. To program on-board flash memory see Siemens C5xx Starter Kit. In the following steps you will see how a program will be compiled and linked to run with the ROM-monitor:
Note: If you are not starting C-SPY from the IAR Embedded Workbench or if you start C-SPY without any project opened, step 10 above is done by typing the command line options in the Session Option dialog box. This dialog box is displayed when opening a debug file for downloading.
In the \config directory you will find linking files
for the demo and evaluation board:
Lnk517.xcl - Linking file for MCB-517
board 4800 baud
Lnkem31.xcl - Linking file for Em board 4800 baud
Lnk504.xcl - Linking file for C504 board 19200 baud @ 40
MHz, 9600 @ 20 MHz
Lnk505.xcl - Linking file for C505 board 9600 baud @ 8
MHz
Lnk515.xcl - Linking file for C515 board 9600 baud @ 10
MHz
Lnk541.xcl - Linking file for C541 board 19200 baud @ 12
MHz
-spCOM1:19200,N,8,1
Sets baud rate for C504 board on 40 MHz
or
-spCOM1:9600,N,8,1 Sets
baud rate for C504 board on 20 MHz
-spCOM1:4800,N,8,1 Sets
baud rate for MCB-517 and Em board
Included in the CS8051R is a project called Mon.prj. This is a pre-configured project to create a ROM-Monitor for one of the targets C504, C505, C515, MCB517, C541 or EM31. Please refer to the 8051 IAR Embedded Workbench User Guide for more information.
When the interrupt table is located in RAM the program being debugged can install own interrupts when being debugged. However not all ROM-Monitor boards are built with this feature.
For those board having their interrupt table in ROM
the interrupt table can be initialized with links to a
mirror of the interrupt table that is located in RAM (called
jump table). The ROM-Monitor can be built using pre-configured
project (see previous point) a configuration file for the
ROM-Monitor (conf.s03) is included. The macros
BEGIN_INT_TABLE and VECTOR is used to initialize the
interrupt table when the file is being assembled. To
install a vector address search for the label reset_monitor_CONF in the file
conf.s03 and edit the VECTOR macro like this:
VECTOR 0
This are going to install a LJMP <jmp_tbl_entry>
into the interrupt table where <jmp_tbl_entry> is
the address to a unique entry in the jump table. The
macro also allocates the needed space in the jump table,
there is a distance of 8 bytes between each vector.
If a interrupt vector should be hard wired by the ROM-Monitor
use the VECTOR macro like:
VECTOR 1, <address>
where 1 specifies that a LJMP <address> is added to
the interrupt table and <address> is the address to
the hard wired interrupt service routine. The result of
this is that the interrupt allways causes a jump to the
routine on <address> an the entry in jump table is
obsolete, however a slot of 8 bytes are still going to be
reserved in the jump table to preserve the alignment.
Note that:
Copyright 2001 IAR Systems. All rights reserved.