This directory is used to create a segment of code loadable by the boot code in lib/bbboot. The makefile GNUmakefile will generate the MIPS binary linked to the specified address (LLDOPTS args). This is the address the code will reside in after the load is completed. Like the boot code, the source files in the defines ASFILES and CFILES are linked to form psk.elf. This file is ultimately converted to a file, psk.nand, that is suitable for initializing external Flash, from where it will be loaded. psk.nand is encrypted using the key in ../sk_key.c, and correct ECC terms are written to the OOB area. The number of pages in the psk.nand file is specified in ../boot.h by the LOAD_SK_PAGES #define. The actual code binary is padded to LOAD_SK_PAGES pages with randoms. The conversion is performed by the psk_tool binary, which is locally built from psk_tool.c automatically through GNUmakefile. It can be built directly using either of the commands: make -f ToolMakefile or make psk_tool For the bootcode to decyrpt, the file vram2.sim is created in a format suitable for initializing Virage read-only vram bank 2 in the simulations. This file contains the sha-1 hash computed over the length LOAD_SK_PAGES*512, followed by the patch jump used by the boot code (just a jump back to the address in $t0). To use the files psk.nand and vram2.sim in the simulator issue the command: make copy before running the simulator. This assumes the simulator will be run from the directory $BBROOT/hw/chip/vsim. The "make copy" command will copy psk.nand to External_File.txt, and copy vram2.sim to tests/v2.dat.
Name |
Last commit
|
History
|
Last Update |
---|---|---|
.. | ||
CVS | ||
GNUmakefile | ||
README | ||
ToolMakefile | ||
psk.s | ||
psk_tool.c | ||
sha1.c | ||
sha1.h |