[其他ST产品] stm32cubeide在哪里可以设置ROM 地址?

[复制链接]
974|10
 楼主| 地瓜patch 发表于 2025-4-4 13:05 | 显示全部楼层 |阅读模式
像 KEIL 这样设置 ROM 地址,如下图所示!

光辉梦境 发表于 2025-4-9 01:24 | 显示全部楼层
STM32CubeIDE 中设置 ROMFlash)地址(如修改代码的加载地址或定义特定段的位置)需要通过 链接脚本(Linker Script)或项目属性进行配置

远山寻你 发表于 2025-4-9 02:37 | 显示全部楼层
你可以通过项目属性修改 Flash 基地址导航到:C/C++ Build Settings Tool Settings MCU Settings。修改以下字段:Flash base address:默认通常是 0x08000000STM32 Flash 起始地址)。Flash size:根据芯片型号填写(如 0x200000 表示 2MB)。Flash Base Address

冰春彩落下 发表于 2025-4-9 03:29 | 显示全部楼层
建议修改链接脚本(.ld 文件)STM32CubeIDE 使用 GNU LD 链接脚本(如 STM32H747XIHx_FLASH.ld)定义内存布局

别乱了阵脚 发表于 2025-4-9 04:34 | 显示全部楼层
一般可以修改脚本的,比如说在项目目录下展开 "Core" "ldscripts",找到对应的 .ld 文件(如 STM32H747XIHx_FLASH.ld)。修改 Flash 地址范围:在 .ld 文件中找到 MEMORY 部分,调整 FLASH 的起始地址和长度等等

江河千里 发表于 2025-4-9 05:11 | 显示全部楼层
如果你要是懂的话,可以使用分散加载(多区域 Flash 配置)

三生万物 发表于 2025-4-9 06:27 | 显示全部楼层
如果需要将代码分段存储(如 Bootloader + App),需在链接脚本中定义多个 Flash 区域,然后在代码中通过 __attribute__ 指定函数/变量的存储位置

夜阑风雨 发表于 2025-4-9 07:16 | 显示全部楼层
我觉得可以通过 CubeMX 配置打开 STM32CubeMX 视图(需在 .ioc 文件中配置)。不过这种配置最好编译之后,进入调试模式,观察程序计数器(PC)的初始值是否与设置的 Flash 地址一致

一秒落纱 发表于 2025-4-9 08:35 | 显示全部楼层
确保修改后的地址不与其他固件(如 Bootloader)重叠

淡漠安然 发表于 2025-4-9 09:46 | 显示全部楼层
STM32的启动文件(如 startup_stm32h747xx.s)默认从0x08000000开始执行,若修改基地址,需确保中断向量表同步偏移(通过 SCB->VTOR 设置)

暖了夏天蓝了海 发表于 2025-4-9 10:25 | 显示全部楼层
如果目标是Bootloader设计或OTA升级,务必同步调整向量表地址和链接脚本

您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:出一块TI-PLABS-AMP-EVM

1941

主题

15256

帖子

31

粉丝
快速回复 在线客服 返回列表 返回顶部