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

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

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

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

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

举报

3个回答
fafa1 回答时间:2025-11-2 09:26:22

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。

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

butterflyspring 回答时间:2025-11-3 10:10:43
先将芯片的对应option byte 设置成 single bank 模式, 然后再下载试试

STM32G474 DU8AL BANK.PNG
iiii 回答时间:5 天前

楼主解决问题了吗?也遇到了一样的问题

所属标签

相似问题

官网相关资源

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