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

tms320f28379d从flash启动时tformat lib调用失败

您好, ti 专家:

我用的是tms320f28379d的mcu,使用ti的position manager例子库(C:\ti\controlSUITE\libs\app_libs\position_manager\v01_02_00_00\tformat),调用tformat lib去读取encoder的值。

由于ti的例子是从RAM启动,我把它改成从flash启动,并且,增加CAN通讯,去report encoder的值,同时增加led去定时显示。

我的问题是:当用JTAG烧写从RAM启动时,CAN能正确发送encoder的数值;但是,当断电重启动,并且拔掉JTAG,程序从flash启动,led显示正常,CAN通讯也正常,能收到数据,但收的encoder数据不对且全部为0,进一步调试发现,程序调用tformat libray中的PM_tformat_startOperation()无反应, tformatData.dataReady始终为0。

部分程序及测试结果如下:

figure 1: code to read encoder by calling t-format library

figure 2: code to send encoder value by CAN

figure 3: 正确 的CAN 结果when run from JTAGE,可以看出,encoder的读书有数值,turns为1,并且flag有0有1,说明变量tformatData.dataReady有0有1,进一步说明调用tformat lib成功

figure4:  不正确的CAN 结果when booting from flash,encoder读数和turns一直为0,并且flag一直为1,说明变量tformatData.dataReady始终为0,进一步说,调用tformat lib无反应。

请问,有谁可以给我建议吗?谢谢

Green Deng:

你好,可能跟memcpy函数有关,你的程序中SysCtrl.c文件里面:
#ifdef _FLASH
// Copy time critical code and Flash setup code to RAM
// This includes the following functions:InitFlash();
// TheRamfuncsLoadStart, RamfuncsLoadSize, and RamfuncsRunStart
// symbols are created by the linker. Refer to the device .cmd file.memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);

// Call Flash Initialization to setup flash waitstates
// This function must reside in RAMInitFlash();
#endif
这段程序编译的时候有启用吗?

Feng CHEN:

回复 Green Deng:

应该有,我有预定义_FLASH,并且我也有单步执行看过,这段程序有进入。
再着,当从flash启动时,can和led都能正常工作。

Feng CHEN:

回复 Green Deng:

PM_tformat_systemtest.zip

附件是我的例子程序,如果方便,可以帮忙看一下。

Feng CHEN:

回复 Green Deng:

你们那边有从flash启动访问tformat的例程吗?

Feng CHEN:

回复 Green Deng:

请问下,有什么发现没有?

K Mr:

回复 Feng CHEN:

从你的程序来看,应该是你的memcpy函数没有启用

Feng CHEN:

回复 K Mr:

下图是我单步执行结果,memcpy函数确实有进入,那这样的话,如何解决我的问题呢?请指示。谢谢

Feng CHEN:

回复 K Mr:

请问下一步如何debug?

Feng CHEN:

回复 Feng CHEN:

有谁可以帮我 ,给点建议我?感谢

Feng CHEN:

回复 Feng CHEN:

我们的设备等着出机,客户一直在追,目前因为这个tformat无法从flash工作,导致产品没办法交货,请问,ti专家能否给予我指导,帮我解决这个问题?很急

赞(0)
未经允许不得转载:TI中文支持网 » tms320f28379d从flash启动时tformat lib调用失败
分享到: 更多 (0)