#define EEPROM_ADDRESS ((u32)0x806F000)
uc32 EEPROM_DATA[256] __attribute__((at(EEPROM_ADDRESS),aligned(4)));
分配后查看反汇编fromelf --text -a -c --output=all.s !L
可知改分配方式独立分配了一个段,可以防止程序代码和只读代码在链接时覆盖这段空间
定义了一个0x806F000地址的EEPROM空间,并使用__attribute__进行内存对齐和定位,确保该数据段在链接时不被程序代码覆盖,保护了只读数据的安全。
#define EEPROM_ADDRESS ((u32)0x806F000)
uc32 EEPROM_DATA[256] __attribute__((at(EEPROM_ADDRESS),aligned(4)));
分配后查看反汇编fromelf --text -a -c --output=all.s !L
可知改分配方式独立分配了一个段,可以防止程序代码和只读代码在链接时覆盖这段空间
332
9574
4678

被折叠的 条评论
为什么被折叠?