Difference between revisions of "Bootloader"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
When the 3DS does not find the NAND chip, the following error is displayed: | When the 3DS does not find the NAND chip, the following error is displayed: | ||
− | [[Image:CTR_Bootrom_Error.jpg| | + | [[Image:CTR_Bootrom_Error.jpg|240px]] |
− | The 3DS' Boot procedure: | + | == NAND Reads == |
+ | During a successful boot, the bootloader reads the following sectors from NAND (and in this order): | ||
+ | 00000000 | ||
+ | 0B130000 | ||
+ | 0B530000 | ||
+ | 0B130000 | ||
+ | 0B130200 | ||
+ | 0B163E00 | ||
+ | 0B193E00 | ||
+ | 00013000 | ||
+ | 00014000 | ||
+ | 00015000 | ||
+ | 00016000 | ||
+ | 00017000 | ||
+ | ... | ||
+ | |||
+ | == The 3DS' Boot procedure: == | ||
* 0 Seconds - unit is powered on the ARM9 and ARM11 [[Memory_layout|bootroms]] begins execution | * 0 Seconds - unit is powered on the ARM9 and ARM11 [[Memory_layout|bootroms]] begins execution |
Revision as of 21:41, 28 June 2014
When the 3DS does not find the NAND chip, the following error is displayed:
NAND Reads
During a successful boot, the bootloader reads the following sectors from NAND (and in this order):
00000000 0B130000 0B530000 0B130000 0B130200 0B163E00 0B193E00 00013000 00014000 00015000 00016000 00017000 ...
The 3DS' Boot procedure:
- 0 Seconds - unit is powered on the ARM9 and ARM11 bootroms begins execution
- 2 Seconds - ARM9 bootrom attempts to initialize the NAND. If the NAND is successfully initialized, the ARM9 bootrom loads the firmware stored in the NAND FIRM partition which handles booting the rest of the system(if verification for NAND firm0 fails, the ARM9 bootrom will attempt to use firm1 instead). The ARM11 kernel loaded from FIRM then launches the CXI ARM11 system modules loaded from FIRM(Note that the ARM11 kernel does not handle any encryption/RSA verification, this is handled by the ARM9). If the NAND cannot be initialized, (i.e. the NAND chip is not connected/damaged etc) a blue error screen similar to the screen above appears.
- 3 Seconds - all essential hardware is active. The PM module launches NS, NS then launches ErrDisp and the current active menu via PM module. For retail units this menu is usually the Home Menu. NS will auto-boot titles instead of launching ErrDisp/Home Menu, if auto-booting is needed. Note that PM module first launches the module dependencies when launching a process, prior to actually launching the process.
- 4 Seconds - the LCD screens are initialized
- 7 Seconds - Home Menu is fully initialized/loaded