IAR msp430 用const定义数组为什么不是保存在ROM中而还是在RAM中
const unsigned char tab[]={1,2,3};msp430f149,iar 5.10版本。我就是这样定义的,在调试时发现tab还是在RAM中而不是在ROM中,这是怎么回事?该怎样定义才能把数据放在flash中 回复【楼主位】fzkqi
-----------------------------------------------------------------------
const unsigned char pic[]@0xf240={}这样就到flash里去了
@0xf240是flash区的地址,注意,这个地址后后续需要用来存储数据的区段要保证是没有被占用的,不然会影响被写入的程序 你再试试 __flash const unsigned char tab[]={1,2,3};看看编译后会怎样 常数放在ROM里面不省资源了
如果非要定义在RAM里面,那你就当定义变量了 全局或者静态变量才会,局部变量不会。 顶 如果是全局变量的话应该会写到flash里面 MARK
页:
[1]