在做一个项目时,将程序下载到FLASH时出现错误,提示如下
警告文本信息:
"
Warning: This program contains initialized RAM data.
It may run successfully under Code Composer Studio
but not as a standalone system because of this. If
your Flash program requires initialized data in RAM,
you will need to write Flash code to initialize RAM memory.
Erase/Program/Verify Operation succeeded
**** End Erase/Program/Verify Operation. ***
首先我查了CMD文件, 没问题,排查了好久, 最后查到只要将_IQ19toF这句注释掉就能下载无提示并且拔掉仿真器后能运行,如果不注释掉,下载就会出现警告提示,拔掉仿真器后重启DSP无法正常运行.
测试语句如下:
tempiq19 = _IQ19(1.9);
iqtoftemp = _IQ19toF(tempiq19);// 注释掉这一句一切正常.IQmath其他函数运行正常,包括IIR滤波,就这一句加进去DSP就无法运行,仿真器连着时能调试运行.
开发环境:WIN7 CCS3.3 DSP2812
Forrest:
这个警告说明楼主有部分程序或数据没有放FLASH中而是放在RAM中,这样芯片断电后没有放在FLASH中的数据就会丢失。楼主请检查一下*.map文件看看哪部分程序放在RAM中,修改CMD文件以便消除这个警告。
另外CCSV3.3不支持WIN7,建议使用CCSV4或CCSV5:
http://processors.wiki.ti.com/index.php/Download_CCS
在做一个项目时,将程序下载到FLASH时出现错误,提示如下
警告文本信息:
"
Warning: This program contains initialized RAM data.
It may run successfully under Code Composer Studio
but not as a standalone system because of this. If
your Flash program requires initialized data in RAM,
you will need to write Flash code to initialize RAM memory.
Erase/Program/Verify Operation succeeded
**** End Erase/Program/Verify Operation. ***
首先我查了CMD文件, 没问题,排查了好久, 最后查到只要将_IQ19toF这句注释掉就能下载无提示并且拔掉仿真器后能运行,如果不注释掉,下载就会出现警告提示,拔掉仿真器后重启DSP无法正常运行.
测试语句如下:
tempiq19 = _IQ19(1.9);
iqtoftemp = _IQ19toF(tempiq19);// 注释掉这一句一切正常.IQmath其他函数运行正常,包括IIR滤波,就这一句加进去DSP就无法运行,仿真器连着时能调试运行.
开发环境:WIN7 CCS3.3 DSP2812
fw yang:
回复 Forrest:
tempiq19 = _IQ19(1.9);iqtoftemp = _IQ19toF(tempiq19);
在程序中就用了这两句,完整的如下:
_iq19 tempiq19 ;
float iqtoftemp ;
tempiq19 = _IQ19(1.9);iqtoftemp = _IQ19toF(tempiq19);//只要注释掉这一句一切正常
这两句程序并不需要初始化数据,并且程序在FLASH中,
你说的意思我也懂,也查了CMD文件,自己看看是没什么问题
在做一个项目时,将程序下载到FLASH时出现错误,提示如下
警告文本信息:
"
Warning: This program contains initialized RAM data.
It may run successfully under Code Composer Studio
but not as a standalone system because of this. If
your Flash program requires initialized data in RAM,
you will need to write Flash code to initialize RAM memory.
Erase/Program/Verify Operation succeeded
**** End Erase/Program/Verify Operation. ***
首先我查了CMD文件, 没问题,排查了好久, 最后查到只要将_IQ19toF这句注释掉就能下载无提示并且拔掉仿真器后能运行,如果不注释掉,下载就会出现警告提示,拔掉仿真器后重启DSP无法正常运行.
测试语句如下:
tempiq19 = _IQ19(1.9);
iqtoftemp = _IQ19toF(tempiq19);// 注释掉这一句一切正常.IQmath其他函数运行正常,包括IIR滤波,就这一句加进去DSP就无法运行,仿真器连着时能调试运行.
开发环境:WIN7 CCS3.3 DSP2812
Jones Chen:
回复 fw yang:
我感觉有可能是Const段的内存分配问题
在做一个项目时,将程序下载到FLASH时出现错误,提示如下
警告文本信息:
"
Warning: This program contains initialized RAM data.
It may run successfully under Code Composer Studio
but not as a standalone system because of this. If
your Flash program requires initialized data in RAM,
you will need to write Flash code to initialize RAM memory.
Erase/Program/Verify Operation succeeded
**** End Erase/Program/Verify Operation. ***
首先我查了CMD文件, 没问题,排查了好久, 最后查到只要将_IQ19toF这句注释掉就能下载无提示并且拔掉仿真器后能运行,如果不注释掉,下载就会出现警告提示,拔掉仿真器后重启DSP无法正常运行.
测试语句如下:
tempiq19 = _IQ19(1.9);
iqtoftemp = _IQ19toF(tempiq19);// 注释掉这一句一切正常.IQmath其他函数运行正常,包括IIR滤波,就这一句加进去DSP就无法运行,仿真器连着时能调试运行.
开发环境:WIN7 CCS3.3 DSP2812
fw yang:
回复 Jones Chen:
.econst : > FLASHA PAGE = 0 .switch : > FLASHA PAGE = 0
FLASHA : origin = 0x3F6000, length = 0x001F80
当时我也怀疑这个,所以一开始就检查了,结果当然是没问题的.后来想想,这个没必要检测,因为程序中有好多是用到CONST段的,不止这里,其他地方都没出现问题,唯独这里
在做一个项目时,将程序下载到FLASH时出现错误,提示如下
警告文本信息:
"
Warning: This program contains initialized RAM data.
It may run successfully under Code Composer Studio
but not as a standalone system because of this. If
your Flash program requires initialized data in RAM,
you will need to write Flash code to initialize RAM memory.
Erase/Program/Verify Operation succeeded
**** End Erase/Program/Verify Operation. ***
首先我查了CMD文件, 没问题,排查了好久, 最后查到只要将_IQ19toF这句注释掉就能下载无提示并且拔掉仿真器后能运行,如果不注释掉,下载就会出现警告提示,拔掉仿真器后重启DSP无法正常运行.
测试语句如下:
tempiq19 = _IQ19(1.9);
iqtoftemp = _IQ19toF(tempiq19);// 注释掉这一句一切正常.IQmath其他函数运行正常,包括IIR滤波,就这一句加进去DSP就无法运行,仿真器连着时能调试运行.
开发环境:WIN7 CCS3.3 DSP2812
Jones Chen:
回复 fw yang:
CONST段呢? 楼主给我的是ECONST段,所以ECONST应该不是问题,有可能CONST没有放在低64K的DATA区域中呢?
CONST段的内存映射要求如下:
.const Global and static const variables that are explicitly initialized and string literals
Low 64K data
.econst Far constant variables
Anywhere in data
在做一个项目时,将程序下载到FLASH时出现错误,提示如下
警告文本信息:
"
Warning: This program contains initialized RAM data.
It may run successfully under Code Composer Studio
but not as a standalone system because of this. If
your Flash program requires initialized data in RAM,
you will need to write Flash code to initialize RAM memory.
Erase/Program/Verify Operation succeeded
**** End Erase/Program/Verify Operation. ***
首先我查了CMD文件, 没问题,排查了好久, 最后查到只要将_IQ19toF这句注释掉就能下载无提示并且拔掉仿真器后能运行,如果不注释掉,下载就会出现警告提示,拔掉仿真器后重启DSP无法正常运行.
测试语句如下:
tempiq19 = _IQ19(1.9);
iqtoftemp = _IQ19toF(tempiq19);// 注释掉这一句一切正常.IQmath其他函数运行正常,包括IIR滤波,就这一句加进去DSP就无法运行,仿真器连着时能调试运行.
开发环境:WIN7 CCS3.3 DSP2812
fw yang:
回复 Jones Chen:
我目前是大内存模式,使用的是ECONST段,而CONST段并没有写,如果CONST段或者ECONST段出现错误 ,那么其他那么多程序将全部出错, 全局变量初始化还有很多.这是一个头疼的问题,我估计是我哪里出了 问题,而自己找不到
我还有一个疑问:Low 64K data, 低64K并不是FLASH, 将CONST段设置在低64K,不会丢失数据么?
在做一个项目时,将程序下载到FLASH时出现错误,提示如下
警告文本信息:
"
Warning: This program contains initialized RAM data.
It may run successfully under Code Composer Studio
but not as a standalone system because of this. If
your Flash program requires initialized data in RAM,
you will need to write Flash code to initialize RAM memory.
Erase/Program/Verify Operation succeeded
**** End Erase/Program/Verify Operation. ***
首先我查了CMD文件, 没问题,排查了好久, 最后查到只要将_IQ19toF这句注释掉就能下载无提示并且拔掉仿真器后能运行,如果不注释掉,下载就会出现警告提示,拔掉仿真器后重启DSP无法正常运行.
测试语句如下:
tempiq19 = _IQ19(1.9);
iqtoftemp = _IQ19toF(tempiq19);// 注释掉这一句一切正常.IQmath其他函数运行正常,包括IIR滤波,就这一句加进去DSP就无法运行,仿真器连着时能调试运行.
开发环境:WIN7 CCS3.3 DSP2812
Jones Chen:
回复 fw yang:
对于F2812来说,低64K Data区,在0x10000以下的内存映射区域。
只有M0,M1,L0,L1,都是RAM区。
Const段用来存储的是 初始化的常量,例如 Uint16 a = 100;
100这个数字是存在Const段的,所以不用担心丢失,因为是上电才初始化的。
因此你程序中的1.9那个数据,就是存在Const段来着。
你可以试试定义以下Const,然后放在PAGE=1的一个RAM区,再编译试试。
在做一个项目时,将程序下载到FLASH时出现错误,提示如下
警告文本信息:
"
Warning: This program contains initialized RAM data.
It may run successfully under Code Composer Studio
but not as a standalone system because of this. If
your Flash program requires initialized data in RAM,
you will need to write Flash code to initialize RAM memory.
Erase/Program/Verify Operation succeeded
**** End Erase/Program/Verify Operation. ***
首先我查了CMD文件, 没问题,排查了好久, 最后查到只要将_IQ19toF这句注释掉就能下载无提示并且拔掉仿真器后能运行,如果不注释掉,下载就会出现警告提示,拔掉仿真器后重启DSP无法正常运行.
测试语句如下:
tempiq19 = _IQ19(1.9);
iqtoftemp = _IQ19toF(tempiq19);// 注释掉这一句一切正常.IQmath其他函数运行正常,包括IIR滤波,就这一句加进去DSP就无法运行,仿真器连着时能调试运行.
开发环境:WIN7 CCS3.3 DSP2812
fw yang:
回复 Jones Chen:
试过,如下:
同时也试过将CONST段放入FLASHA中,都不管用
.econst : > FLASHA PAGE = 0 .
switch : > FLASHA PAGE = 0 .
const : > RAMM0 PAGE = 1