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

TMS320F2809: 怎么判断f2809的程序是运行在flash中还是运行在ram中?

Part Number:TMS320F2809

在使用SCI的过程中,把程序烧录到了flash中,看F2809.cmd中有ramfuncs,在main()中也增加了如下语句:

MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
InitFlash();

但还是在接手过程中,出现了字符丢失的现象,请问怎么判断f2809的程序是运行在flash中还是运行在ram中?由于程序的体量已经不适合直接进行ram调试了,疑似跟程序的运行位置(flash或ram)有关。

Songlin Lu:

哪些函数需要加载到RAM执行,是需要你来声明的。

,

Green Deng:

如上面那位工程师所述,在main()中加入了memcopy函数也不代表某段程序就被搬运至ram运行了,还是要看ramfuncs的具体定义,就是具体搬运了哪个部分的程序段。

判断是否在ram中运行的话,最简单的就是看程序执行时间,比如在搬运的程序中加入一个GPIO延时翻转的程序,看延时时间是否正常。一般ram和flash的延时程序执行时间是有肉眼可见的差距的

,

NickTI:

哦,谢谢

,

Green Deng:

如果认为问题已经解决的话可以点击绿色的“确认答案”按钮,方便其他工程师参考。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F2809: 怎么判断f2809的程序是运行在flash中还是运行在ram中?
分享到: 更多 (0)