Bootloader: Difference between revisions
No edit summary |
→Boot9 startup: name of register |
||
Line 105: | Line 105: | ||
0xffff0000 jumps to 0xffff8000. 0xffff8000 is crt0: | 0xffff0000 jumps to 0xffff8000. 0xffff8000 is crt0: | ||
* Very first thing this does is clear u8 register 0x10000002 | * Very first thing this does is clear u8 register 0x10000002 ([[CONFIG_Registers#CFG_RST11|CFG_RST11]]) bit 0 to zero. | ||
* Then sp is initialized for each cpumode, IRQs/FIQs are disabled during the first mode-switch. | * Then sp is initialized for each cpumode, IRQs/FIQs are disabled during the first mode-switch. | ||
* Order of mode-switches + sp initialization: svc-mode = 0xfff04000, irq-mode = 0xfff03f00, system-mode = 0xfff03b00. Hence, the rest of the code following this runs in system-mode. | * Order of mode-switches + sp initialization: svc-mode = 0xfff04000, irq-mode = 0xfff03f00, system-mode = 0xfff03b00. Hence, the rest of the code following this runs in system-mode. |