嵌入式軟件OTA升級,有哪幾種FLASH劃分方式?
很多嵌入式硬件設備都集成了OTA功能,以便產(chǎn)品量產(chǎn)后可以通過(guò)遠程OTA等方式下載的APP應用程序。
本文引用地址:http://dyxdggzs.com/article/202501/466409.htm在使用帶有OTA功能的固件之前,其實(shí)還需要提前下載BootLoader程序,才能進(jìn)一步下載APP程序,今天就來(lái)說(shuō)說(shuō)通過(guò)OTA方式升級固件時(shí),幾種Flash(閃存)劃分方式。
1. 獨立型
所謂獨立型就是專(zhuān)門(mén)劃出一部分閃存(Flash)空間用來(lái)存儲引導程序(BootLoader)。如下圖:
· BootLoader:引導程序
· Firmware A:應用程序
· Firmware B:下載備份程序
Firmware A區用來(lái)固定執行應用程序,當引導程序(BootLoader)將接收到的新固件存入到Firmware B區,并校驗成功后,Firmware A區中的應用程序將被擦除,然后Firmware B區的新固件將寫(xiě)入到Firmware A區中。
這種方式是比較常見(jiàn)的有一種,有Firmware B備份區,使其下載更加安全。
2. 嵌入型
嵌入型就是將引導程序(BootLoader)嵌入到應用程序中去。
當引導程序(BootLoader)將接收到的新固件存儲到Firmware B區,在校驗成功后,引導程序(BootLoader)將跳到Firmware B區去執行應用程序。
3. 外掛型
外掛型就是外掛Flash或EEPROM用來(lái)存儲新固件。
當MCU內置Flash較小時(shí),可以選擇外掛存儲芯片用來(lái)緩存新固件。引導程序(BootLoader)將新固件存儲到外掛存儲芯片中,當校驗成功后,Firmware A中的應用程序將被擦除,并被寫(xiě)入外掛存儲芯片中的新固件。
是不是根據需要,我們可以隨意劃分MCU的Flash空間呢?當然不是,由于MCU的內置Flash是以塊(Block)或者頁(yè)(Page)為最小擦除單位,我們劃分MCU內置Flash空間時(shí)必須考慮到實(shí)際MCU的塊(Block)或者頁(yè)(Page)的大小。
現在我們以TMPM3H6FWFG來(lái)舉例說(shuō)明“獨立型”的Flash劃分方式。從以下規格書(shū)中的信息可知,這顆MCU的內置Flash大小為128KB,最小的擦除頁(yè)(Page)為4KB,最小的擦除塊(Block)為32KB。
根據以上信息,我們可以對這顆MCU的內置Flash進(jìn)行如下劃分:
以上只是對固件升級(OTA)中MCU的Flash空間劃分簡(jiǎn)單探討一下,實(shí)際哪種方式更適合,還需要用戶(hù)自己去評估。
評論