classroom 发表于 2024-8-8 17:35

STM32H7RS-DK如何调试阶段在EXTRAM中烧写代码并进行调试。

我在试用STM32H7S7-DK时,烧写程序到外部FLASH太久了,每次都是5分钟以上,许工给了一个建议在程序调试阶段,可以烧写到外部RAM中运行。但是我还没有掌握这个方法。哪位大佬可以给点建,如何配置分段加载。

powerantone 发表于 2024-8-9 16:33

确定外部RAM的规格和地址,修改分散加载文件,配置调试器

9dome猫 发表于 2024-12-31 19:35

可以考虑使用外部RAM

地瓜patch 发表于 2024-12-31 20:14

程序多大要5分钟

OKAKAKO 发表于 2024-12-31 21:45

需要硬件支持以及boot修改

LOVEEVER 发表于 2024-12-31 23:11

建议实用利用boot进行更改设计下载位置

远山寻你 发表于 2025-1-26 21:07

在STM32H7S7-DK开发板上,将程序烧写到外部RAM中运行可以显著加快调试阶段的烧写速度

淡漠安然 发表于 2025-1-27 02:00

修改链接脚本(Linker Script)你需要修改链接脚本,将程序的部分或全部代码和数据段映射到外部RAM中。假设你使用的是GCC编译器,链接脚本通常是一个.ld文件

暖了夏天蓝了海 发表于 2025-1-27 03:00

在调试器中,你需要配置调试器将程序加载到外部RAM中

冰春彩落下 发表于 2025-1-27 04:00

在“Startup”选项卡中,勾选“Load executable to RAM”。确保调试器知道外部RAM的起始地址和大小

一秒落纱 发表于 2025-1-27 05:00


在程序启动时,你需要确保外部RAM已经被正确初始化。通常,这需要在main()函数之前完成。你可以在SystemInit()函数中添加外部RAM的初始化代码

别乱了阵脚 发表于 2025-1-27 06:00

外部RAM的访问速度通常比内部RAM慢,因此在实际运行时可能会有性能影响

江河千里 发表于 2025-1-27 07:00

掉电丢失,外部RAM是易失性存储器,掉电后数据会丢失,因此不适合存储需要持久化的数据

三生万物 发表于 2025-1-27 08:00

如果你只需要调试部分代码,可以考虑将这部分代码单独映射到外部RAM中,而将其他代码保留在内部RAM中,以平衡性能和调试速度

光辉梦境 发表于 2025-1-27 09:00

分段加载好像需要配置链接文件才行吧

夜阑风雨 发表于 2025-1-27 10:00

这个我也没了解过,但是你可以局部擦除吧,这样是不是就好点?

星辰大海不退缩 发表于 2025-1-30 14:07

软硬件都需要支持的

公羊子丹 发表于 2025-2-7 08:19

烧写到外部RAM调试确实快很多,建议你先修改链接脚本,把代码段 (.text) 和数据段 (.data) 放到 EXTRAM。

周半梅 发表于 2025-2-7 08:20

STM32H7 系列的外部 RAM 访问需要正确配置 FMC 控制器,不然程序可能无法正常运行。

帛灿灿 发表于 2025-2-7 08:21

在 CubeIDE 中可以手动设置“Linker Script”来指定不同段的存储位置,推荐先备份原始脚本再修改。
页: [1] 2
查看完整版本: STM32H7RS-DK如何调试阶段在EXTRAM中烧写代码并进行调试。