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

STM32G47x 双 Bank 模式下在线升级

[复制链接]
STMCU小助手 发布时间:2022-7-30 22:03
1. 前言
STM32G47x Flash 可以工作在双 bank 模式下,在该模式下对 FLASH 的操作支持RWW(Read-While-Write),在 Bank1 中可以对 Bank2 进行操作而不影响当前 Bank1 中的应用程序的运行,反之亦然。本文对双 Bank 模式下程序在线升级进行介绍,指出操作中的注意事项。


2. Bank 工作原理
STM32G47x 系列 MCU 支持 Flash Bank 功能,且芯片出厂默认配置即使能了双 Bank功能。基于两个独立的 Bank,用户可以选择将应用程序放在任意一个 Bank 中运行,通过设置标志位 BFB2 来决定从哪一个 Bank 启动:
BFB2 = 0MCU Bank 启动禁能,从 Bank1 启动运行;
BFB2 = 1MCU Bank 启动使能,从 Bank2 启动运行,若是 Bank2 中无正常程序,则
检测 Bank1 中是否有正常程序,若有则运行 Bank1 中的程序,若无则跳转到系统 Bootloader 运行(详见 AN2606 对应说明)
FB_MODE 反映了 Bank 的地址映射,双 Bank 的地址映射方式如下:
FB_MODE= 0 时,Bank1 的起始地址为 0x08000000Bank2 的起始地址为0x08040000
FB_MODE= 1 时,Bank1 的起始地址为 0x08040000Bank2 的起始地址为0x08000000

7V_U)`ZR8O]IHAW)0K56M~Y.png

STM32G47x 系列 MCU 中,MCU 启动时始终是从 0x08000000 这个地址开始运行。通过地址重映射的方式,将不同的 Bank 起始地址指定到 0x08000000,所以当从 Bank2 启动运行时,千万不要认为 MCU 是从 0x08040000 开始运行的,MCU 依旧是从 0x08000000 这个地址开始运行,认清这点对程序在线升级时对 Flash 的擦除与烧写特别重要。
另外基于以上地址重映射操作,在程序设计过程中,用户也不需要对地址空间做偏移处理,完全按照单 Bank 的思路进行设计即可,但程序不能超过单 Bank 大小。
完整版请查看:附件





LAT1097 STM32G474双bank模式下在线升级_v1.0.pdf

下载

356.05 KB, 下载次数: 154

1 收藏 评论2 发布时间:2022-7-30 22:03

举报

2个回答
比伯克斯123 回答时间:2024-8-6 15:14:38

非常好的贴子,正是我所希望看到的

激流 回答时间:2 小时前

好东西,学习学习

所属标签

相似分享

官网相关资源

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