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

本文介绍了MCU通过OTA方式进行固件升级时,三种不同的Flash空间划分方式:独立型、嵌入型和外挂型。独立型是在Flash中划分专门区域存储BootLoader和应用程序;嵌入型是将BootLoader嵌入到应用中;外挂型则是利用外部存储芯片。以TMPM3H6FWFG为例,展示了如何根据MCU的块和页大小进行Flash空间划分。选择合适的方式取决于具体应用需求和MCU资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关注+星标公众,不错过精彩内容

c1b875112d4bba045a464fa38ad89578.png

素材来源 | 网络

微信公众号 | 嵌入式专栏

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

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

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

独立型

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

如下图:

  • BootLoader:引导程序

  • Firmware A:应用程序

  • Firmware B:下载备份程序

35dd4e27ad5cc7605018430ed88adab0.png

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

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

嵌入型

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

5025120361bda368fcefac1f105b3a30.png

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

外挂型

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

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

2658495de4274cd3bb3b37a2a3713e54.png

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

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

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

0782a5db42c02955d916bf3283c86faa.png

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

c574a6f4a9f6f796b9047bcfa8086048.png

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

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

------------ END ------------

后台回复『单片机』『嵌入式软件设计与开发』阅读更多相关文章。

欢迎关注我的公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

欢迎关注我的视频号:

bb83a7ae475bd58bb810f686955278d6.png

点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值