This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

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

Other Parts Discussed in Thread: TMS320F28379D, CONTROLSUITE

您好, 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无反应。

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