打印
[STM32F1]

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

[复制链接]
274|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
地瓜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):默认按链接脚本配置的地址下载,但需确保硬件支持(如扇区擦除权限)。

使用特权

评论回复
5
捧一束彼岸花| | 2025-5-18 16:00 | 只看该作者
Flash分区限制,STM32F0/F1等系列Flash通常按扇区划分(如每扇区1KB),写入前需擦除整个扇区。

使用特权

评论回复
6
风凉| | 2025-5-18 19:00 | 只看该作者
定位链接脚本:在STM32CubeIDE工程中,链接脚本通常位于:工程目录/Debug/STM32F031K6Tx_FLASH.ld(或Release目录下)。

使用特权

评论回复
7
失物招領| | 2025-5-18 21:26 | 只看该作者
找到MEMORY区域定义,修改Flash的起始地址和大小。例如,将应用代码下载到扇区2(假设扇区2起始地址为0x08002000):

使用特权

评论回复
8
她已醉| | 2025-5-19 00:02 | 只看该作者
在Debug Configurations中,选择对应的调试配置(如STM32 Cortex-M Debugging):在Startup选项卡中,设置Reset and Initialize时的Load Image路径为生成的.elf文件。确保Load Application at Startup勾选,且地址与链接脚本一致(0x08002000)。

使用特权

评论回复
9
西洲| | 2025-5-19 08:14 | 只看该作者
检查生成的.map文件:编译后查看工程目录/Debug/工程名.map,确认各段的加载地址是否符合预期。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

1543

主题

13971

帖子

28

粉丝