如题,用的是STM8S105,编译器是IAR for STM8 1.31,
DeviceNO(设备号)是一个常量,同种类型的相同,我想把这个常量指定放在FLASH的一个地方,以后可能升级的时候直接用IAP更新这个地址,
看到网上的方法,比如地址0x8800,DeviceNO = 5, 在头文件里写成:
const unsigned char DeviceNO @ 0x8800 = 5; 就能让地址0x8800里的值存为5
我按这样写,编译的时候报错,提示如果指定了地址,就必须在前面加“__no_init”这个扩展关键字,但如果我在前面加上这个扩展关键字的话,编译又报错说不用初始化的量不允许赋值。编辑ICF链接文件定义了地址也不能赋值。
请问版主,这个问题怎么解决? |