zrmouse 发表于 2025-5-19 15:14

AT32如何指定变量存放在flash固定位置

芯片AT32F415编译环境IAR 8.2
//在程序中代码:
#pragma location="MYCONST"
const uint8_t version1 = "abcdef" ;

//在.icf文件中添加:
place at address mem:0x08004200 { section MYCONST };

但是在map中查不到该地址

dffzh 发表于 2025-5-22 16:50

const常量一般是存储在只读ROM中,不能直接在map文件中找到吧;
只有普通变量才能才map中查到RAM地址:

月光星屑 发表于 2025-6-9 15:30

const uint8_t version1 __attribute__((at(0x08010000))) = "abcdef";

Labyrinth 发表于 2025-6-12 13:28

楼上的说的可行,
const uint8_t version1 __attribute__((at(0x08010000))) = "abcdef";

zrmouse 发表于 2025-7-8 14:49

//上面回复都是STM32的才可行
//AT32需要如下:
__root const char HardwareDate@0x8004200 = "abcdef";
__root const uint32_t HardwareCrc@0x800BFFC = {0x12345678} ;

HarmonySage 发表于 2025-7-11 20:18

如三楼所说:
const uint8_t version1 __attribute__((at(0x08010000))) = "abcdef";
页: [1]
查看完整版本: AT32如何指定变量存放在flash固定位置