OTA时FLASH的如何划分的,有哪些方式?

在使用带有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进行如下划分:

图片

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只慵懒的小橘猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值