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.
Legal Stuff © 1997 Intel Corporation