专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
DSP
DSP开发中malloc函数应用问题
2019-07-13 09:52
发布
生成海报
站内文章
/
DSP
11940
0
1269
最近在撺掇一个完全基于
TMS
320
C
6748的还原魔方机器人,图像获取和颜 {MOD}识别的问题解决的差不多了以后,就开始把解魔方的算法从
VC
移植到
DSP
上。(注:解魔方算法为
kociemba
算法)
不出意外,的确遇到了问题——在
PC
机上跑算法结果都是秒出,但是
DSP
跑出正确结果需要将近20分钟,而且有时候会卡住。
迷惑的我在算法的几个关键循环处添加了几个printf语句,在
CCS
5中进行Debug观察结果,并且和
VC
结果做对比——是这样:
额。。。的确跑飞了。。。
最后终于找到了这个问题的解决方案。
char* tb = tables[j] = (char*)malloc(sizeof(char)*tl)
;
问题出在malloc函数上面:算法中为提供足够大的搜寻空间,利用malloc函数分配了比较大的char型数组,在
DSP
中,动态内存分配的内存空间是在heap里,如果heap分配的空间太小,分配过程中会产生溢出,最后使算法跑飞。
如果将
CCS
工程中的_DSP.cmd文件中的-heap容量设置大一点,就可以完美运行。
最终结果:
Ta的文章
更多
>>
DSP开发中malloc函数应用问题
0 个评论
热门文章
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