想在调试时查看闪存数据
Keil有一个功能,可以在调试时查看片内闪存数据,甚至可以修改它。在CubeIDE中找不到这个功能。有没有办法查看闪存?我想要读取/写入并确认数据等等。CubeIDE其实也能看,只是位置有点藏。你在调试时打开“Memory”视图,输入闪存地址比如0x08000000,就能看到内容了。 CubeIDE其实也能看,只是位置有点藏。你在调试时打开“Memory”视图,输入闪存地址比如0x08000000,就能看到内容了。 我之前也找半天,后来发现CubeIDE默认没开Memory窗口,要自己在Window → Show View → Memory Browser里打开。 其实CubeIDE底层就是Eclipse那套调试框架,比Keil灵活,但没有Keil那么直观。你熟悉地址手动输入就行。 如果你只是想验证写入结果,也可以用STM32CubeProgrammer直接读Flash,比在IDE里操作方便多了。 有时候CubeIDE调试连接会卡死在Flash区,那是因为调试接口没开写权限。你可以在debug配置里关掉“run to main”再连。 我建议加个简单的测试命令,比如串口输出某段Flash内容,调试时更直观,也能确认写入逻辑没问题。 我建议加个简单的测试命令,比如串口输出某段Flash内容,调试时更直观,也能确认写入逻辑没问题。 CubeIDE不支持像Keil那样随时在内存窗口直接改Flash内容,因为ST-Link调试接口会保护Flash写操作。 要是真想在调试时改数据,你可以在代码里手动调用HAL_FLASH_Program,或者加个debug接口触发修改。 挺好奇你LCD是1602那种吗?要显示十六进制的话记得加leading zero,否则一位数时格式会乱。 用STM32CubeProgrammer直接读Flash,比在IDE里操作方便多了。
页:
[1]