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

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2配置引导模式
    1. 2.1 独立引导
      1. 2.1.1 引导模式选择引脚 (BMSP)
      2. 2.1.2 引导定义表 (BOOTDEF)
      3. 2.1.3 引导 ROM OTP 配置寄存器
      4. 2.1.4 CPU2 启动流程
    2. 2.2 仿真引导
  6. 3对闪存编程
    1. 3.1 闪存 API
    2. 3.2 闪存内核
  7. 4将代码引导加载到闪存
    1. 4.1 C2000 Hex Utility
    2. 4.2 常见引导模式
      1. 4.2.1 引导至闪存
      2. 4.2.2 SCI 引导
      3. 4.2.3 CAN 引导
      4. 4.2.4 CAN-FD 引导
      5. 4.2.5 USB 引导
  8. 5常见问题解答
    1. 5.1 通过基于软件的实现施选择 BMSP GPIO
    2. 5.2 从闪存而非 RAM 运行闪存内核
    3. 5.3 在调试引导 ROM 时没有定义符号
    4. 5.4 使用片上闪存工具向 OTP 中写入值
    5. 5.5 使用闪存 API 插件向 OTP 中写入值
  9. 6总结
  10. 7参考资料

引导至闪存

注: 尽管这些步骤在 F2800157 LaunchPad 上执行过,但一般流程可以轻松应用于支持自定义 BMSP 和引导定义表的任何 C2000 器件(表 2-3 中提供了所有器件)。有关要引导加载的器件的详细信息,请参阅器件特定 TRM。

如果用户需要引导至已在片上闪存中编程的代码,则用户可以使用默认 BMSP 引导至闪存入口点地址 0x0008 0000,或者配置 BOOTPIN-CONFIG 和 BOOTDEF 寄存器以引导至特定的闪存地址。

注: 一些器件上有一个安全闪存引导选项,在代码实际执行之前,可以使用该选项从闪存中执行应用程序引导,这样可提供引导代码身份验证这一额外安全层。有关启用安全引导的一般程序,请参阅 C2000 器件上的安全引导 [13]。用户可以验证器件特定 TRM 中安全闪存引导功能的可用性。

有关用于配置引导至闪存的默认 BMSP,请参阅 TMS320F280015x 实时微控制器数据表。如果用户将 GPIO24 和 GPIO32 均设置为 1,引导 ROM 将转移至闪存入口地址 0x0008 0000,无需配置器件寄存器。

但是,如果用户需要引导至另外的闪存扇区,则需要为特定的引导选项配置 BOOTCONFIG 和 BOOTDEF 寄存器。请参阅数据表中的 GPIO 分配一节,确定要配置哪个引导选项以到达目标闪存入口点。这些步骤描述了如何模拟引导至闪存入口点 0x0009 0000。例如,引导选项 0x63。

注: 通过使用连接器命令文件,可以将应用程序加载到不同的闪存位置。有关如何将代码加载到特定闪存地址的详细信息,请参阅编译器工具用户手册中对于连接器命令文件 [12]的说明。
  1. 打开 CCS 的工作区。
  2. 选择 View > Target Configurations。

     在 CCS 中打开“Target Configuration”菜单

    图 4-2 在 CCS 中打开“Target Configuration”菜单
  3. 用户可以将该器件的工程导入 CCS 并使用该工程连接器件,或将目标配置文件 (.ccxml) 从 C2000Ware (C2000Ware_x_xx_xx_xx > device_support > DEVICE_FAMILY > common > targetConfigs) 复制到用户定义的目标配置。
    1. 找到器件目标配置,然后右键单击手动启动。

       启动 CCS 中的目标配置

      图 4-3 启动 CCS 中的目标配置
  4. CCS 启动调试窗口时,选择目标 CPU 并连接到目标。

     连接到 CCS 中的目标核心

    图 4-4 连接到 CCS 中的目标核心
  5. 如果弹出一个窗口,表明引导 ROM 中存在中断且没有提供调试信息,或者中断处于程序代码之外,则按照节 5.3中的说明调试引导 ROM。
  6. 加载符号后,转到 View > Memory Browser 以打开 Memory Browser。

     导航到 CCS 中的 Memory Browser
    图 4-5 导航到 CCS 中的 Memory Browser
  7. 在“Memory Browser”选项卡中,导航到地址 0xD00。请记住,位置 0xD00 使用有效性密钥 (EMU-BOOTPIN-CONFIG) 指定 BMSP,0xD04-0xD05 指定引导定义 (EMU-BOOTDEF-LOW)。
  8. 目标是配置零引脚引导至闪存地址 0x0009 0000,因此需要禁用所有 BMSP 并且 EMU-BOOTDEF-LOW 需要设置为最低索引中的 0x63。如果引导选项编程为 EMU-BOOTDEF-LOW 中的任何其他条目,则不会选择目标引导模式。
    1. 将 0xD00-0xD01 (EMU-BOOTPIN-CONFIG) 设置为 0x5AFF FFFF。
    2. 将 0xD04 (EMU-BOOTDEF-LOW) 设置为 0x0063。
      注: 零引脚引导意味着器件自动引导至 BOOTDEF 表定义的第一个条目。这是通过禁用所有 BMSP,从而允许器件仅考虑一个引导选项来实现的。

     模拟零引脚引导至闪存 (0x0009 0000)
    图 4-6 模拟零引脚引导至闪存 (0x0009 0000)
  9. 复位 CPU 并执行外部复位 (XRSn)。然后,单击 Resume 以开始引导序列。
  10. 现在,按照引导选项 0x63 的指定,器件在复位时引导至闪存地址 0x0009 0000。