zoukankan      html  css  js  c++  java
  • MCU固件升级(OTA)的几种Flash划分方式

    现在在MCU上实现固件升级(OTA)功能变得越来越普遍,今天我们就来探讨一下MCU固件升级(OTA)的几种闪存(Flash)划分方式:

    1.独立型

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

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

    MCU固件升级(OTA)的几种Flash划分方式

     

    2.嵌入型

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

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

    MCU固件升级(OTA)的几种Flash划分方式

     

    3.外挂型

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

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

    MCU固件升级(OTA)的几种Flash划分方式

     

    是不是根据需要,我们可以随意划分MCU的Flash空间呢?

    当然不是,由于MCU的内置flash是以块(Block)或者页(Page)为最小擦除单位,我们划分MCU内置flash空间时必须考虑到实际MCU的块(Block)或者页(Page)的大小。

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

    MCU固件升级(OTA)的几种Flash划分方式

     

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

    MCU固件升级(OTA)的几种Flash划分方式

     

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

  • 相关阅读:
    vue项目发布到服务器之后出现空白页和图片找不到的问题
    H5中设置一个元素一直在页面的最底部
    vue项目打包出现的问题(日常记录)
    vue写H5注册页面
    vue项目中动态图片生成
    Java中boolean类型占用多少个字节
    Java将一个目录下的所有数据复制到另一个目录下
    Java使用递归找出某目录下的所有子目录以及子文件
    实现短信验证码
    C#连接Oracle数据库(直接引用dll使用)
  • 原文地址:https://www.cnblogs.com/freesun/p/13195995.html
Copyright © 2011-2022 走看看