chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

常用的幾種IAP升級技術方案是哪些

汽車電子技術 ? 來源:大橙子瘋嵌入式 ? 作者:大橙子瘋 ? 2023-02-15 15:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

關于 IAP 技術,做過 bootloader 的想必很熟悉(IAP全稱 In Application Programming,即應用編程),和 ISP(全稱 In System Programming,即系統(tǒng)編程)不同,ISP 一般都是通過專業(yè)的調試器或者下載器對單片機內部的 Flash 存儲器進程編程(如JTAG等),而 IAP 技術是從結構上將 Flash 儲存器映射分為兩個或者多個分區(qū),在一個分區(qū)中對其他分區(qū)進行編程,這個分區(qū)通常稱為 bootloader。

OTA(全稱 Over The Air Technology,即云端下載技術,也叫做“空中下載技術”),其基礎是 IAP 技術, 可以簡單理解為 IAP 的另一種實現(xiàn)方式,通常采用的是無線升級方式(串口、CAN 等屬于“直接線控升級”),如通過藍牙近距離無線升級、ESP8266 網(wǎng)絡升級等

IAP 技術方案

關于 ISP 技術這里不過多介紹,有興趣的朋友可以自己找資料看看。

在實現(xiàn) IAP 技術時,針對通過 bootloader 更新 app 程序通常會有多種實現(xiàn)方式,可不僅僅只是 Flash 劃分兩個分區(qū),然后用 bootloader 對 app 分區(qū)編程這一種方式。

劃分兩個分區(qū),只有bootloader和app分區(qū),這個是最簡單也是最基本的功能;而在實際產(chǎn)品開發(fā)過程中,需要考慮多種因素和需求,如:升級失敗了該怎么辦?想恢復出廠的版本怎么辦?等等一系列的問題。

開發(fā)IAP時,最基本的功能就是要有接收新程序的通信協(xié)議(用來接收固件程序,以下簡稱通信協(xié)議棧),下面介紹幾種常見的實現(xiàn)方式:

bootloader 程序集成通信協(xié)議棧

以下方案是由 bootlodaer 集成通信協(xié)議棧,編程操作均在 bootloader 中實現(xiàn),APP 程序中基本不涉及編程操作。

優(yōu)點:在沒有 APP 程序或者 APP 程序異常的時候也能更新程序

缺點:bootloader 相對復雜,且程序 Flash 占用空間大

方案一:更新程序時,發(fā)送升級指令給到 MCU ,MCU 通過復位或者跳轉的方式進入 bootloader 中,bootloader 首先擦除當前 APP 程序后,開始接收新的 APP 程序并直接寫入 APP 分區(qū)中。

| booloader Flash | app Flash |

方案二:更新程序時,發(fā)送升級指令給到 MCU ,MCU 通過復位或者跳轉的方式進入 bootloader 中,bootloader 不會擦除當前 APP 程序,而是將接收到的新 APP 程序寫入劃分好的空白 Flash 中,等全部接收完成并校驗成功時,才開始擦除當前 APP 程序,并將接收完成的新 APP 程序寫入。

| booloader Flash | app Flash | 空白Flash |

方案三:更新程序時,發(fā)送升級指令給到 MCU ,MCU 通過復位或者跳轉的方式進入 bootloader 中,bootloader 不會擦除當前 APP 程序(APP1),而是將接收到的新 APP 程序寫入已擦除的 APP2 中,等全部接收完成并校驗成功時,將 APP1 程序有效標志清除,設置 APP2 程序有效標志,bootloader 根據(jù)有效標志選擇需要進入的 APP 程序 (同理:APP2下次更新程序時,先擦除 APP1 的無效程序,然后將接收的程序寫入 APP1,接收完成并互轉有效標志)。

| booloader Flash | app1 Flash | app2 Flash |


App 程序集成通信協(xié)議棧

以下方案是由 app 集成通信協(xié)議棧,編程操作在 bootloader 程序中和 APP 程序中基本都涉及;且以下方案至少需要劃分三塊區(qū)域。

優(yōu)點:bootloader 程序 Flash 占用空間小。

缺點:在沒有 APP 程序的情況下無法實現(xiàn)更新,且 Flash 容量需求大;由于 APP 程序迭代快,可能容易出現(xiàn) bug,無法對程序進行更新。

