精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

如何遠程升級單片機程序詳細解說

Q4MP_gh_c472c21 ? 來源:CSDN技術社區 ? 作者:天外飛仙CUG ? 2021-04-17 09:32 ? 次閱讀

之前的文章中介紹過串口和U盤的IAP程序設計。在物聯網應用中,遠程IAP升級MCU的程序是一項非常有用的功能。當設備出現程序問題或者需要更新程序時,只需要在服務器上對設備進行升級,不需要在有專門的人員去現場進行升級,節省人力物力。

要實現遠程升級,首先要實現以下幾個基本功能:

1、Flash讀寫。不管是本地IAP還是遠程IAP,這都是最基本的功能。

2、無線通訊。可通過WIFI、4G以太網等多種方式來實現,根據實際項目需求選擇。

3、通訊協議。常用的通訊協議有TCP、HTTP、FTP、MQTT等。其中HTTP、FTP和MQTT都屬于應用層協議,都是基于TCP(傳輸層)來實現的。用戶也可以自己基于TCP編寫簡單的通訊協議來實現。

遠程IAP與本地IAP的設計思路是一致的,都需要設計BOOT程序和APP程序。但也有一些需要注意的地方。主要是遠程升級需要考慮網絡延遲甚至網絡中斷的問題。體現在以下幾方面:

設計程序緩存區

在內部或外部存儲器開辟一塊區域,用于存儲分包接收到的程序數據。等到全部數據接收完畢后再一次性寫入到Flash進行升級。這樣做有以下2點好處:

1.直接升級時間可能會比較長,影響用戶正常使用,增加緩存區設計可以大大減少升級時間。

2.直接升級時,如果網絡出現問題,可能導致設備無法正常啟動變磚。增加緩存區設計后,即使升級數據傳輸失敗,也不影響設備的正常使用。

健壯的通訊協議

本地升級時數據傳輸出錯的概率比較小。但遠程設計時就需要多考慮一些,比如前后兩包數據可能同時達到等。因此,設計通訊協議時,就要更嚴謹,服務器發送的指令和數據都需要設備的確認回復。

程序備份設計

即使有上面的各種設計的保障,也不能保證升級過程不會失敗。最好能夠設計一個程序備份區,在程序升級失敗時運行備份區程序。 下面介紹一種簡單的遠程升級的步驟。

服務器發送升級請求指令。

設備回復收到請求升級指令。

服務器發送程序升級數據。(一般包含包頭、包號、總包數、分包的程序數據、校驗)

設備收到程序數據后,確認校驗無誤,存儲到程序緩存區,并按包號回復服務器,防止出現傳輸包錯亂。

服務器收到回復后再發送下一包數據,直至結束。

程序數據發送完成后,服務器發送升級結束指令。

設備收到結束指令后,回復服務器。并在Flash指定位置寫入升級標志,重啟進入BOOT程序。

BOOT程序讀取升級標志,若需要升級,則讀取程序緩存區數據,寫入到Flash中。

升級完畢,跳轉到Flash指定地址運行。
編輯:lyn

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

    關注

    6032

    文章

    44521

    瀏覽量

    633092
  • FlaSh
    +關注

    關注

    10

    文章

    1622

    瀏覽量

    147760
  • WIFI
    +關注

    關注

    81

    文章

    5288

    瀏覽量

    203298
  • Boot
    +關注

    關注

    0

    文章

    149

    瀏覽量

    35784

