单片机通过U盘、OTA远程等方式下载程序,需要提前下载BootLoader程序,才能进一步下载APP程序。
通过OTA方式升级固件时,Flash(闪存)划分方式如下:
( BootLoader:引导程序;Firmware A:应用程序;Firmware B:下载备份程序)
1、独立型:Firmware A区用来固定执行应用程序,当引导程序(BootLoader)将接收到的新固件存入到Firmware B区,并校验成功后,Firmware A区中的应用程序将被擦除,然后Firmware B区的新固件将写入到Firmware A区中。这种方式是比较常见的有一种,有Firmware B备份区,使其下载更加安全。
2、嵌入型:嵌入型就是将引导程序(BootLoader)嵌入到应用程序中去。当引导程序(BootLoader)将接收到的新固件存储到Firmware B区,在校验成功后,引导程序(BootLoader)将跳到Firmware B区去执行应用程序。
3、外挂型:外挂型就是用外挂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进行如下划分:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。