Bootloader: Difference between revisions

No edit summary
No edit summary
Line 101: Line 101:


For an issue with console-unique key-init, see [[OTP_Registers|here]].
For an issue with console-unique key-init, see [[OTP_Registers|here]].
== BootROM Errors ==
Sample error-screen(where firm0+firm1 RSA signatures were corrupted):
  BOOTROM 8046
  ERRCODE: 00F800FF
  DEDEFFFF FFFFFFFF
  00000000 00000000
* 1st line is: <code>print_string(..., "BOOTROM %X", 0x8046);//This last param comes from the .pool.</code>
* 2nd line is: <code>print_string(..., "ERRCODE:    %08X", *((unsigned int*)(0x1FFFE000+0xC)));//See below memory notes.</code>
* 3rd line is: <code>print_string(..., "%08X %08X", *((unsigned int*)(0x1FFFE000+0x10))`, `*((unsigned int*)(0x1fffe000+0x14)));//See below memory notes.</code>
* 4th line is: <code>print_string(..., "%08X %08X",*((unsigned int*)(0x1FFFE000+0x18))`, `*((unsigned int*)(0x1fffe000+0x1C)));//See below memory notes.</code>
== 0x1FFFE000 memory ==
This memory is used by boot9 mainly for sending info to the arm11 for the error-screen.
* 8bit-entry-array 0x1FFFE000+0xC: 8bit status-codes initialized by boot9 main(), for the FIRM-boot devices. +0 is NAND and +2 is wifi-spiflash.
* ...
* 8bit-entry-array 0x1FFFE000+0x10: Error-codes originally from nand_findfirmpartition_loadfirm(), for each of the 8 NCSD partitions.


== Boot9 startup ==
== Boot9 startup ==