请选择 进入手机版 | 继续访问电脑版

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

STM32G47x 双 Bank 模式下在线升级

[复制链接]
STMCU小助手 发布时间:2022-7-30 22:03
1. 前言
7 e7 v/ M2 ^- M4 p, R" k$ [7 M) rSTM32G47x Flash 可以工作在双 bank 模式下,在该模式下对 FLASH 的操作支持RWW(Read-While-Write),在 Bank1 中可以对 Bank2 进行操作而不影响当前 Bank1 中的应用程序的运行,反之亦然。本文对双 Bank 模式下程序在线升级进行介绍,指出操作中的注意事项。
: G2 u; F+ D$ u. u. |0 q1 }0 }" o, z5 G
( ?" i- D- U$ I; P* e6 c
2. Bank 工作原理
0 R* {8 K, ~8 C4 N* K3 N* W2 g% }# LSTM32G47x 系列 MCU 支持 Flash Bank 功能,且芯片出厂默认配置即使能了双 Bank功能。基于两个独立的 Bank,用户可以选择将应用程序放在任意一个 Bank 中运行,通过设置标志位 BFB2 来决定从哪一个 Bank 启动:
0 n1 l. K: @) vBFB2 = 0MCU Bank 启动禁能,从 Bank1 启动运行;
" G) ~: G0 n3 B* u) I; `" E) BBFB2 = 1MCU Bank 启动使能,从 Bank2 启动运行,若是 Bank2 中无正常程序,则. L9 P7 I( ]' O' s
检测 Bank1 中是否有正常程序,若有则运行 Bank1 中的程序,若无则跳转到系统 Bootloader 运行(详见 AN2606 对应说明)6 Z. B5 L7 w: C# t: e
FB_MODE 反映了 Bank 的地址映射,双 Bank 的地址映射方式如下:
* k6 {) H9 E3 y4 r- IFB_MODE= 0 时,Bank1 的起始地址为 0x08000000Bank2 的起始地址为0x08040000
+ i5 Z; e: s$ L$ lFB_MODE= 1 时,Bank1 的起始地址为 0x08040000Bank2 的起始地址为0x08000000# L, O. [# _/ n2 _4 l2 [
0 ?9 K. F/ p5 r! y2 B$ w7 t1 K) @
7V_U)`ZR8O]IHAW)0K56M~Y.png
5 z! \6 o7 G0 e7 k9 P* I) g" E 0 K+ ?  @8 b' O0 D5 h
STM32G47x 系列 MCU 中,MCU 启动时始终是从 0x08000000 这个地址开始运行。通过地址重映射的方式,将不同的 Bank 起始地址指定到 0x08000000,所以当从 Bank2 启动运行时,千万不要认为 MCU 是从 0x08040000 开始运行的,MCU 依旧是从 0x08000000 这个地址开始运行,认清这点对程序在线升级时对 Flash 的擦除与烧写特别重要。+ ~7 s& b1 n( k) d* C' ]
另外基于以上地址重映射操作,在程序设计过程中,用户也不需要对地址空间做偏移处理,完全按照单 Bank 的思路进行设计即可,但程序不能超过单 Bank 大小。
3 t$ l' ^! h1 K9 I% L: }完整版请查看:附件
' w$ F2 W7 ~& O4 d! R( U
! N1 i6 W) S* s5 J' H
* |9 c# z8 s5 O* A$ ]" o1 {
1 y! L. A$ Y8 l6 a
/ C: D: h7 N. g0 b" H
+ {9 g/ w& {# v5 O* v6 T  ]; O

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

下载

356.05 KB, 下载次数: 26

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

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版