TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320C6713B: 程序在外部SDRAM中运行出错

Part Number:TMS320C6713B

TI工程师您好:

由于我的代码较多,导致内部RAM运行代码空间不够用,如图,编译出来的.text段和.far段过大,所以我想将这两个段放入外部SDRAM中,

这样可以通过编译,代码也可以运行到main处,但是在初始化的时候遇到循环语句就会卡住,而这些代码在内部RAM中运行是正常的,SDRAM的配置已经测试过了,在加载的.gel文件中已经初始化过SDRAM了。

希望工程师能够指点迷津,谢谢!

Nancy Wang:

看一下map文件内存使用情况是否正常。测试过SDRAM的读写吗?

,

such:

map文件如图所示: ,测试过SDRAM得读写,我烧录得时候还用它做过临时缓存。

,

Nancy Wang:

再测试一下其它程序看看?是否都会出现这样的情况,看看是不是代码的问题。

,

such:

我屏蔽掉了老是出错的相关函数,目前可以运行简单的点灯程序,但是现在有2个问题,1:运行速度特别慢,我发现在外部SDRAM运行比在内部RAM运行速度慢了5倍左右;2:在外部SDRAM运行时,只要调用标准库相关函数,比如printf()、time() 这种函数,程序就会跑飞,请问这是什么原因呢?

,

Nancy Wang:

such 说:1:运行速度特别慢,我发现在外部SDRAM运行比在内部RAM运行速度慢了5倍左右;

sdram是会比片上memory慢很多。

such 说:在外部SDRAM运行时,只要调用标准库相关函数,比如printf()、time() 这种函数,程序就会跑飞,请问这是什么原因呢?

加大堆栈看看。

,

such:

堆栈已经很大了

,

Nancy Wang:

因为一般调用printf就会占用很多堆栈空间,如果出现这种现象就会考虑是不是堆栈不足导致的。

software-dl.ti.com/…/sdto_cgt_tips_for_using_printf.html

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6713B: 程序在外部SDRAM中运行出错
分享到: 更多 (0)