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.

[参考译文] TM4C123GH6PM:为什么重新启动控制器代码后无法正常工作?

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/964187/tm4c123gh6pm-why-after-restarting-the-controller-code-is-not-working-properly

器件型号:TM4C123GH6PM

你好

我正在处理这个项目、其中我的部件是连接 LCD 和键盘。 基本上 、有多个传感器连接到 SoC、SoC 将通过 UART 向控制器发送数据。 我在 LCD 上显示的相同数据以及通过使用键盘、用户也可以更改设置。

因此、问题是、每当我刷写代码时、一切都正常、但一旦我关闭器件并再次启动、代码就无法正常工作。 因此、在测试时会发生什么情况、我始终用于闪存和调试。 在演示方面、我的高级主管始终关闭设备几分钟、然后测试设备、一旦设备关闭并再次打开、液晶屏将显示半个字符、设备挂起。  

那么、有人能帮我解决这个问题吗? 重新启动设备后、其无法正常工作的原因应该是什么。

此致

Omkar

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

    首先、确保堆栈地址和复位矢量被编程到闪存存储器的前两个位置。 使用"View"->"Memory Browser"、地址为0。 在下面的示例中、堆栈位于地址0x20000100、代码执行从0x0000084a 开始。 对于 Cortex M4处理器、矢量始终比地址多一个、在本例中为0x0000084b。

    接下来要检查的是构建设置、请确保链接器运行时环境设置为"ROM 自动初始化模型"。

    如果这两种情况都正确、我建议您通过对代码进行编程、然后断电来进行调试。 加电并连接到目标。 这次只需执行"加载符号"。  然后使用系统复位 Ctrl+Shft+S 启动代码 现在逐步完成您的程序。 它的行为可能与未连接到调试器时的行为相同、这将帮助您确定问题。