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
    +关注

    关注

    146

    文章

    16016

    浏览量

    343606
  • FlaSh
    +关注

    关注

    10

    文章

    1550

    浏览量

    146646
  • ROM
    ROM
    +关注

    关注

    4

    文章

    524

    浏览量

    84812
  • OTA
    OTA
    +关注

    关注

    7

    文章

    522

    浏览量

    34591

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

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

收藏 人收藏

    评论

    相关推荐

    vlan的划分方法有哪些?有哪几种

    VLAN(Virtual Local Area Network)是一种虚拟局域网技术,可以将多个物理上分散的局域网划分为逻辑上的若干虚拟局域网。VLAN的划分方法主要有以下几种: 1. 端口VLAN
    的头像 发表于 04-20 14:20 142次阅读

    升级Aurix TC399的方式哪些?

    我想知道除了 JTAG 之外,是否还有其他方法可以选择通过任何其他方式升级 Aurix TC399。 例如,如果我能够通过以太网访问文件位置,Aurix 能否从那里获取文件并自行升级? 如果有人知道有关 Aurix
    发表于 01-29 06:27

    差分升级方案(上)—全量升级vs差分升级的主要特点比较

    MCU固件升级可以通过编程器、调试器或其他设备辅助进行操作,但这种升级方式主要应用于产品研发评估及量产应用阶段。
    的头像 发表于 01-18 17:06 570次阅读
    差分<b class='flag-5'>升级</b>方案(上)—全量<b class='flag-5'>升级</b>vs差分<b class='flag-5'>升级</b>的主要特点比较

    如何对norflash存储进行划分

    让其它程序和数据占用的,该如何对这些区域分开并在下载固件时不会被写到这个区域。我看链接文件FLASH_XIP.ld里相关描述,但不知道是不是要修改这个链接文件?如何修改?
    发表于 12-19 10:31

    STM32单片机实现固件在线升级(IAP)

    1,固件升级方案综述单片机的固件升级方式有很多种。1、ICP:简单说就是在单片机开发时使用烧录器升级
    的头像 发表于 12-16 08:00 881次阅读
    STM32单片机实现<b class='flag-5'>固件</b>在线<b class='flag-5'>升级</b>(IAP)

    GD32单片机STM32远程下载手机程序升级固件下载局域网网页升级工具

    GD32、STM32单片机,是我们最常见的一种MCU。通常我们在使用STM32单片机都会遇到程序在线升级下载的问题。 GD32/STM32单片机的在线下载通常需要以下几种方式完成: 1
    发表于 11-10 15:03

    AT32 MCU如何使用OTA通过USART实现对固件的在线升级更新

    AT32 MCU如何使用OTA通过USART实现对固件的在线升级更新
    的头像 发表于 10-26 17:09 920次阅读
    AT32 <b class='flag-5'>MCU</b>如何使用OTA通过USART实现对<b class='flag-5'>固件</b>的在线<b class='flag-5'>升级</b>更新

    使用MCU Flash模拟EEPROM

    使用MCU Flash模拟EEPROM
    的头像 发表于 10-18 18:01 450次阅读

    AT32 MCU如何使用IAP通过USART实现对固件的在线升级更新

    AT32 MCU如何使用IAP通过USART实现对固件的在线升级更新
    的头像 发表于 09-19 16:51 1172次阅读
    AT32 <b class='flag-5'>MCU</b>如何使用IAP通过USART实现对<b class='flag-5'>固件</b>的在线<b class='flag-5'>升级</b>更新

    STM32WB系列的ST固件升级服务

    本文档介绍了 STM32WB 系列微控制器可用的固件升级服务(FUS)。这些服务由位于嵌入式 Flash 存储器安全部分中的意法半导体代码提供,可供通过用户 Flash 存储器在 Co
    发表于 09-12 09:34 0次下载

    Ethernet远程固件升级

    本实验工程实现了Ethernet远程固件升级, 通过编译下载工程到STM32F769 Flash bank1并执行,能够实现从远程服务器下载程序到Flash bank2中做
    发表于 09-11 06:00

    YTM32系列MCU Flash模块功能详解

    的直接读取运行,而NAND Flash读取是基于页的方式,一般无法随机读取。在MCU中,Flash需要支持程序和数据的存储,所以实现方式上也
    的头像 发表于 07-24 10:00 2059次阅读
    YTM32系列<b class='flag-5'>MCU</b> <b class='flag-5'>Flash</b>模块功能详解

    启明FOTA差分升级 系统级解决方案

    “你的设备远程升级可以不再是升级整个固件。启明提供了一套完整的差分升级算法,升级固件更小、下载速
    的头像 发表于 06-09 09:46 855次阅读
    启明FOTA差分<b class='flag-5'>升级</b> 系统级解决方案

    STM32 IAP升级固件与上位机例程

    本例程实现功能: 1、IAP固件程序实现固件APP搬移,跳转至APP 2、APP固件程序实现自定义功能,接收上位机下发的bin文件 3、上位机加载APPbin文件,分割下发至APP固件
    发表于 05-29 16:26 6次下载
    STM32 IAP<b class='flag-5'>升级</b><b class='flag-5'>固件</b>与上位机例程

    固件升级的设计

    在一些项目交期比较急的情况下,可以先把基本功能做出来,加入固件升级的功能,后续即使发现重大BUG,也不用返厂更新固件,只需要把加密固件发给客户自行更新,也可以使用物联网的
    的头像 发表于 05-17 16:17 808次阅读
    <b class='flag-5'>固件</b><b class='flag-5'>升级</b>的设计