编译环境IAR 1.3,想把一些常量定位到固定的代码区(比如0x8200),以便程序以后升级
const uint8 mydata = 0xaa; //这毫无疑问,没有问题
const uint8 mydata @0x8200;//这样定义也没有问题
const uint8 mydata @0x8200 = 0xaa;//这样定义就会出现Error[Be025]: variable must be __no_init in order to have a location address
以为是__no_init的问题,修改成如下:
__no_init uint8 mydata @0x8200 = 0xaa;//还是出现Error[Be025]: variable must be __no_init in order to have a location address
似乎不给这个变量赋值就没问题,可这个变量我是需要直接赋值的啊,不知如何处理了,哪位朋友有解决的办法呢?其实我是要在代码区定义一个数组的,变量都不行,数组就更不用说了。尝试修改icf文件,未果。