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

admin 2022年3月13日12:17:44评论210 views字数 1434阅读4分46秒阅读模式

移动端安全开发、移动端安全、网络安全视频课程
(1).移动安全App安全检测、渗透测试、风控、隐私合规、加固防护、病毒逆向的视频课程

(2).Android系统Framework、驱动、内核等模块的定制开发和Android APP开发以及鸿蒙APP开发的视频课程

(3).网络安全漏洞挖掘、Web安全、渗透测试、病毒逆向、溯源反制等系列视频课程


以上视频课程会在近期发布,欢迎各位扫码关注"哆啦安全"公众号、视频号

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

通过OTA方式升级固件时,几种Flash(闪存划分方式。


独立型

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


如下图:
  • BootLoader:引导程序

  • Firmware A:应用程序

  • Firmware B:下载备份程序


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

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

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

嵌入型

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


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

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

外挂型

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


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

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


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

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

MCU固件升级的几种Flash划分方式
 
根据以上信息,我们可以对这颗MCU的内置Flash进行如下划分:

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

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

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


【推荐阅读】

Android10和11存储完全适配!

Android文件系统与Android11分区存储

Android11外部存储权限适配指南及方案


bundletool工具使用(Android aab包安装)

Google Play上架App之aab转apk和apk转aab的使用方法

Android App Bundle混淆加密加壳加固保护的解决方案(过Google App上架审核)


移动端过检测抓包最全解决方案


2022年岗位招聘第1期
Android Framework/驱动/内核中高级工程师


burpsuite在各场景下的抓包方法(建议收藏)


ASM插桩实现Android端无埋点性能监控

Gradle Plugin+Transform+ASM Hook并替换隐私方法调用(彻底解决隐私不合规问题)


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

原文始发于微信公众号(哆啦安全):MCU固件升级的几种Flash划分方式

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月13日12:17:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   MCU固件升级的几种Flash划分方式http://cn-sec.com/archives/827783.html

发表评论

匿名网友 填写信息