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.

[参考译文] TMS320F280049C:将两个不同的代码存储在两个闪存扇区中

Guru**** 2468610 points
Other Parts Discussed in Thread: C2000WARE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1476417/tms320f280049c-store-two-different-codes-in-two-flash-sectors

器件型号:TMS320F280049C
Thread 中讨论的其他器件:C2000WARE

工具与软件:

尊敬的朋友们

我需要将两个不同的代码存储在两个闪存扇区中、并以可变值函数执行。 理念是执行主程序、如果用户通过通信将变量设置为"1"、则跳转到第二个程序并执行其他例程。

我认为这是可能的、但我没有找到很多信息、所有信息都是关于传统 SPI、CAN 和 SCI 引导的。

非常感谢您的赞赏

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将在 C2000Ware 中分享一个旧示例、此处 为 C:\ti\c2000\C2000Ware_5_04_00_00\device_support\f2803x\examples\c28\flash_F28035、您将看到的用法  

    #pragma CODE_SECTION (epwm1_timer_isr"ramfuncs");
    现在、这与您的需要略有不同、此示例展示了如何将一个代码段加载到闪存中、但随后从 RAM 运行它。
     
    在本例中、您只需将不同的代码部分分配到闪存的不同区域。  此处也可以使用 CODE_SECTION pragma、在您的链接器(.cmd)文件中加载/运行地址将相同。
     
    如果这有帮助、请告诉我。
     
    此致!
    Matthew
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Matthew

    非常感谢您的参与。 我将介绍我的应用、以便更快地解决此问题、并知道是否可能。

    我的想法是使用串行端口 SCIA 和 flashAPI 开发软件闪存器/升级程序。

    目标是以2个闪 存扇区/秒的速度保存(不可擦除)运行 DSP、运行串行端口并使用 flashAPI 开发闪存程序(它将对闪存扇区执行 Blanck、检查并根据链接器文件进行写入)、如果此过程顺利完成、请重新启动系统并从运行新应用程序开始。 这是可行的吗?

    哪些是步骤?

    提前感谢


    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Juan、
    感谢您的澄清、我认为这份应用报告将在这里有所帮助: https://software-dl.ti.com/C2000/docs/software_guide/c2000ware/lfu.html

    此致!
    Matthew