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
在无法可靠地使用 JTAG 调试探针对目标器件进行编程的情况下,通常需要对嵌入式处理器进行编程。在这些情况下,工程师需要依靠利用 USB(通用串行总线)或控制器局域网灵活数据速率 (CAN-FD) 等外设的编程方法。通过在引导 ROM 中添加几个引导加载实用程序以将固件加载到片上 RAM 中,C2000™ 器件可在这方面提供帮助。这些实用程序很有用,但实际上,最初理解和调试它们时会带来一些困惑。本文档介绍一些基本引导加载配置,并说明如何利用最常见的引导模式将应用程序代码加载到片上闪存中。
C2000™, LaunchPad™, Code Composer Studio™, and BoosterPack™are TMs ofTI corporate name.
Microsoft Visual Studio®is a reg TM ofMicrosoft Corporation.
Other TMs
随着应用越来越复杂,错误合并、特性添加和嵌入式固件修改功能变得日益重要,尤其是对于在现场维持器件安全与安全完整性而言。C2000 器件通过在引导 ROM(出厂编程的只读存储器)中提供简单的加载实用程序来实现固件更新。
ROM 加载程序通常称为引导加载程序,它驻留在目标器件的引导 ROM 中并允许通过软件从外部主机加载应用程序代码。引导加载程序是 JTAG 调试探针的可靠替代方案,后者需要可直接访问目标器件的昂贵专用硬件。
尽管取决于器件,但用户可以选择各种外设引导加载程序作为将固件加载到目标器件中的介质,例如:
每个 C2000 器件都有一个默认引导模式的子集可供选择。但是,如果用户需要访问默认引导表中未提供的引导模式,或者需要灵活地使用不同的 GPIO 分配,则必须配置一次性可编程 (OTP) 存储器。OTP 寄存器允许选择未在默认引导表中提供的其他引导模式。
如果用户选择使用外设引导加载程序将新代码加载到器件上,则必须事先以特定格式生成应用程序映像,如 节 4.1 中所述。准备好应用程序后,引导 ROM 和主机器件之间的数据传输可以继续在所选外设引导加载程序中进行。然后,引导加载程序将应用程序代码加载到片上 RAM 中并执行。
外设引导加载程序在每个 C2000 器件的 ROM 中都存在并且简单易用,但它仅限于将代码加载到 RAM 中。闪存内核通过提供一种将代码从 RAM 写入闪存的中间方法来弥合 ROM 与闪存之间的差距,如 节 3.2 中所述。
不过,如果引导流出现一个错误,开始使用 C2000 引导加载的用户可能会遇到一些难以调试的缺陷(有关一般设计概述,请参阅 图 1-1)。本报告旨在阐明的引导加载程序设计分为四个阶段: