3.6.1. RISCV SPL

SPL BSS 的配置

CONFIG_SPL_TEXT_BASE=0x103100
CONFIG_SPL_SIZE_LIMIT=0x10000

#define CONFIG_SPL_MAX_SIZE                 (CONFIG_SPL_SIZE_LIMIT)
#define CONFIG_SPL_STACK                    (M4_SRAM_BASE + M4_SRAM_SIZE)

#define CONFIG_SPL_BSS_START_ADDR   (CONFIG_SPL_TEXT_BASE + CONFIG_SPL_MAX_SIZE)
#define CONFIG_SPL_BSS_MAX_SIZE             0x00002000 /* 8 KiB */

即 BSS 从 0x113100 开始,后续还有 SPL STACK 的空间,HEAP 的空间。

对于 spl.aic 文件,在 spl.bin 的后面还存放着其他的资源数据,如果该数据需要在 SPL 阶段使用, 则需要注意,在 SPL 运行时,资源数据的区域与 BSS 区域不能重合,不然会有数据错误。