ZHCUCY3 April 2025 TMS320F2800132 , TMS320F2800133 , TMS320F2800135 , TMS320F2800137 , TMS320F2800152-Q1 , TMS320F2800153-Q1 , TMS320F2800154-Q1 , TMS320F2800155 , TMS320F2800155-Q1 , TMS320F2800156-Q1 , TMS320F2800157 , TMS320F2800157-Q1 , TMS320F280021 , TMS320F280023 , TMS320F280023C , TMS320F280025 , TMS320F280025C , TMS320F280034 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037C , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039C , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041C , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049C , TMS320F28076 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377S , TMS320F28378D , TMS320F28378S , TMS320F28379D , TMS320F28379S , TMS320F28384D , TMS320F28384S , TMS320F28386D , TMS320F28386S , TMS320F28388D , TMS320F28388S , TMS320F28P550SG , TMS320F28P550SJ , TMS320F28P559SG-Q1 , TMS320F28P559SJ-Q1 , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
所有 C2000 操作中的闪存操作均由 CPU 执行。算法加载到 RAM 中并由 CPU 执行以执行任何闪存操作。例如,使用 CCS 对 C2000 器件的闪存进行擦除或编程,需要通过 JTAG 将闪存算法加载到 RAM 中并让 CPU 执行它们。
所有闪存操作均使用闪存应用程序编程接口 (API) 执行;器件特定的库和参考指南位于 C2000Ware [3]中的“libraries/flash_api”位置。需要在运行时对闪存进行擦除或编程的应用程序可以链接到闪存 API 库来执行闪存编程。
然而,不建议调用闪存 API 的应用程序从同一个闪存组中执行,因为在执行代码的同时对闪存进行擦除或编辑会导致竞态条件和异常行为。因此,闪存 API 需要在 RAM 或另一个闪存组中执行(如果同一内核存在额外组)。
通过将闪存 API 分配到连接器命令文件中的“.ti.ramfunc”部分,指定闪存加载地址和 RAM 运行地址,然后在执行之前将函数复制到主函数中的 RAM,可以实现这。有关在 C2000 器件上进行闪存编程的完整详细信息,请参阅 [4] 和 [5]。