您好:
在 SDK 文档中...
AM263Px MCU+ SDK:了解引导流程和引导加载程序
...it 提到...
“目前、区域 0x70002000 至 0x70040000 由 SBL 代码、数据、栈等使用。“
因此、我在应用的存储器映射中保留了此区域。
但是、SBL 示例的 (sbl_ospi_morple_elf) 存储器区域占用 0x70040000 以上的存储器:
name origin length used unused attr fill---------------------- -------- --------- -------- -------- ---- -------- R5F_VECS 00000000 00000100 00000040 000000c0 RWIX R5F_TCMA 00000100 00007f00 00000000 00007f00 RWIX R5F_TCMB0 00080000 00008000 00000000 00008000 RWIX MAILBOX_HSM 44000000 000003ce 00000340 0000008e RWIX MAILBOX_R5F 44000400 000003ce 00000340 0000008e RWIX FLASH_BOOTINFO_SECTOR 60080000 00001000 00000000 00001000 RWIX MSRAM_VECS 70002000 00000100 00000040 000000c0 RWIX MSRAM_0 70002100 0003ff00 00028a80 00017480 RWIX MSRAM_HSMRT 70042000 00040000 0000a6e4 0003591c RWIX BOOT_SECTOR_INFO 80080000 00001000 00000000 00001000 RWIX
结束地址 OS MSRST_0 为 0x70041FFF、这会占用应用程序空间。
幸运的是、实际占用结束地址为 0x7002AB80、因此在实践中、SBL 至少现在能够将应用程序代码复制到 0x70040000、而无需自行拍摄...
您能否在示例中将 MSSRAM_0 的大小更改为 0x3DF00、以便如果 SBL 大小增加到超过此大小、您将知道这将影响应用区域。
HSM 固件映像还会占用从 0x70042000 开始的应用程序存储器。 正确吗?当 SBL 开始将应用程序复制到 RAM 时、不再需要 HSM 固件(因此可以覆盖该固件)?
谢谢你。