[STM32F1] 用 STM32CubeIDE 将代码下载到 FLASH Memory Bank 2

[复制链接]
 楼主| 地瓜patch 发表于 2025-4-28 22:30 | 显示全部楼层 |阅读模式
使用 STM32CubeProgrammer 下载代码时,我能够通过指定起始地址将代码下载到我想要的位置。
但是,使用 STM32CubeIDE 进行调试和下载时,如何设置下载到指定的位置。例如,将代码下载到扇区2

白马过平川 发表于 2025-5-18 14:30 | 显示全部楼层
在STM32CubeIDE中实现将代码下载到指定存储位置(如扇区2)需结合工程配置、链接脚本修改及调试器设置
故意相遇 发表于 2025-5-18 15:00 | 显示全部楼层
链接脚本(.ld文件):控制代码在Flash中的布局,包括代码段(.text)、数据段(.data)和BSS段(.bss)的起始地址
将爱藏于深海 发表于 2025-5-18 15:42 | 显示全部楼层
调试器(ST-Link):默认按链接脚本配置的地址下载,但需确保硬件支持(如扇区擦除权限)。
捧一束彼岸花 发表于 2025-5-18 16:00 | 显示全部楼层
Flash分区限制,STM32F0/F1等系列Flash通常按扇区划分(如每扇区1KB),写入前需擦除整个扇区。
风凉 发表于 2025-5-18 19:00 | 显示全部楼层
定位链接脚本:在STM32CubeIDE工程中,链接脚本通常位于:工程目录/Debug/STM32F031K6Tx_FLASH.ld(或Release目录下)。
失物招領 发表于 2025-5-18 21:26 | 显示全部楼层
找到MEMORY区域定义,修改Flash的起始地址和大小。例如,将应用代码下载到扇区2(假设扇区2起始地址为0x08002000):
她已醉 发表于 2025-5-19 00:02 | 显示全部楼层
在Debug Configurations中,选择对应的调试配置(如STM32 Cortex-M Debugging):在Startup选项卡中,设置Reset and Initialize时的Load Image路径为生成的.elf文件。确保Load Application at Startup勾选,且地址与链接脚本一致(0x08002000)。
西洲 发表于 2025-5-19 08:14 | 显示全部楼层
检查生成的.map文件:编译后查看工程目录/Debug/工程名.map,确认各段的加载地址是否符合预期。
温室雏菊 发表于 2025-5-19 11:00 | 显示全部楼层
多固件版本共存,通过不同扇区存储不同版本,便于回滚
温室雏菊 发表于 2025-5-19 11:00 | 显示全部楼层
多固件版本共存,通过不同扇区存储不同版本,便于回滚
春日负喧 发表于 2025-5-19 14:01 | 显示全部楼层
Bootloader+应用双分区,将Bootloader固定在扇区0,应用代码下载到扇区2
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

1803

主题

14836

帖子

29

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