The HENA boot ROM program tests RAM searching for a place to load itself. It tests pages 3, 2, 1, 7, 6, 5, and 4. The boot program copies itself into the first RAM page that tests good; this will normally be page 3. No telemetry appears and no commands are accepted until after the RAM test. The test is non-destructive of RAM contents.
Once the self-test is complete, the boot program begins processing messages received from the spacecraft over the RS-422 line. The boot program accepts command, periodic, and upload messages; all others are ignored. The boot program accepts a subset of the HENA application commands:
The boot program generates a subset of the telemetry generated by the flight program. The status package is sent every sector, except for the first and last sector of a spin. Only "commands executed", "commands rejected", and "software version" of the software information are filled in; everything else in the package is zero. Memory dump and memory checksum packages can be requested. Command echoes are sent. The boot program is cognizant of the spacecraft spin and conforms to the CIDP's interfacing rules.
If the boot program does not receive a command within ten seconds of startup, it attempts to automatically boot the application program. The boot program checks the application program in EEPROM. The EEPROM format consists of a program image prepended with a five word header:
| page | address | start addr. | length | checksum |
The page and address identifies the destination for the program. The start address is the entry point of the program. The length is the total length including the header (measured in 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. If the checksum is good and the destination page is not the same as the page the boot program is using, the program image is copied to RAM and started at the given address. Otherwise, the boot program continues waiting for commands.
A serial test port is available during ground testing. Typing a carriage return any time that the boot program is running brings up an ASCII interface. A set of commands similar to that available over the spacecraft interface is provided. Each command is invoked by a single character:
| Command | Action |
|---|---|
| b | Boot (from EEPROM) |
| c | Copy Memory |
| e | Run Program |
| i | Inspect/Modify Memory |
| l | Load Memory (in Intel hex format) |
| q | Quit and restart boot program |
Return to HENA Software User's Guide.
Report problems to John Hayes.