原文標題:遠程升級單片機程序怎么設計?

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    單片機怎么寫入程序

    程序通常涉及以下幾個步驟: 選擇單片機和開發環境 : 確定項目需求,選擇合適的單片機型號。 安裝相應的開發環境,如Keil、IAR、MPLAB等。 硬件連接 : 將單片機連接到開發板或
    的頭像 發表于 10-21 11:21 ?278次閱讀

    單片機的中斷機制

    單片機的中斷機制是一種重要的處理方式,它允許單片機在執行主程序的過程中,能夠暫停當前任務,轉而處理外部或內部緊急事件。這種機制極大地提高了系統的響應速度和處理能力,使得單片機在各種應用
    的頭像 發表于 10-17 18:03 ?378次閱讀

    keil可以讀出單片機程序

    Keil是一款廣泛應用于單片機程序開發的軟件,它提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案。然而,關于Keil是否能直接“讀出”單片機程序
    的頭像 發表于 09-02 10:32 ?717次閱讀

    單片機燒錄程序用什么軟件

    單片機燒錄程序單片機開發過程中的一個重要環節,涉及到將編寫好的程序代碼通過燒錄器寫入單片機的ROM中,以實現對
    的頭像 發表于 09-02 10:05 ?899次閱讀

    單片機燒錄程序可以重新燒嗎

    單片機(Microcontroller Unit, MCU)是一種集成電路芯片,它將計算機的CPU、存儲器、輸入/輸出接口等集成在一塊芯片上,用于控制各種電子設備。單片機燒錄程序是指將編寫
    的頭像 發表于 09-02 10:04 ?953次閱讀

    單片機燒錄程序的線比單片機上的少還能燒錄嗎

    單片機燒錄原理 單片機燒錄是指將編寫好的程序代碼通過一定的方式傳輸到單片機的存儲器中,使其能夠按照程序的指令運行。這個過程通常需要使用燒錄器
    的頭像 發表于 09-02 09:54 ?413次閱讀

    單片機燒錄程序的基本步驟是什么

    單片機燒錄程序單片機開發過程中非常重要的一步,它涉及到將編寫好的程序代碼通過一定的方式傳輸到單片機內部的存儲器中,使
    的頭像 發表于 09-02 09:47 ?813次閱讀

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

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

    單片機怎么能夠與手機實現遠程通訊呢?

    多種應用。本文將從遠程通訊原理、通訊方式以及應用案例等方面進行詳細介紹。 一、遠程通訊原理 1. Wi-Fi通訊原理 Wi-Fi(無線局域網)是一種常用的遠程通訊方式,通過將
    的頭像 發表于 01-15 14:59 ?2853次閱讀

    基于單片機的糧倉遠程監控系統的設計

    電子發燒友網站提供《基于單片機的糧倉遠程監控系統的設計.rar》資料免費下載
    發表于 01-12 10:52 ?15次下載

    單片機程序讀取需要什么工具

    單片機程序讀取的工具可以分為硬件工具和軟件工具兩類。下面將詳細介紹這些工具的種類、功能和使用方法。 一、硬件工具 單片機開發板:單片機開發板
    的頭像 發表于 01-02 18:10 ?3664次閱讀

    基于單片機的糧倉遠程監控系統的設計

    基于單片機的糧倉遠程監控系統的設計(實物)
    發表于 01-02 09:59 ?2次下載

    單片機串口通信的接收與發送程序

    單片機串口通信的接收與發送程序 一、引言 單片機串口通信是一種常見的通信方式,廣泛應用于各種嵌入式系統和工業控制領域。通過串口通信,單片機可以與其他設備或計算機進行數據交換,實現
    的頭像 發表于 12-19 13:57 ?5783次閱讀

    STM32單片機實現固件在線升級(IAP)

    1,固件升級方案綜述單片機的固件升級方式有很多種。1、ICP:簡單說就是在單片機開發時使用燒錄器升級程序
    的頭像 發表于 12-16 08:00 ?5053次閱讀
    STM32<b class='flag-5'>單片機</b>實現固件在線<b class='flag-5'>升級</b>(IAP)

    pic單片機匯編程序實例

    以下是一個簡單的PIC單片機匯編程序示例,這個程序將實現一個LED閃爍的功能。 首先,我們需要了解PIC單片機的結構和指令集。PIC單片機
    的頭像 發表于 12-14 11:01 ?1787次閱讀