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.

[参考译文] CCS/TM4C123AE6PM:CCS/TM4C123AE6PM:WAND't BOOT。 0x3FF5F5 (未定义符号)

Guru**** 2581345 points
Other Parts Discussed in Thread: EK-TM4C123GXL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/837987/ccs-tm4c123ae6pm-ccs-tm4c123ae6pm-won-t-boot-after-reset-0x3ff5f5-no-symbols-are-defined

器件型号:TM4C123AE6PM
Thread 中讨论的其他器件:EK-TM4C123GXL

工具/软件:Code Composer Studio

按下复位按钮或电源复位后、器件不会运行任何代码。 当从调试器加载代码时、它可以正常工作、但只能运行一次。 当我按下复位按钮时,调试器显示“0x000000 (未定义符号)”,设备将冻结。

  

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

    您是否从 TivaWare 随附的示例工程之一开始? 您的项目应包含一个文件、如 startup_ccs.c、它定义了一个将设置堆栈指针和复位矢量的".intvecs"段。

    此外、按下 EK-TM4C123GXL Launchpad 上的 RESET 按钮会中断与调试器的连接。 您可能必须断开连接(逻辑上、而不是物理上)并重新连接。

    如果您使用的是 EK-TM4C123GXL launchpad、我建议您导入并构建 TivaWare 示例项目"Blinky"。 通过这种方法、您可以在按下复位按钮后看到 LED 闪烁、并且知道代码正在执行。

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

    您好 Bob、

    请允许我们赞扬您的"绝对极好的建议"

    [引用 user="Bob Crosby">您是否从 TivaWare 附带的示例工程之一开始? 您的项目应包含一个文件、如 startup_ccs.c、它定义了一个将设置堆栈指针和复位矢量的".intvecs"段。[/quot]

    这个特定问题似乎是以更高的频率到达这里-因此您的方向(非常)放置良好。   (如果可以的话、应该以"更好的地方"和"更容易识别的形式"出现、以确保"不会错过!"   (我们注意到、它很快将从论坛第1页"轮流"进入"论坛州"。)   (并且可能会被"始终乐于助人的"工作岗位不起作用!""推至"下游")

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

    尊敬的 Bob:

    感谢您的快速响应。

    是的、我看到的是定义了 resetISR 例程的 startup_ccs.c 文件。

    但是、当我单击"Restart"、" reset CPU"或"reset board"时、我没有遇到任何问题。

    谢谢、此致、

    Vamsi

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

    您能否将项目导出到.zip 文件并发布它?

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

    e2e.ti.com/.../recharger_2D00_heatercontol_2D00_Develop_4000_b1b1172b5e0.zip

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

    Bob、

    你回答了这么多-员工/我是"选择性回应者"、这是"奢侈"!    

    海报已将他的 MCU 指定为 LPAD 上没有显示的 MCU。   (我们不确定您是否"注意到"了这一点。)   如果是这种情况-他必须实施定制 PCB -这会打开一个(非常)大的"潜在问题列表!"    (在尝试任何 PCB 设计之前、切勿做出明智的决策- IMHO -等待 LPAD 上的所有代码成功。)

    我们想知道他的 MCU 复位电路是否正确且功能齐全-以及 MCU 的所有电源引脚是否正确(真正)连接-并正确旁路。   'JTAG'引脚-如果保持'悬空'-也可能会使 MCU 进入某种'已解决状态'-是这样吗?   介绍海报板的否/零报告已提交...

    第一次 PCB 板尝试-由那些"经验不足"的人尝试-很少成功-在我看来、"匆忙使用定制板"证明了一个严重的错误!)

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

    上面是我的项目的 zip 文件

    谢谢、此致、

    Vamsi

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

    有趣。 让我猜、这是一个定制 PCB 上较旧的项目、您需要修改它。 我能够导入项目、但未看到具有项目名称的.out 文件。 我必须修改一些路径信息、并升级到使用最新的 TivaWare 库(您使用的是较旧的库)。 我可以看到您在项目"HeaterControlNonOs"中遇到的问题。 加载代码、或手动将 PC 设置为入口点代码在 main 的747行上的 while 循环中运行和循环。 但是、如果我从复位开始、然后连接、代码在 ROM 中循环。 我还没有弄清楚。

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

    是的、 您是对的、我正在修改由其他人开发的代码。

    我还卡在那里复位后、代码在控制器中不运行。

    感谢您研究此问题

    谢谢、此致、

    Vamsi

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

    好的、这里是正在发生的情况。 第659行调用静态函数 BootConfigConfiguration();该函数使用值0x7FFF20FE 对非易失性 BOOTCFG 进行编程。 该值会使复位时的器件检查引脚 PB0。 如果该引脚为低电平、则代码在复位时跳转到 ROM 引导加载程序。 这就是发生的情况。  您可以向 PB0添加一个上拉电阻器、代码将按预期在复位后执行。 要撤消 BOOTCFG 寄存器、必须按照"调试端口解锁"的步骤操作。 请注意、该过程也会擦除 MAC 地址以及用户寄存器0和1。  

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

    尊敬的 Bob:

    感谢您的更新。

    我已经通过将 PB0设为高电平进行了验证、它正在工作。

    我还将尝试解锁调试端口并进行检查。

    当在 CCS 中与 J-tag 连接时、我们如何检查 BOOTCFG 寄存器的状态?

    谢谢、

    Vamai

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

    尊敬的 Bob:

    感谢您的更新。

    我已经通过将 PB0设为高电平进行了验证、它正在工作。

    当目标与 CCS 中的 J-tag 相连时、是否有任何方法来检查 BOOTCFG?

    谢谢、

    Vamsi

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

    它可以作为 FLASH_CTRL 寄存器的一部分显示在寄存器窗口中。

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

    谢谢 Bob!!

    此致、

    Vamsi