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.

[参考译文] TMS320F280037C:禁用引导模式引脚并从闪存引导

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1542513/tms320f280037c-disable-boot-mode-pins-and-boot-from-flash

器件型号:TMS320F280037C
主题:C2000WARE 中讨论的其他器件

工具/软件:

我尝试运行的引导模式引脚为零(例如,在 4.5.2.1 中)

我已将 Z2-GPREG1 编程为 5aFFFFFF、将 Z2-GPREG3 编程为 FFFFFF03。  该程序由 ESTOP0 在地址 3fb8b9 处的引导 ROM 挂起、根据 TRM 中的表 4-19、该操作指示“处于等待引导模式“。 长分支(位于 0x80000)指向的地址指向 f280037_codestartbranch.asm。  如果我跳转到该地址 (0x81ef9) 并点击“Run",“,程序、程序会按预期执行。  

为什么我卡在等待模式下?

谢谢

Don

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

    您好 Don、

    您的启动配置看起来正确。

    您的应用程序的 codestart 是否在链接器命令文件 (.cmd) 中分配了 0x80000?  

    此致、

    马特

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

    好了。  点击 Estop 后、我使用存储器浏览器获取加载到 0x8000 的地址。 我将该地址剪切并粘贴到存储器浏览器中、点击 Enter、右键点击并选择“move to line“、 然后运行。   

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

    您好:

    您可以共享应用程序的.map 文件吗?

    此致、

    马特

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

    您好:

    应用程序的映射文件看起来不错。 如果您在调试会话中编程并运行应用程序、我是否认为应用程序工作正常?  

    [报价 userid=“45612" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1542513/tms320f280037c-disable-boot-mode-pins-and-boot-from-flash ] 0x81ef9

    codestartbranch.asm 的地址是什么? 它没有显示在映射文件中、但我假设您在 首次发布后更改了项目。

    您能否遵循 该 C2000 引导加载用户指南中的第 5.3 节 并了解器件在引导 ROM 中的执行位置? 器件是否成功引导至闪存地址 0x80000?

    此致、

    马特

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

    如果您在调试会话中编程并运行应用程序、我认为应用程序可以正常工作?“  

    不、我所描述的一切都在调试会话中发生。   

    是的、 自原始帖子发布以来、我更改了代码。  我查看地址 0x80000 来获取代码起始分支的地址、这始终是正确的。

    引导加载程序的功能。  

    谢谢

    Don

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

    我不确定预期结果、但它在 0x3f8B9 处运行至 Estop。  fiwww、当我单步执行反汇编时、源代码不匹配、大部分时间是逐步执行注释。

    在此处执行复位:

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

    您好:

    在 C2000Ware 版本中、引导 ROM 符号似乎已过时、我已采取措施来解决此问题。

    点击“简历“并点击“紧急停止“后、您能否为我查看以下注册表?  

    • 地址 0x2 处的引导 ROM 状态

    引导 ROM 运行状况和引导状态将写入 M0RAM 中的 32 位地址。 您可以参阅   TRM 中的第 4.8.12.1 节“引导状态“、了解该寄存器的详细信息。

    此外、您能否检查“CPU1BROM_BOOTMODE"变量“变量以查看解码了哪种引导模式?  

    此致、

    马特

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

    您好:

    您有任何更新吗?

    我找到了 F28003x 引导 ROM 库的最新源代码、使用这些文件以及 C2000Ware 中提供的*。out 符号可修复您观察到的符号差异:  

    e2e.ti.com/.../bootROM.zip

    此致、

    马特

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

    我现在正在处理另一个项目、接下来的几天我会让您了解我找到的内容。  感谢您的跟进。

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

    没问题、请随时对此主题提出后续问题。