TPU Boot ROM Program

The TPU boot ROM program first initializes the hardware. The program determines the cause of the reset. On power-up reset, the program zeroes the entire contents of RAM; this takes several seconds. On any other type of reset, the RAM is left untouched so that the corpse of a crashed program can be examined. After initializing the hardware the boot program copies itself into RAM occupying addresses ranging from 0x901f0000 through 0x901fffff. From this point on, the program runs in RAM. The boot program stack grows down from address 0x901f0000.

Next, the boot program establishes communication with the DPU. The program waits for commands from the DPU, executing the TPU memory commands described above. The program can generate TPU memory dump packets and TPU subpacket packets. TPU alarm and TPU memory checksum subpackets can be produced.

The boot program can be commanded to run programs stored in EEPROM. A program stored in EEPROM must be prefixed by a by a boot header:

address start address length checksum
The address is a destination address for the program. The start address is the entry point of the program. The length is the total length including the header (measured in 32-bit words). The checksum is the negation of the word-wise two's complement sum of the rest of the header and the program; therefore, the checksum of the header and program should be zero.


home Return to CRISP Software User's Guide. Report problems to John Hayes. mail