方案四:更新程序時,app 開始接收新的 APP 程序并直接寫入劃分好的空白 Flash 中,等全部接收完成并校驗成功時,通過復位或者跳轉的方式進入 bootloader 中,由 bootloader 開始擦除當前 APP 程序(可能有朋友要問,為啥不能在 app 程序中實現(xiàn)呢?請問你能踩著左右腳上天嗎?。?,并將接收完成的新 APP 程序寫入(此方案 APP 和 bootloader 均涉及編程操作)。

| booloader Flash | app Flash | 空白Flash |

方案五:更新程序時,app 開始接收新的 APP 程序并直接寫入已擦除的 APP2 中,等全部接收完成并校驗成功時,將 APP1 程序有效標志清除,設置 APP2 程序有效標志,復位后,bootloader 根據(jù)有效標志選擇需要進入的 APP 程序 (同理:APP2下次更新程序時,先擦除 APP1 的無效程序,然后將接收的程序寫入 APP1,接收完成并互轉有效標志)(此方案只有 APP 涉及編程操作)

| booloader Flash | app1 Flash | app2 Flash |

總結

圖片其中:

方案三和方案五由于程序運行地址不同,因此需要對 APP 分別進行編譯鏈接,可應用性大打折扣。

OTA 升級由于采用的無線升級方式,因此相對于“直接線控升級”來說斷連的可能性較高,出錯的情況也較高,不適合 MCU 每次接收完一幀數(shù)據(jù)后立馬寫入。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ISP
    ISP
    +關注

    關注

    6

    文章

    492

    瀏覽量

    53070
  • bootloader
    +關注

    關注

    2

    文章

    239

    瀏覽量

    46634
  • IAP技術
    +關注

    關注

    0

    文章

    7

    瀏覽量

    7047
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于IAP和Keil MDK的遠程升級設計

    應用編程(IAP)技術為系統(tǒng)在線升級和遠程升級提供了良好的解決方案,也為數(shù)據(jù)存儲和現(xiàn)場固件的升級
    發(fā)表于 03-24 12:03

    STM32 IAP在線升級

    STM32很強大的一個功能是支持IAP在線升級,IAP(In-Application Programming),即在“應用程序中編程 ",通俗的來將是程序自己可以往程序存儲器里寫數(shù)據(jù)或修改
    發(fā)表于 03-09 15:56

    IAP升級的相關資料分享

    IAP升級簡介IAP是In Application Programming的首字母縮寫,IAP是用戶自己的程序在運行過程中對User Flash的部分區(qū)域進行燒寫,目的是在產(chǎn)品發(fā)布后可
    發(fā)表于 11-01 09:05

    如何為STM32寫bootloader實現(xiàn)IAP升級

    ARM內核芯片下載程序方式有哪幾種?如何為STM32寫bootloader實現(xiàn)IAP升級?
    發(fā)表于 12-07 07:44

    IAP是什么?IAP升級流程是怎樣的

    IAP是什么?IAP升級流程是怎樣的?IAP應用編程有哪些實例?。?/div>
    發(fā)表于 12-14 06:53

    有線IAP用戶程序升級的一些心得分享

    升級的基礎上,實現(xiàn)無線升級的一些心得和建議。關于有線升級,大家可以在網(wǎng)上搜索或直接看我的上一篇博文我對IAP的理解常用的單片機程序下載方式有
    發(fā)表于 02-16 06:33

    IAP/Bootloader升級原理是什么?

    單片機在線升級原理是什么?IAP/Bootloader升級原理是什么?
    發(fā)表于 02-22 08:29

    【應用筆記】CS32L010 IAP 升級

    技術文檔旨在幫助客戶實現(xiàn)IAP 升級提供一個參考方案和模板。本文檔提供基于 UART 升級的 MCU 參考代碼和 PC 端的
    發(fā)表于 10-09 16:44

    【應用筆記】CS32F03x IAP 升級

    技術文檔旨在幫助客戶實現(xiàn)IAP 升級提供一個參考方案和模板。本文檔提供基于 UART 升級的 MCU 參考代碼和 PC 端的
    發(fā)表于 11-15 14:28

    基于IAP遠程升級技術在空間應用系統(tǒng)解決方案

    IAP可通過專門設計的固件程序來編程內部存儲器,不需要硬件支持,所以IAP技術提高了嵌入式系統(tǒng)的可擴展性與可維護性,能在不變的硬件平臺上升級其軟件版本,提供更多功能及增值服務,適合在軌
    發(fā)表于 11-27 17:19 ?2次下載
    基于<b class='flag-5'>IAP</b>遠程<b class='flag-5'>升級</b><b class='flag-5'>技術</b>在空間應用系統(tǒng)解決<b class='flag-5'>方案</b>

    MCU之IAP升級

    IAP升級簡介IAP是In Application Programming的首字母縮寫,IAP是用戶自己的程序在運行過程中對User Flash的部分區(qū)域進行燒寫,目的是在產(chǎn)品發(fā)布后可
    發(fā)表于 10-25 13:06 ?18次下載
    MCU之<b class='flag-5'>IAP</b><b class='flag-5'>升級</b>

    STM32F030芯片的IAP升級

    昨天IAP升級差點翻水水,具體過程容我細細道來。。。單片機在線升級應該是IAP+APP。怎么做STM32F030的IAP程序我就簡單介紹一下
    發(fā)表于 11-29 16:36 ?17次下載
    STM32F030芯片的<b class='flag-5'>IAP</b><b class='flag-5'>升級</b>

    STM32的IAP升級APP

    STM32的IAP升級APP什么是IAP?In Application Programming的首字母縮寫,IAP是用戶自己的程序在運行過程中對User Flash的部分區(qū)域進行燒寫,
    發(fā)表于 12-04 12:36 ?11次下載
    STM32的<b class='flag-5'>IAP</b><b class='flag-5'>升級</b>APP

    關于在線升級IAP的基礎知識

    本文主要講解在線升級IAP的基礎知識, 主要是針對IAP 從原理分析, 分區(qū)劃分, 到代碼編寫和實驗驗證等過程闡述這一過程. 幫助大家加深對在線升級的認識.
    的頭像 發(fā)表于 05-31 17:24 ?2979次閱讀

    幾種常用單片機的在線升級能力比較

    電子發(fā)燒友網(wǎng)站提供《幾種常用單片機的在線升級能力比較.pdf》資料免費下載
    發(fā)表于 03-24 09:39 ?2次下載