|
Using PL/M-51 With the EV80C51FX Evaluation Board
Programs written in PL/M-51 are normally debugged on an ICE
(In-Circuit Emulator) system. However, it is possible to debug them
on an EV80C51FX evaluation board with its RISM monitor and IECM51
supervisory program, if a few simple things are kept in mind.
RISM uses some chip resources for itself, which must not be interfered
with, for proper operation. These resources are the External
Interrupt 1 (EXTI1), which it uses for the external UART and single
stepping, Data addresses 2Eh to 3Eh, which it uses for data storage,
and some space on the Stack, up to 9 bytes. The serial interrupt may
also be used if RISM has been customized for the serial port instead
of an external UART.
To use EXTI1, RISM overwrites code address 0013h to 0015h with an LJMP
instruction, and will overwrite user code which is placed there. To
get around this, the simplest thing to do is declare a dummy interrupt
routine for EXTI1, as shown in the example program.
To avoid interfering with RISM's variables, a byte array is declared
at their address. This will not only reserve those addresses for
RISM, but force the stack pointer to be loaded above them, out of the
way.
These declarations can be placed in a conditional block, which can be
compiled for the evaluation board, or left out for the final code, as
shown in the program.
|