《MCU固件的几种Flash划分方式.docx》由会员分享,可在线阅读,更多相关《MCU固件的几种Flash划分方式.docx(4页珍藏版)》请在第壹文秘上搜索。
1、你通过U盘、OTA远程等方式卜.我的程序,其实你还是需要提前卜.载Boot1.oader程序,才能进一步下载APP程序.今天就来说说通过OTA方式升级固件时,几种FIaSh(闪存)划分方式。独立型所谓独立型就是专门划出一部分闪存(F1.ash)空间用来存储引导程序(Boot1.oader).如下图:.Boot1.oader:引导程序 FirmwareA:应用程序 FirmwareB:下载备份程序Interna1.F1.a(hFirmwareBFirmwareABoot1.oaderFirmwareA区用来固定执行应用程序,当引导程序(Boot1.oader)将接收到的新固件存入到FirmWar
2、eB区,并校瞪成功后,FirmwareA区中的应用程序将被擦除,然后FirmwareB区的新固件将写入到FirmWareA区中。这种方式是比较常见的有一种,有FirmWarQB符份区,使其下载更加安全。嵌入型嵌入型就是将引导程序(Boot1.oader)嵌入到应用程序中Interna1.F1.ashFirmwareBFirmwareAWithBoot1.oader当引导程序(Boot1.oader)将接收到的新固件存储到EirmwareB区,在校验成功后,引导程序(Boo1.1.Oader)将跳到FirmwareB区去执行应用程序。外挂型外挂型就是外挂F1.ash或EEPROM用来存储新固件.
3、当MCU内nI-Iash较小时,可以选择外挂存储芯片用来缓存新固件。引导程序(Boot1.oader)将新固件存储到外挂存储芯片中,当校验成功后,FirInWareA中的应用程序将被擦除,并被写入外挂存储芯片中的新固件。Interna1.F1.ashExterna1.F1.ash/EEPROMFirmwareASPI/I2CFirmwareBBoot1.oader是不是根据需要,我们可以I意划分MeU的FIaSh空间呢?当然不是,由于MCU的内置FIaSh是以块(BIoCk)或拧页(Page)为最小擦除单位,我们划分MCU内置FIaSh空间时必须考虑到实际MCU的块(B1.oCk)或者页(Pa
4、ge)的大小。现在我们以TMPV3H6FWFG来举例说明“独立型”的F1.ash划分方式。从以下规格书中的信息可知,这颗MCU的内置F1.ash大小为128KB,最小的擦除页(Page)为4KB,最小的擦除块(B1.ock)为32KB。AreaB1.ocknameCodeexecutionaddress0B1.ockO(Note)PGOOxOOOOOOOO-OxOOOOOFFFPG10x001000-0001FFFPG2Ox00002000-Ox00002FFFPG30x00300O0x003FFFPG40x000040-0x004FFFPG50005000OxO05FFFPG6OxOOOO6OOO-OxOOOO6FFFPG7O7000-Ox00007FFFB1.ock1.0x0000800(0x0000FFFFB1.ock20x000100000x017FFFB1.ock30x00018000-0x0001FFFF根据以上信息,我们可以对这颗MCU的内巴FIaSh进行如下划分:InternaIFIasbAddressOxIFFFFFirmwareB0100FirmwareAOxO1.(X)OBoot1.oader0x00000Size64KB60KB4KB以上只是对固件升级(OTA)中MCU的FIaSh空间划分简单探讨一下,实际哪种方苴更适合,还需耍用户自己去评估。