单片机
返回首页

关于STM32G系列双Bank机制刷写机制

2025-11-07 来源:bilibili

一.双Bank机制

STM32G系列的Flash支持Single bank mode 和 Dual bank mode,Single bank mode 即常规的Flash模式,Dual bank mode会将Flash分为两块,正常情况下系统复位时会从Bank1启动,0x0800 0000对应为Bootloader复位向量,首先运行的代码为Bootloader。Bootloader跳转APP时将FB_MODE设置为1将Bank1和Bank2交换,这样0x0800 0000会对应为APP复位向量表,FBL跳转到0x0800 0000即完成到APP的跳转。该方案的优点为Bootloader和APP的Link文件不需要做任何调整即可运行。APP的复位向量表位置和Bootloader一直不需要调整,当进行Boot自更新时,首先将BFB2设置为1,当出现异常下电或复位时,再次上电系统会直接从Bank2启动再次执行自更新程序,以确保控制器不会"变砖"

双Bank切换图像如下图所示:

双Bank切换图像

二.跳转APP机制

Flash配置为Dual bank mode(DBANK = 1),在Bank1的起始位置(0x0800 0000)放置Bootloader的中断向量表,在Bank2的其实位置(0x0804 0000)放置Bootloader的中断向量表。

正常情况下系统复位时会从Bank1启动,0x0800 0000对应为Bootloader复位向量,首先运行的代码为Bootloader。Bootloader跳转APP时将FB_MODE设置为1将Bank1和Bank2交换,这时0x0800 0000会对那个为APP复位向量表,FBL跳转到0x0800 000即完成APP跳转。当进行Boot自更新时,首先将BFB2置为1,修改为从Bank2启动,当出现异常下电或复位时,系统再次上电会直接从Bank2启动,再次执行自更新程序。


进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦四级调频发射机

  • 500W MOS场效应管电源逆变器,12V转110V/220V

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外开关

  • 12V转110V/220V 500W逆变器

  • DS1669数字电位器

    相关电子头条文章