BSO/Tasking APPLICATION NOTE ref: AN0601 product(s): TK0622 description: Using RISM with ChipView 196 on a Target Board date: June 16, 1995 Summary of Target Board Requirements for the ChipView-196 RISM-based ROM Monitor V1.0 1. Hardware Requirements Currently RISM requires the following target resources: þ About 24 bytes of register space þ About 295 bytes of code. (For ISR commands and command table) þ About 160 bytes of startup code. (For UART and initial RISM settings) þ Software TRAP interrupt vector. þ Illegal opcode interrupt vector (recommended). þ Sufficient RAM to hold the entire user program. þ No INST pin decoding (default). If you plan to use the on-chip UART then note that: þ RISM requires interrupts to be enabled at all times. þ RISM will need the RI interrupt to operate. þ Required Modem control lines: RxD, TxD. Gnd þ Recommended Modem control lines: DTR (connected to NMI for reset), RI (for low overhead user/monitor mode detection) If you plan to use off-chip UART then note that: þ RISM should use the NMI interrupt (connected to UARTþs RxRDY) to operate. þ Interrupts do not need to be enabled at all times. þ Required Modem control lines: RxD, TxD, Gnd þ Recommended Modem control lines: DTR (connected to chip reset) RI (for low overhead user/monitor detection), and RTS/CTS (optional, in case the target needs handshaking to avoid data loss). 2. Software Requirements In order for RISM to run immediately upon power-up, the start-up code for RISM must be located at (FF)2080H. This means that the program that you want to debug, (which would normally start at (FF)2080H must be relocated to some other address, along with itþs interrupt vectors (which can be somewhat tricky to do). Alternatively, like Intel's EVAL boards, you can have your target do some remapping after the RISM start-up code has been run. For 8XC196 parts that have chip selects, such as the 196NP, you can use the chip selects to the remapping; otherwise, you will need some address remapping hardware that phantoms out the start-up code once it has been run, and replaces the 2000H-21FFH range with RAM. Normally , RISM Interrupt Service Routines are assembled to start at address 0000H. Since this space is marked as reserved, you can effectively hide the run-time portion of RISM in this space behind the REGISTER FILE. Therefore, with the exception of the interrupt vectors and data-space variables, RISM can be made almost transparent to your program. RISM assembler source is provided for custom implementations. 3. Recommendations If your program must disable interrupts while running, then use an off-chip UART. This way, RISM will be able to communicate with the host PC even if the interrupts are disabled. If your program requires the serial port for communications while running, then you must use an off-chip UART for RISM, since time sharing of the serial link is not supposed at this time by RISM.