另一个引导加载程序和应用程序问题....如何在引导加载程序和应用程序之间共享数据。
我正在使用 S32DS 构建我的应用程序,并尝试按照“unified_bootloader_Demo_V2.0”作为参考。
我的链接器文件看起来像
MEMORY
{
int_flash : ORIGIN = 0x00410400, LENGTH = 0x0007FC00 /* 511K - 176K (sBAF + HSE)*/
int_itcm : ORIGIN = 0x00000000, LENGTH = 0x00010000 /* 32K */
int_dtcm : ORIGIN = 0x20000000, LENGTH = 0x00020000 /* 64K */
int_sram : ORIGIN = 0x20400000, LENGTH = 0x0002DF00 /* 183.9K */
int_sram_fls_rsv : ORIGIN = 0x2042DF00, LENGTH = 0x00000100 /* 0.1K */
int_sram_stack_c0 : ORIGIN = 0x2042E000, LENGTH = 0x00001000 /* 4KB */
int_sram_stack_c1 : ORIGIN = 0x2042F000, LENGTH = 0x00001000 /* 4KB */
int_sram_no_cacheable : ORIGIN = 0x20430000, LENGTH = 0x0000FF00 /* 64KB, needs to include int_results */
int_sram_results : ORIGIN = 0x2043FF00, LENGTH = 0x00000100
int_sram_shareable : ORIGIN = 0x20440000, LENGTH = 0x00004000-0x80 /* 16KB */
ram_rsvd2 : ORIGIN = 0x20443F80, LENGTH = 0 /* End of SRAM */
ram_boot_apploader_share : ORIGIN = 0x20443F80, LENGTH = 0x00000080 /* Reserve 128 bytes */
} 当我尝试在引导加载程序中写入数据时
*(uint32_t*) 0x20443F80 = DataToShare;
它会引发严重错误。
你能告诉我我错过了什么吗?
“unified_bootloader_Demo_V2.0”似乎做了类似的事情,但它写入了 0x20443F80 + 14。