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

STM32G474RBT6使用Keil工程通过仿真器下载程序时,程序量超过64K时,就会下载失败,求教。

[复制链接]
lqwuliang 提问时间:2025-11-1 21:47 / 未解决

STM32G474RBT6芯片hal库默认为双bank模式,flash地址,bank1:0x8000000-0x8010000;bank2:0x8040000-0x8050000;那么在keil里面怎样设置地址呢?程序量大于64K时,因为bank地址设置不了,导致下载失败。这个问题怎样解决?

收藏 评论1 发布时间:2025-11-1 21:47

举报

1个回答
fafa1 回答时间:6 小时前

Kimi的答案:

STM32G474RBT6 的片内 Flash 有 128 K ,但 Keil 在仿真下载时把 Flash 大小默认填成了 64 K ,所以只要代码 > 64 K 就报“地址越界”而失败。 把 Flash 算法里的 Size 改成 128 K 即可,步骤如下:

  1. 打开 Keil → Project → Options for Target → Debug → 右侧 Settings → Flash Download。
  2. 在“Programming Algorithm”列表里选中 STM32G4xx 128KB Flash,如果没有就手动 Add ,然后 Start:0x0800 0000 Size:0x0002 0000 (即 128 K)。
  3. 把“Erase Full Chip”或“Erase Sectors”勾上,OK 退出。
  4. 重新 Build → Download,>64 K 的代码即可一次下载成功。

注意: – 若列表里只有 64 KB 的算法,说明 Pack 版本旧,先到 Pack Installer 里升级 STM32G4xx_DFP 到最新版。 – 使用 ST-Link/J-Link 均可,但 J-Link 要在 J-Flash 里同样把 Flash size 改成 128 K。

按以上改完,下载失败问题即可解决,无需分块、优化代码或换更大容量型号。

所属标签

相似问题

官网相关资源

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