SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
Figure 32-5 shows the 48-KiB ROM memory map.
Exceptions are redirected to ROM exception vectors (see Table 32-11). The reset exception is redirected to the public ROM code startup. Other exceptions are redirected to RAM handlers by loading appropriate addresses to the PC register.
Address | Exception | Content |
---|---|---|
0x38000 | Reset | Branch to the ROM code startup |
0x38004 | Undefined | PC = 0x4037 F004 |
0x38008 | Software interrupt (SWI) | PC = 0x4037 F008 |
0x3800C | Prefetch abort | PC = 0x4037 F00C |
0x38010 | Data abort | PC = 0x4037 F010 |
0x38014 | Unused | PC = 0x4037 F014 |
0x38018 | IRQ | PC = 0x4037 F018 |
0x3801C | FIQ | PC = 0x4037 F01C |
The ROM code CRC is calculated as 32-bit CRC code (CRC-32-IEEE 802.3) for the address range 0x38000–0x43FFF. The 4-byte CRC code is stored at location 0x38020.
Dead loops are branch instructions coded in Arm mode. They have multiple purposes (see Table 32-12).
Address | Purpose |
---|---|
0x38080 | Undefined exception default handler |
0x38084 | SWI exception default handler |
0x38088 | Prefetch abort exception default handler |
0x3808C | Data abort exception default handler |
0x38090 | Unused exception default handler |
0x38094 | IRQ exception default handler |
0x38098 | FIQ exception default handler |
This space is used to hold code and constant data.
The purpose of this table is to allow external code access to system maintenance, utility, and device driver functions which are used for ensuring the ROM code boot functionality. These functions can be reused at run time by calling a fixed address hardcoded in this table.
The ROM code version consists of two BCD numbers: major and minor. It can be used to identify the ROM code release version burned in a given IC. The ROM code version is a 32-bit hexadecimal value at address 0x43FFC.
The ROM code version numbers are: