Thread 中讨论的其他器件:EK-TM4C123GXL
工具/软件:Code Composer Studio
按下复位按钮或电源复位后、器件不会运行任何代码。 当从调试器加载代码时、它可以正常工作、但只能运行一次。 当我按下复位按钮时,调试器显示“0x000000 (未定义符号)”,设备将冻结。
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.
工具/软件: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页"轮流"进入"论坛州"。) (并且可能会被"始终乐于助人的"工作岗位不起作用!""推至"下游")
e2e.ti.com/.../recharger_2D00_heatercontol_2D00_Develop_4000_b1b1172b5e0.zip
Bob、
你回答了这么多-员工/我是"选择性回应者"、这是"奢侈"!
海报已将他的 MCU 指定为 LPAD 上没有显示的 MCU。 (我们不确定您是否"注意到"了这一点。) 如果是这种情况-他必须实施定制 PCB -这会打开一个(非常)大的"潜在问题列表!" (在尝试任何 PCB 设计之前、切勿做出明智的决策- IMHO -等待 LPAD 上的所有代码成功。)
我们想知道他的 MCU 复位电路是否正确且功能齐全-以及 MCU 的所有电源引脚是否正确(真正)连接-并正确旁路。 'JTAG'引脚-如果保持'悬空'-也可能会使 MCU 进入某种'已解决状态'-是这样吗? 介绍海报板的否/零报告已提交...
第一次 PCB 板尝试-由那些"经验不足"的人尝试-很少成功-在我看来、"匆忙使用定制板"证明了一个严重的错误!)
有趣。 让我猜、这是一个定制 PCB 上较旧的项目、您需要修改它。 我能够导入项目、但未看到具有项目名称的.out 文件。 我必须修改一些路径信息、并升级到使用最新的 TivaWare 库(您使用的是较旧的库)。 我可以看到您在项目"HeaterControlNonOs"中遇到的问题。 加载代码、或手动将 PC 设置为入口点代码在 main 的747行上的 while 循环中运行和循环。 但是、如果我从复位开始、然后连接、代码在 ROM 中循环。 我还没有弄清楚。
好的、这里是正在发生的情况。 第659行调用静态函数 BootConfigConfiguration();该函数使用值0x7FFF20FE 对非易失性 BOOTCFG 进行编程。 该值会使复位时的器件检查引脚 PB0。 如果该引脚为低电平、则代码在复位时跳转到 ROM 引导加载程序。 这就是发生的情况。 您可以向 PB0添加一个上拉电阻器、代码将按预期在复位后执行。 要撤消 BOOTCFG 寄存器、必须按照"调试端口解锁"的步骤操作。 请注意、该过程也会擦除 MAC 地址以及用户寄存器0和1。