0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MCU固件升级的几种Flash划分方式有哪些

strongerHuang 来源:freesundown 作者:freesundown 2021-10-08 18:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

昨天为大家分享了《单片机产品生产下载程序的常见方法》,有读者说他们是通过U盘、OTA远程下载的程序。

你通过U盘、OTA远程等方式下载的程序,其实你还是需要提前下载BootLoader程序,才能进一步下载APP程序。

今天就来说说通过OTA方式升级固件时,几种Flash(闪存)划分方式。

独立型

所谓独立型就是专门划出一部分闪存(Flash)空间用来存储引导程序(BootLoader)。

如下图:

BootLoader:引导程序

Firmware A:应用程序

Firmware B:下载备份程序

Firmware A区用来固定执行应用程序,当引导程序(BootLoader)将接收到的新固件存入到Firmware B区,并校验成功后,Firmware A区中的应用程序将被擦除,然后Firmware B区的新固件将写入到Firmware A区中。

这种方式是比较常见的有一种,有Firmware B备份区,使其下载更加安全。

嵌入型

嵌入型就是将引导程序(BootLoader)嵌入到应用程序中去。

当引导程序(BootLoader)将接收到的新固件存储到Firmware B区,在校验成功后,引导程序(BootLoader)将跳到Firmware B区去执行应用程序。

外挂型

外挂型就是外挂Flash或EEPROM用来存储新固件。

MCU内置Flash较小时,可以选择外挂存储芯片用来缓存新固件。引导程序(BootLoader)将新固件存储到外挂存储芯片中,当校验成功后,Firmware A中的应用程序将被擦除,并被写入外挂存储芯片中的新固件。

是不是根据需要,我们可以随意划分MCU的Flash空间呢?当然不是,由于MCU的内置Flash是以块(Block)或者页(Page)为最小擦除单位,我们划分MCU内置Flash空间时必须考虑到实际MCU的块(Block)或者页(Page)的大小。

现在我们以TMPM3H6FWFG来举例说明“独立型”的Flash划分方式。从以下规格书中的信息可知,这颗MCU的内置Flash大小为128KB,最小的擦除页(Page)为4KB,最小的擦除块(Block)为32KB。

根据以上信息,我们可以对这颗MCU的内置Flash进行如下划分:

1adcde34-2321-11ec-82a8-dac502259ad0.png

以上只是对固件升级(OTA)中MCU的Flash空间划分简单探讨一下,实际哪种方式更适合,还需要用户自己去评估。

声明:本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18604

    浏览量

    386596
  • FlaSh
    +关注

    关注

    10

    文章

    1715

    浏览量

    154667
  • ROM
    ROM
    +关注

    关注

    4

    文章

    578

    浏览量

    88530
  • OTA
    OTA
    +关注

    关注

    7

    文章

    623

    浏览量

    37949

原文标题:MCU固件升级的几种Flash划分方式

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MCU固件几种Flash(闪存)划分方式

    你通过U盘、OTA远程等方式下载的程序,其实你还是需要提前下载BootLoader程序,才能进一步下载APP程序。     今天就来说说通过OTA方式升级固件时,
    的头像 发表于 11-27 18:20 949次阅读

    使用J-Flash来编程CW32 MCU

    MCU。 5.加载固件: 在J-Flash中,打开你想要编程到CW32 MCU中的固件文件(通常是.hex、.bin或.srec格式)。 6
    发表于 11-25 07:00

    Bootloader固件升级的步骤

    ,也可以不更新,在项目中,我们通常会对 FW 版本号进行对比,会将 MCU 中的 App 程序更新最新的版本,起到固件升级的效果。更新的话,BootLoader 更新完程序后,跳转到新程序运行;不更新
    发表于 11-19 07:41

    【道生物联TKB-623评估板试用】固件更新方法

    的reset按钮,就可以进入已经连接flash的状态。 选择正确的固件,点击一键烧录即可。 区域根据固件的名称不同,选择不同的烧录方式固件
    发表于 11-12 11:18

    使用RTT的维护云进行远程固件升级(OTA),怎么没有网络升级方式

    使用RTT的维护云进行远程固件升级(OTA),怎么没有网络升级方式的?只有蓝牙,近距离的固件升级
    发表于 10-13 06:36

    AT32 MCU如何使用IAP

    AT32 MCU使用IAP的方法涉及在微控制器上创建特定固件,以实现在应用编程(In-Application Programming,简称IAP)功能,主要通过USART通信接口进行固件更新操作
    发表于 08-08 17:13

    蓝牙空中升级(OTA)原理

    1. 概述 所谓DFU(Device Firmware Update),就是设备固件升级的意思,而OTA(Over The Air)是实现DFU的一种方式而已,准确说,OTA的全称应该是OTA
    发表于 07-21 14:50

    MCU片上Flash

    保留能力,支持多次擦写操作,是MCU程序存储的核心介质。 主要类型‌ NOR Flash‌:支持随机访问,可直接运行代码,适用于实时性要求高的场景。 NAND Flash‌:需通过RAM加载代码,集成度高但访问速度较慢,常见于复
    的头像 发表于 05-06 14:26 846次阅读

    STM32745/747芯片固件升级的疑问求解

    程序放在0x08020000位置处,不知道采样这样的方式是否可行?或者是否推荐的升级方案?目前用两个boot+两个app的方案跳转不成功,不知道什么原因,双核固件跳转是否
    发表于 03-12 07:55

    浅谈车规MCU (MGEQ1C064) OTA升级

    的OTA升级。 OTA升级方式 为了实现OTA升级,我们通常需要将MCU FLASH分为两部
    发表于 03-04 12:52

    通过Boot swap实现瑞萨RL78/F24 MCU固件升级

    本文主要说明如何使用已有的程序更新flash中的固件。使用这种方法代码闪存分为两个区域:执行区域和临时区域。瑞萨flash驱动程序RL78 RFD Type02用于对flash进行重新
    的头像 发表于 02-26 09:25 2164次阅读
    通过Boot swap实现瑞萨RL78/F24 <b class='flag-5'>MCU</b><b class='flag-5'>固件</b><b class='flag-5'>升级</b>

    DLP3432适配的外挂Flash芯片的固件如何烧录呢?

    你好,新制作的DLP3432 PCB板子,它适配的外挂Flash芯片的固件如何烧录呢?官网给出的固件是.img 文件,而一般的Flash 编程器只支持 hex或者bin文件的烧录,请
    发表于 02-18 08:19

    请问有没有办法对MSP430的固件升级

    AFE4400 EVM板,上面用的MCU为MSP430,之前一直正常使用,现在连接上电脑,电脑就认为是键盘类的硬件,将EVM板的USB驱动装不成功,可能是MSP430的固件问题,请问有没有办法对MSP430的
    发表于 01-14 08:38

    【OTA升级】无需数据线,一条命令即可完成固件升级

    的位置特殊、没有预留硬件有线升级接口等原因,用户往往无法人为的通过有线方式更新设备固件,这时候就可以通过OTA进行网络升级。UpdateEngine介绍Firefly
    的头像 发表于 12-11 01:00 5431次阅读
    【OTA<b class='flag-5'>升级</b>】无需数据线,一条命令即可完成<b class='flag-5'>固件</b><b class='flag-5'>升级</b>!

    不进入halt状态可以操作mcuflash

    期间发生中断或未完成的操作,确保Flash的稳定性和正确性。具体要求取决于MCU的型号和其Flash控制器的设计 一般来说,MCUFlash
    发表于 12-05 09:17