用的是dsp28335,准备将代码烧写到flash中,烧写过程中出现了一点问题
在主程序中,定义如下的类似数组:
#pragma DATA_SECTION(RFFTinoutphaseBuff,"RFFTdata1"); //Buffer alignment for the input array,
float RFFTinoutphaseBuff[RFFT_SIZE]; //RFFT_f32u(optional), RFFT_f32(required)
并在cmd文件中定义该数组的位置如下:
FLASHB1 : origin = 0x330000, length = 0x000200 //将flashb划分为多个小区间,取其一段
RFFTdata1 : > FLASHB1, PAGE = 1, ALIGN(512)
问题:在代码运行时发现该数组的值并不随着计算改变,这是什么原因?是我的cmd有问题吗?能不能解答一下疑惑?
Eric Ma:
你的数据不会变那是肯定的呀,你都把它定义到flash上了。
你要把它定义到RAM的地址,才能够变。
ERIC
用的是dsp28335,准备将代码烧写到flash中,烧写过程中出现了一点问题
在主程序中,定义如下的类似数组:
#pragma DATA_SECTION(RFFTinoutphaseBuff,"RFFTdata1"); //Buffer alignment for the input array,
float RFFTinoutphaseBuff[RFFT_SIZE]; //RFFT_f32u(optional), RFFT_f32(required)
并在cmd文件中定义该数组的位置如下:
FLASHB1 : origin = 0x330000, length = 0x000200 //将flashb划分为多个小区间,取其一段
RFFTdata1 : > FLASHB1, PAGE = 1, ALIGN(512)
问题:在代码运行时发现该数组的值并不随着计算改变,这是什么原因?是我的cmd有问题吗?能不能解答一下疑惑?
yinfei feng:
回复 Eric Ma:
谢谢解答,我后来在实验中也发现了这个问题,但是我想实现数据的掉电保存,如何才能将程序运行的数据保存在flash中呢?