DSP2812调试:全局变量初始化不是指定的赋值结果
2019-07-13 10:08发布
生成海报
调试DSP2812的时候,定义了一些全局变量,刚刚下载进去,调试观察发现这些变量并非为初始化的值?
why??
难道是内存不够,溢出了??
不对的变量定义成常数的指针
正在解决...
之前定义了一个char *str = "women";在调试窗口看到str的内容,发现为乱码,一直都搞不懂,怀疑是cmd的原因,果断修改了cmd,.const段应该给其分配存储空间
str 就是分配到.const中
因此
正确的cmd文件中.const应该是这样
.const : > FLASHB PAGE = 0
.econst : > FLASHB PAGE = 0
而我之前的cmd这段是这样的,还会报警,之前没注意
/* .econst: load = FLASHB PAGE 0, run = RAML0L1 PAGE 1*/
{
/* Get Run Address */
/* __econst_run = .;*/
/* Mark Load Address*/
/* *(.ec_mark)*/
/* Allocate .const */
/* *(.econst)*/
/* Compute Length */
/* __econst_length = .-__econst_run;*/
}
这个不知道是从哪里搞的cmd模版,忘记了,这么写不对哈,大家注意
最后上张图,正确的时候,全局变量是可以观察到的,str所指向的内容为常量区,需要用.const分配
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