STM32H7RS-DK如何调试阶段在EXTRAM中烧写代码并进行调试。
我在试用STM32H7S7-DK时,烧写程序到外部FLASH太久了,每次都是5分钟以上,许工给了一个建议在程序调试阶段,可以烧写到外部RAM中运行。但是我还没有掌握这个方法。哪位大佬可以给点建,如何配置分段加载。 确定外部RAM的规格和地址,修改分散加载文件,配置调试器 可以考虑使用外部RAM 程序多大要5分钟 需要硬件支持以及boot修改 建议实用利用boot进行更改设计下载位置 在STM32H7S7-DK开发板上,将程序烧写到外部RAM中运行可以显著加快调试阶段的烧写速度 修改链接脚本(Linker Script)你需要修改链接脚本,将程序的部分或全部代码和数据段映射到外部RAM中。假设你使用的是GCC编译器,链接脚本通常是一个.ld文件在调试器中,你需要配置调试器将程序加载到外部RAM中
在“Startup”选项卡中,勾选“Load executable to RAM”。确保调试器知道外部RAM的起始地址和大小
在程序启动时,你需要确保外部RAM已经被正确初始化。通常,这需要在main()函数之前完成。你可以在SystemInit()函数中添加外部RAM的初始化代码 外部RAM的访问速度通常比内部RAM慢,因此在实际运行时可能会有性能影响
掉电丢失,外部RAM是易失性存储器,掉电后数据会丢失,因此不适合存储需要持久化的数据
如果你只需要调试部分代码,可以考虑将这部分代码单独映射到外部RAM中,而将其他代码保留在内部RAM中,以平衡性能和调试速度
分段加载好像需要配置链接文件才行吧
这个我也没了解过,但是你可以局部擦除吧,这样是不是就好点?
软硬件都需要支持的 烧写到外部RAM调试确实快很多,建议你先修改链接脚本,把代码段 (.text) 和数据段 (.data) 放到 EXTRAM。 STM32H7 系列的外部 RAM 访问需要正确配置 FMC 控制器,不然程序可能无法正常运行。 在 CubeIDE 中可以手动设置“Linker Script”来指定不同段的存储位置,推荐先备份原始脚本再修改。
页:
[1]
2