BootROM is a hard-coded boot program written in the address offset of 0x2A00_0000 on JH-7110. The program is basically used to load and execute the Secondary Program Loader (SPL).

Figure 1. SD/eMMC Boot Address Partitions

BootROM enables developers to insert programs from different media accesses, including QSPI flash and UART, by reading SPL to SRAM (0x8000000).

By using the bit of AON_RGPIO[1,0] (0x1702002c), developers can confirm their boot mode.

The following table explains the procedure of how BootROM loads resources.
Table 1. How BootROM loads resources
RGPIO1 RGPIO0 Boot Source Comments
0x0 0x0 Quad SPI NOR flash memory Read SPL from Sector 0.
0x1 0x1 UART0 When the system detects the boot-mode of UART has been chosen, it will enter Xmodem Receiver Mode. Users can then import recovery programs in Xmodem mode using serial cable connections. Once the files are confirmed with transmission complete BootROM will run the recovery programs automatically.
Note: Besides in the BootROM, you can also change the backup address in the spl_tool.