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参考资料

在调试引导 ROM 时没有定义符号

问题: 当我调试引导 ROM 时,ROM 声明引导 ROM 中存在中断且没有提供调试信息,或者中断处于程序代码之外。缺少什么?

回答:用户可以通过将引导 ROM 符号 (.out 文件) 加载到器件中,逐步调试器件引导 ROM。加载符号是一种重要的调试方法。此选项添加生成的工程 .out 文件中提供的符号以用于调试,而不是通过 CCS 将实际的 .out 程序加载到内核中。这也是用户可以使用用于引导 ROM 的此方法或使用内置引导加载程序进行调试并获得增强的可见性的原因。

  1. 打开 CCS 的工作区。
  2. 选择 View > Target Configurations。

     在 CCS 中打开“Target Configuration”菜单

    图 5-6 在 CCS 中打开“Target Configuration”菜单
  3. 用户可以将该器件的工程导入 CCS 并使用该工程连接器件,或将目标配置文件 (.ccxml) 从 C2000Ware (C2000Ware_x_xx_xx_xx > device_support > DEVICE_FAMILY > common > targetConfigs) 复制到此窗口中的用户定义的目标配置 (View > Target Configurations)。无论使用哪种方法,找到器件目标配置,然后右键单击手动启动:

     启动 CCS 中的目标配置

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

     连接到 CCS 中的目标核心

    图 5-8 连接到 CCS 中的目标核心
  5. 此时会弹出一个窗口,声明引导 ROM 中存在中断且没有提供调试信息,或者中断处于程序代码之外。

     没有加载引导 ROM 符号时的 CCS 视图
    图 5-9 没有加载引导 ROM 符号时的 CCS 视图
  6. 导航至工具栏,然后单击按钮以显示 Load Symbols

     在 CCS 中导航至 Load Symbols
    图 5-10 在 CCS 中导航至 Load Symbols
  7. 加载引导 ROM .out 文件。该文件可以在 C200Ware 中找到,位置如下:
    1. C2000Ware_x_xx_xx_xx > libraries > libraries > boot_rom > DEVICE_FAMILY > REV# > rom_sources > CPU# > ccs_files > Release
  8. 如果弹出一个窗口,声明找不到源文件,则用户可以选择 Locate File,并在 C2000Ware 中的以下位置查找:
    1. C2000Ware_x_xx_xx_xx > libraries > boot_rom > DEVICE_FAMILY > REV# > rom_sources > CPU# > DEVICE_FAMILY_ROM > bootROM > source

       定位引导 ROM 源文件
      图 5-11 定位引导 ROM 源文件

该文件打开,以显示引导 ROM 中的当前指令,而且用户可以游览它了解如何调试、复位和重新启动器件。