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

STM32G47x 双 Bank 模式下在线升级

[复制链接]
STMCU小助手 发布时间:2022-7-30 22:03
1. 前言
7 ?' O! {5 g8 `5 HSTM32G47x Flash 可以工作在双 bank 模式下,在该模式下对 FLASH 的操作支持RWW(Read-While-Write),在 Bank1 中可以对 Bank2 进行操作而不影响当前 Bank1 中的应用程序的运行,反之亦然。本文对双 Bank 模式下程序在线升级进行介绍,指出操作中的注意事项。
4 z2 m8 |! A- W, D) X
7 J# F: y; ?2 M/ o6 p5 ^

1 c1 \7 c) h' d' l2 n2. Bank 工作原理
5 ~7 Y1 z" a, m$ U6 E, [, L8 p% T; JSTM32G47x 系列 MCU 支持 Flash Bank 功能,且芯片出厂默认配置即使能了双 Bank功能。基于两个独立的 Bank,用户可以选择将应用程序放在任意一个 Bank 中运行,通过设置标志位 BFB2 来决定从哪一个 Bank 启动:5 d" _0 h  |; y& c5 m$ t
BFB2 = 0MCU Bank 启动禁能,从 Bank1 启动运行;
1 _: m% X3 q6 I! u  p4 a( T# nBFB2 = 1MCU Bank 启动使能,从 Bank2 启动运行,若是 Bank2 中无正常程序,则+ \" n" D2 T6 e: q& Y. t
检测 Bank1 中是否有正常程序,若有则运行 Bank1 中的程序,若无则跳转到系统 Bootloader 运行(详见 AN2606 对应说明)1 N; L2 ?6 i& \2 P
FB_MODE 反映了 Bank 的地址映射,双 Bank 的地址映射方式如下:5 D. r- Z9 I0 @: L: H
FB_MODE= 0 时,Bank1 的起始地址为 0x08000000Bank2 的起始地址为0x080400000 ~% ^* F% r* h" t6 z9 L3 _
FB_MODE= 1 时,Bank1 的起始地址为 0x08040000Bank2 的起始地址为0x08000000
% f' ~6 U1 K1 Q8 u# r$ D. c
2 W! m; a8 E3 |' l0 x  ^8 e 7V_U)`ZR8O]IHAW)0K56M~Y.png ! v! w' z% A, t/ Q7 i

' d  @) D' Z$ E7 d; `% Q$ _6 ^1 }STM32G47x 系列 MCU 中,MCU 启动时始终是从 0x08000000 这个地址开始运行。通过地址重映射的方式,将不同的 Bank 起始地址指定到 0x08000000,所以当从 Bank2 启动运行时,千万不要认为 MCU 是从 0x08040000 开始运行的,MCU 依旧是从 0x08000000 这个地址开始运行,认清这点对程序在线升级时对 Flash 的擦除与烧写特别重要。, |! ?7 ~# N9 H. F/ ]4 _
另外基于以上地址重映射操作,在程序设计过程中,用户也不需要对地址空间做偏移处理,完全按照单 Bank 的思路进行设计即可,但程序不能超过单 Bank 大小。 1 r2 ?. G! O: D" ?
完整版请查看:附件  L5 C5 M! x$ d' {, V2 Q$ f

6 s7 F$ h7 L% j8 C: C; j
  d$ a8 {0 _9 V' L* J
% J) }0 T; o. O3 ^4 v, _' N! J

. h$ }6 S' ]# T+ o0 J; t8 T: Q( ]  ]8 r. C$ |& R7 ]

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

下载

356.05 KB, 下载次数: 54

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

举报

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

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

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版