背景描述: 调试DSP程序时,出现报错如下
触发exit.c里的_CODE_ACCESS void abort(void),一开始以为是栈空间不够,调整栈空间大小后,还是同样的情况。经过一步一步排查后,发现在函数中创建的局部变量数组有点大,覆盖了栈中部分地址,引起了报错。
解决办法: 将数组开辟在L2的固定位置上。
参考博客
TI DSP 局部变量数组大导致程序跑飞 TMS320C6748 CCS
DSP学习-----内存管理的一点经验(转)
解决:Unhandled exception in XX.exe: 0xc00000FD; Stack Overflow
为什么编写DSP程序需要用 .cmd 文件来分配内存,而编写PC机的程序不用?