TI中文支持网
TI专业的中文技术问题搜集分享网站

请问存在flash中的数据如何初始化?

我想在2812的flash里存比较大的数组,程序运行时查询数组里的值。于是定义了.tired类型,存储在FLASHB中,map里显示FLASHB中确实被占用。

——-cmd指令—————————– 

 .tired       : > FLASHB      PAGE = 1

———–主函数开头方式1——————-

#pragma DATA_SECTION(tiredata1,".tired");

const int tiredata1[1000]={5255,55525};

结果数组的前两个元素可以赋值为整数,但不能赋值为Q格式数。

———–主函数开头方式2——————-

#pragma DATA_SECTION(tiredata1,".tired");

_iq15 tiredata1[1000]={5255.6,55525.6};

结果数组的前两个元素没有赋初值,均为flash擦写后的0XFFFFFFFF

1请问用CCS烧程序时给flash赋值,需不需要在声明的数组前面加const?

2请问声明变量的时候可不可以用Q格式数据?

mangui zhang:

定义变量不存在Q的说法

你存入程序的数组有没有被调用啊  是不是被优化了

我想在2812的flash里存比较大的数组,程序运行时查询数组里的值。于是定义了.tired类型,存储在FLASHB中,map里显示FLASHB中确实被占用。

——-cmd指令—————————– 

 .tired       : > FLASHB      PAGE = 1

———–主函数开头方式1——————-

#pragma DATA_SECTION(tiredata1,".tired");

const int tiredata1[1000]={5255,55525};

结果数组的前两个元素可以赋值为整数,但不能赋值为Q格式数。

———–主函数开头方式2——————-

#pragma DATA_SECTION(tiredata1,".tired");

_iq15 tiredata1[1000]={5255.6,55525.6};

结果数组的前两个元素没有赋初值,均为flash擦写后的0XFFFFFFFF

1请问用CCS烧程序时给flash赋值,需不需要在声明的数组前面加const?

2请问声明变量的时候可不可以用Q格式数据?

user4415751:

回复 mangui zhang:

你好!

1,我在变量定义之前加了violate,现象还是一样

2.如果定义violate const _iq data[2]={0.4,0.6}(data存储在flash中),那么我在expression里看到的是第一个元素赋值为0,第二个元素赋值为1,估计是四舍五入。我有一些浮点数据,想要存在flash里面,一定要自己先把这个数据转换成定点再以unsigned long存进去么?

我想在2812的flash里存比较大的数组,程序运行时查询数组里的值。于是定义了.tired类型,存储在FLASHB中,map里显示FLASHB中确实被占用。

——-cmd指令—————————– 

 .tired       : > FLASHB      PAGE = 1

———–主函数开头方式1——————-

#pragma DATA_SECTION(tiredata1,".tired");

const int tiredata1[1000]={5255,55525};

结果数组的前两个元素可以赋值为整数,但不能赋值为Q格式数。

———–主函数开头方式2——————-

#pragma DATA_SECTION(tiredata1,".tired");

_iq15 tiredata1[1000]={5255.6,55525.6};

结果数组的前两个元素没有赋初值,均为flash擦写后的0XFFFFFFFF

1请问用CCS烧程序时给flash赋值,需不需要在声明的数组前面加const?

2请问声明变量的时候可不可以用Q格式数据?

Young Hu:

回复 user4415751:

要加强制格式转换。

violate const _iq data[2]={_IQ(0.4),_IQ(0.6)}

赞(0)
未经允许不得转载:TI中文支持网 » 请问存在flash中的数据如何初始化?
分享到: 更多 (0)