你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

请问如何在下载程序时保护flash中的用户数据不被覆盖?

[复制链接]
zwddqt 提问时间:2025-7-30 11:08 / 未解决

使用stm32cubeide或stm32cubeprogrammer烧写程序,stlink下载器,芯片stm32h743,芯片内部flash的0x08100000地址中写有用户数据,如何在重新烧写程序或debug时,不覆盖这些用户数据?尝试了更换地址也不行,stm32cubeprogrammer的“进行编程之前不进行闪存擦除”也会被擦除,有什么好办法?

收藏 评论2 发布时间:2025-7-30 11:08

举报

2个回答
y369369 回答时间:前天 15:35
只要你的用户数据所在扇区被Hex文件"涉及",即使该区域在Hex文件中是空白的,那扇区仍会被擦除。试试划分Flash区域:
Bank1: 0x0800 0000 - 0x080F FFFF (1MB)
Bank2: 0x0810 0000 - 0x081F FFFF (1MB) ← 你的用户数据在这

修改链接脚本,再使用STM32CubeProgrammer重新烧写试试
zwddqt 回答时间:昨天 11:39

y369369 发表于 2025-7-30 15:35
只要你的用户数据所在扇区被Hex文件"涉及",即使该区域在Hex文件中是空白的,那扇区仍会被擦除。试试划分Fla ...

是修改这个“FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 2048K”吗,我将2048k修改为1024k,这样也没有超过我程序的大小,但用stm32cubeprogrammer和stm32cubeide分别烧写测试,都还是覆盖了0x081E0000的用户数据。请问应当怎么修改才对?

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版