MCU固件升级的闪存划分方法分享

电子说

1.3w人已加入

描述

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

1、独立型

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

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

2、嵌入型

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

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

固件升级

3、外挂型

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

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

固件升级

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

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

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

固件升级

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

固件升级

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

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分