1。? 参考文章??如何使用sct文件、icf文件来定位不同的内存存储变量(cortex-m3平台)keil+iar - wdliming - 博客园好久没写博客了,快到国庆了,经历了一些项目和坑,还是要保持记录的好习惯,好记性不如烂笔头嘛。 目前使用了cortex-m3内核的两款单片机:stm32f1和lpc1768的,虽说是cm3内核,但是两个https://www.cnblogs.com/CodeWorkerLiMing/p/13755436.html
2.??
?从0x20008000后的0x1000 4K字节不进行初始化。
?老的用法: unsigned char shoe_data[10]? __attribute__((at(0x20008000 )));
? 新的用法:unsigned char shoe_data[10]? __attribute__((section(".ARM.__at_0x20008100")));
3. 推荐做法
??
?去掉上面的√,使用分散加载表。点击 Edit进入。修改如下,并保存。
LR_IROM1 0x08000000 0x00020000 ?{ ? ?; load region size_region ? ER_IROM1 0x08000000 0x00020000 ?{ ?; load address = execution address ? ?*.o (RESET, +First) ? ?*(InRoot$$Sections) ? ?.ANY (+RO) ? ?.ANY (+XO) ? } ? RW_IRAM1 0x20000000 0x00008000 ?{ ?; RW data ? ?.ANY (+RW +ZI) ? } ? RW_IRAM2 0x20008000 ?0x00001000 ?{ ? ?*(.RAM_D1) ? } }
使用:unsigned char shoe_data[10]? __attribute__((section(".RAM_D1")));
?注意去掉上面两个勾选。
|