SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
The partitioning of the on-chip SRAM (L3 OCM RAM) shown in Figure 32-6 is used during the booting process. Tracing areas can also be accessed when calling API functions.
This space is used by the public ROM code to store a downloaded booting image. It can be up to 504 KiB.
The RAM exception vectors provide an easy way to redirect exceptions to the custom handler. Table 32-13 lists the contents of the RAM space reserved for RAM vectors. The first eight addresses are Arm instructions that load the value in the subsequent eight addresses into the PC. These instructions are executed when an exception occurs because they are called from ROM exception vectors. Undefined, SWI, unused, and FIQ exceptions are redirected to a hardcoded dead loop. Prefetch abort, data abort, and IRQ exception are redirected to predefined ROM handlers. Users can redirect an exception to another handler by writing its address to the appropriate location from 0x4037 F024 to 0x4037 F03C, or by overriding the branch (load into PC) instruction between addresses from 0x4037 F004 to 0x4037 F01C.
Address | Exception | Content |
---|---|---|
0x4037 F000 | Reserved | Reserved |
0x4037 F004 | Undefined | PC = [0x4037 F024] |
0x4037 F008 | SWI | PC = [0x4037 F028] |
0x4037 F00C | Prefetch abort | PC = [0x4037 F02C] |
0x4037 F010 | Data abort | PC = [0x4037 F030] |
0x4037 F014 | Unused | PC = [0x4037 F034] |
0x4037 F018 | Interrupt request (IRQ) | PC = [0x4037 F038] |
0x4037 F01C | Fast interrupt request (FIQ) | PC = [0x4037 F03C] |
0x4037 F020 | Reserved | 0x38090 |
0x4037 F024 | Undefined | 0x38080 |
0x4037 F028 | SWI | 0x38084 |
0x4037 F02C | Prefetch abort | Address of default prefetch abort handler(1) |
0x4037 F030 | Data abort | Address of default data abort handler (1) |
0x4037 F034 | Unused | 0x38090 |
0x4037 F038 | IRQ | Address of default IRQ handler |
0x4037 F03C | FIQ | 0x38098 |
This area contains trace vectors reflecting the execution path of the ROM code. Table 32-14 describes the public ROM code tracing data. For more information about ROM code tracing, see Section 32.3.9, Tracing.
Address | Size | Description |
---|---|---|
0x4037 F040 | 32 bits | Current tracing vector, word 1 |
0x4037 F044 | 32 bits | Current tracing vector, word 2 |
0x4037 F048 | 32 bits | Current tracing vector, word 3 |
0x4037 F04C | 32 bits | Current tracing vector, word 4 |
0x4037 F050 | 32 bits | Cold reset run tracing vector, word 1 |
0x4037 F054 | 32 bits | Cold reset run tracing vector, word 2 |
0x4037 F058 | 32 bits | Cold reset run tracing vector, word 3 |
0x4037 F05C | 32 bits | Cold reset run tracing vector, word 4 |
0x4037 F060 | 32 bits | Current copy of the PRM_RSTST register (reset reasons) |