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