柴库柴库 发表于 2025-10-24 22:46

想在调试时查看闪存数据

Keil有一个功能,可以在调试时查看片内闪存数据,甚至可以修改它。在CubeIDE中找不到这个功能。有没有办法查看闪存?我想要读取/写入并确认数据等等。

公羊子丹 发表于 2025-10-28 07:43

CubeIDE其实也能看,只是位置有点藏。你在调试时打开“Memory”视图,输入闪存地址比如0x08000000,就能看到内容了。

周半梅 发表于 2025-10-28 07:44

CubeIDE其实也能看,只是位置有点藏。你在调试时打开“Memory”视图,输入闪存地址比如0x08000000,就能看到内容了。

帛灿灿 发表于 2025-10-28 07:46

我之前也找半天,后来发现CubeIDE默认没开Memory窗口,要自己在Window → Show View → Memory Browser里打开。

童雨竹 发表于 2025-10-28 07:47

其实CubeIDE底层就是Eclipse那套调试框架,比Keil灵活,但没有Keil那么直观。你熟悉地址手动输入就行。

万图 发表于 2025-10-28 07:48

如果你只是想验证写入结果,也可以用STM32CubeProgrammer直接读Flash,比在IDE里操作方便多了。

Wordsworth 发表于 2025-10-28 07:49

有时候CubeIDE调试连接会卡死在Flash区,那是因为调试接口没开写权限。你可以在debug配置里关掉“run to main”再连。

Bblythe 发表于 2025-10-28 07:51

我建议加个简单的测试命令,比如串口输出某段Flash内容,调试时更直观,也能确认写入逻辑没问题。

Pulitzer 发表于 2025-10-28 07:52

我建议加个简单的测试命令,比如串口输出某段Flash内容,调试时更直观,也能确认写入逻辑没问题。

Uriah 发表于 2025-10-28 07:54

CubeIDE不支持像Keil那样随时在内存窗口直接改Flash内容,因为ST-Link调试接口会保护Flash写操作。

Clyde011 发表于 2025-10-28 07:55

要是真想在调试时改数据,你可以在代码里手动调用HAL_FLASH_Program,或者加个debug接口触发修改。

公羊子丹 发表于 2025-10-28 07:56

挺好奇你LCD是1602那种吗?要显示十六进制的话记得加leading zero,否则一位数时格式会乱。

wanduzi 发表于 2025-10-28 09:26

用STM32CubeProgrammer直接读Flash,比在IDE里操作方便多了。
页: [1]
查看完整版本: 想在调试时查看闪存数据