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.

RE: TMS320F280041C: CAN 总线 IAP 升级程序配置

Other Parts Discussed in Thread: TMS320F280041C, C2000WARE

您好,我使用的TMS320F280041C进行IAP升级,但是41C只有一个bank0,可以在bank0中对部分的sector进行擦除吗?还是说只能在ram中对bank0进行擦除

  • 可以擦除部分扇区,但是只能在ram中运行擦除程序,也就是flashAPI函数。

  • 不可以在flash中运行吗,如果在ram中运行的话,我是不是就没办法进行app更新了  因为ram会断电失效

  • 我是想做一个通过can进行在线的IAP升级,但是我的程序是下在flash里面进行运行的(因为我需要断电重启之后程序仍然继续工作),所以我现在想做到保留我的boot部分,删除部分扇区,来进行app的在线升级

  • 可能我没说全,所以你误解我的意思了。flashAPI函数是跟主程序一起保存在flash中的,需要使用的时候就将程序从flash搬移到ram中运行,因为flashAPI函数必须运行在ram中。

    详细的你可以参考一下flashAPI的说明文档:C:\ti\c2000\C2000Ware_3_04_00_00\libraries\flash_api\f28004x

    另外,TI也提供了一个基于SCI的在线升级例程,你可以参考一下:C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f28004x\examples\flash

  • 哦哦哦,明白了。感谢

  • #pragma CODE_SECTION(Example_CallFlashAPI, ramFuncSection);

    我看到例程里面有这么一句话,是不是就是跳转到ram中运行Example_CallFlashAPI这个函数

  • 这是定义了一个ram段,用于把Example_CallFlashAPI函数放入这个段中。真正执行搬移的是memcpy函数。

  •  请问这种问题怎么解决

  • 你的cmd文件有做过更改吗?还是说用的旧工程的cmd?

    可以尝试换一个cmd文件,官方有提供基于flashAPI的:C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f28004x\common\cmd