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.

[参考译文] MSPM0G3107:在 MSPM0G3107 上进行变量初始化后器件无法重启

Guru**** 2874300 points

Other Parts Discussed in Thread: MSPM0G3107

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1582777/mspm0g3107-device-fails-to-restart-after-variable-initialization-on-mspm0g3107

器件型号: MSPM0G3107

您好 TI 支持团队:

我正在使用 MSPM0G3107 微控制器 、与集成 图 IC 流经 SPI 协议 。 我在图形 IC 上创建了一个用户界面 (UI)、用于生成显示控制代码。 然后、我将此代码集成到 TI MCU 工程中。

显示工作正常—例如、当我为特定图像设置变量时、图形 IC 将激活并按预期显示该图像。

但是、我面临一个奇怪的问题:
最初一切都正常。 但如果我 创建或初始化新变量 在代码中使用它(例如,用于在终端上调试或打印)、程序首次运行就可以正常运行。
在那之后,当我 按下复位按钮 即器件上 什么都没有  并且 MCU 无法正确重新启动。 偶数 关闭并再次打开电源 没有用。
恢复电路板的唯一方法是 再次刷新(刻录)代码 。 在我这样做之前、MCU 保持无响应。
我附上了 CCS Theia 存储器分配的屏幕截图。  


您能帮助我了解为什么会发生这种情况、并建议如何解决?

感谢您的支持。

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

    您好、

    只是创建一个变量会导致此问题?

    您能展示一下您的代码、这样我就能看到发生了什么?

    马修

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

    您好、
    感谢您的答复。
    实际上、我的工程包含许多文件 (.c 和.h)、因此无法共享整个代码。 但是、我在 CCS Theia 中重新编译代码后、随附了内存分配的屏幕截图、以了解内存使用情况。

    我使用的是 TI MCU 3107、该 MCU 集成了图形 IC、并在该 IC 上连接了一个显示器。 此设置已有大量代码。 只要我不添加任何新变量或使用printf、系统就可以正常工作。 但是、printf在我添加新变量或语句后、系统的运行会正常、直到我重新启动 TI MCU。 重新启动后、TI MCU 无法响应。

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

    您好、

    您是否正在进行任何非主配置?

    您是否在使用 BSL? 如果未禁用、则确保其已禁用。

    马修

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

    您可能需要增加堆栈大小。 我的发现(在这里)是 Xprintf 需要>800 字节的栈(如果使用“%f",“,则、则需要>1KB)。