ST意法半导体
直播中

mintsy

9年用户 1573经验值
擅长:MEMS/传感技术
私信 关注
[问答]

如何解决使用Nucleo STM32G031K8和uVision的WFI()问题?

一起嗨,
我正在尝试使用 STM32G031 开始一个新项目。MCU 的最终决定尚未做出,因此我目前正在测试 Nucleo STM32G031K8 板的可能性。我正在使用板载 USB 调试接口。
我启动了一个新的 Keil uVision 项目,一切都按预期工作,直到我在主循环的末尾添加 WFI()。添加后,我启动调试会话,一切正常。但是在离开第一个调试会话并尝试再次启动它之后,我收到了错误消息“Invalid ROM table”。
从那时起,不可能使用 uVision 调试甚至刷写 MCU。我必须使用存储引导加载程序复制一个十六进制文件(奇怪的是它是同一个源),然后就可以开始一个新的调试会话。不幸的是,结果相同,离开它并再次尝试调试后,我收到了此错误消息。
我检查了我在这里找到的所有想法和提示,检查了不同的“连接和重置选项”,因为这看起来可以解决一些其他用户的“无效 ROM 表”错误,但没有成功。
所有程序和界面都更新到当前版本。目前我正在阅读有关 DBGMCU_CR 寄存器选项的信息,但我没有使用待机或停止模式,所以我认为这不会改变这种情况。目前,该寄存器处于初始状态。
第二个奇怪的是,如果我使用ST提供的示例软件,也会出现同样的情况。如果我使用
STM32Cube_FW_G0_V1.4.0ProjectsNUCLEO-G031K8Examples_LLPWRPWR_EnterStandbyMode
并删除“LL_LPM_EnableDeepSleep();” 在第 273 行,我得到了相同的结果。
可能存在时钟或中断问题。目前我正在使用 HSI。
有没有人有想法或暗示从哪里开始?当然,我可以尝试在调试模式下关闭 WFI(),但这只是一个快速且肮脏的修复。
我对任何想法都很满意。太感谢了。







回帖(1)

李桂花

2023-1-6 14:17:32
给任何有同样问题的人。看来我错过了打开 DBGMCU 时钟....


  • LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_DBGMCU);

举报

更多回帖

发帖
×
20
完善资料,
赚取积分