- 函数中对于数组的初始化不起作用。在第一次正常运行,切换其他逻辑后再切换回来就不起作用了。

关闭优化
-
volatile 和关闭优化均( 右键项目名称->Show Build Settings)不起作用:
-
注:最好不要开启优化,这可能导致各种奇怪的问题。
增加栈空间
int16_t test_array[30] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
- 按照【电路笔记 TMS320F28335DSP】闪存空间 CMD 工程配置 + error #10099-D: program will not fit into available memory.增加.stack空间也不起作用
改变数据位置
static int16_t test_array[30] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
- 存储在 Flash(节省 RAM)
int16_t test_array[30];
generate_test_array(test_array);
- 初始化对应的代码为:
MVK.S2 0x8900, B4 ;
- B4为固定数值存储的地址,后续代码中一个大的0数组导致其值变为0。
1365

被折叠的 条评论
为什么被折叠?



