91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內(nèi)不再提示

一種同時至此本地和遠程升級的方法

strongerHuang ? 來源:CSDN ? 作者:li_wen01 ? 2022-06-13 09:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式Linux設(shè)備要進行軟件升級有很種多方式方法,總的來說可以分為本地升級和遠程升級。

本地升級包括升級工具升級,存儲介質(zhì)升級等,遠程升級是指通過網(wǎng)絡(luò)進行程序升級。

這里介紹一種同時至此本地和遠程升級的方法,以供參考。

本地升級

(1)升級工具升級

現(xiàn)在的升級工具有很多,不同的芯片支持不同的工具,比如jlink,串口等,海思的芯片提供Hitool升級工具。升級工具升級直接參考芯片手冊就可以了,這里不再介紹。

(2)存儲設(shè)備升級

常見的存儲設(shè)備有SD卡,TF卡,U盤,硬盤等。將升級文件拷貝到存儲設(shè)備中,設(shè)備啟動的時候,通過uboot去檢索存儲設(shè)備中是否有升級文件,如果有,則直接進行升級。

遠程升級:

(1)uboot通過FTP服務(wù)下載升級文件升級

其實該方法可以說是本地升級也可以說是網(wǎng)絡(luò)升級,uboot啟動之后,設(shè)置uboot的網(wǎng)絡(luò)參數(shù)和FTP服務(wù),通過網(wǎng)絡(luò)將升級文件下載到內(nèi)存中,然后再通過uboot的flash擦除了寫入指令,將升級文件直接寫入到flash的指定位置上。

這種方式用來進行設(shè)備調(diào)試就可以,方便快捷,但它不能批量操作,也不能程序自動升級,需要人為的輔助。

(2)通過應(yīng)用程序網(wǎng)絡(luò)升級

該方法是嵌入式linux設(shè)備遠程升級的最常用的方式?;玖鞒淌牵簂inux系統(tǒng)啟動之后,通過應(yīng)用程序從服務(wù)器中下載升級文件進行程序升級。該方法不需要認為操作,可設(shè)計程序自動全部升級。

本地和遠程同時升級

下面介紹一種可以同時至此本地升級和遠程升級的方法,首先看下圖:

1df604f2-eab2-11ec-ba43-dac502259ad0.jpg

Flash數(shù)據(jù)分布示意圖

假設(shè)有個64M的flash,間Flash分成uboot,kernel,roootfs,app,para 五個分區(qū)。然后我們在參數(shù)區(qū)para分區(qū)的開始一段空間用來存儲升級文件的版本信息。

參數(shù)區(qū)的深藍色區(qū)域用來存儲軟件的版本信息,橙色區(qū)域用來存儲網(wǎng)絡(luò)升級參數(shù)。下面以kernel升級為例,具體說明本地升級與網(wǎng)絡(luò)升級的流程,其它模塊升級于此相同。

(1)制作升級文件

編譯器或是交叉編譯工具編譯生成的文件多數(shù)是二進制文件,也就是單純的一個升級文件,不包含其他信息。攜帶更多的升級信息,我們可以將二進制升級文件.bin 打包成img 文件。

在Linux系統(tǒng)中可以直接使用mkimage命令,該命令可以指定CPU類型,img類型,壓縮類型,內(nèi)核的入口地址,頭結(jié)構(gòu)的名字,image的載入地址等等信息。

(2)本地升級實現(xiàn)

將img文件拷貝到U盤中插入設(shè)備。uboot需要為升級做如下操作:uboot起來之后,去掃描是否有插入存儲設(shè)備,如果有存儲設(shè)備,則掃描存儲設(shè)備中是否有升級文件,以升級kernel為例,假設(shè)升級文件名為update_kernl.img。

當(dāng)uboot檢測到update_kernel.img文件后,去解析該img文件的文件頭。將有用信息提取出來,比如文件頭里的時間,img的創(chuàng)建時間等。

以這些作為升級參數(shù),與上面flash圖參數(shù)區(qū)中的Kernel Para版本做比較,如果一樣則不進行升級操作,如果不一樣,則將img文件中的升級文件數(shù)據(jù)寫入到flash的指定位置中去。

最后更新Flash參數(shù)區(qū)kernel的版本信息。也就是上面圖中參數(shù)區(qū)深藍色中的Kernel Para。到此就完成了本地升級的操作。

(3)遠程升級實現(xiàn)

首先將升級文件update_kernel.img從服務(wù)器中下載下來,與本地升級類似,提取update_kernel.img的頭文件信息與Kernel Para參數(shù)做比較,如果不一樣就升級。

一般升級地址是存在uboot的參數(shù)里,所以我們可以先將升級文件放到內(nèi)存中(Hi3520芯片有一部分內(nèi)存是用來做編解碼的,軟重啟內(nèi)存的數(shù)據(jù)不會被清空),uboot重啟之后再進行升級操作。

在重啟之前,將升級文件存放的地址AddrPhy,升級文件的校驗信息DataCrc32,版本信息Version存放到flash的參數(shù)區(qū)去。

也就是上圖參數(shù)區(qū)的橙色位置。uboot重啟之后,去讀取上圖中flash參數(shù)區(qū)的橙色區(qū)域信息,看是否有需要升級的文件,如果有就按照升級參數(shù)的地址去讀取升級文件,然后再將升級文件寫到flash的固定位置去,最后更新參數(shù)區(qū)的升級信息。這樣就完成了遠程的升級操作。

上面介紹的升級方法,只介紹了基本的思路,詳細實現(xiàn)內(nèi)容太多不再介紹。如有更好的方法,歡迎評論指導(dǎo)。

審核編輯 :李倩

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

    關(guān)注

    5200

    文章

    20483

    瀏覽量

    334596
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11772

    瀏覽量

    219136

原文標(biāo)題:嵌入式本地和遠程升級程序的方法

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    TMP411/TMP411D:高精度遠程本地溫度傳感器的深度剖析

    TMP411/TMP411D:高精度遠程本地溫度傳感器的深度剖析 在電子設(shè)備的設(shè)計中,溫度監(jiān)測是至關(guān)重要的環(huán)。TMP411和TMP411D作為遠程
    的頭像 發(fā)表于 02-26 09:45 ?182次閱讀

    本地智能家居系統(tǒng)ESPHome,實現(xiàn)遠程訪問調(diào)試

    ESPHome 是個開源固件框架,支持通過 YAML 配置實現(xiàn)智能家居自動化,可本地部署并公網(wǎng)訪問,便于遠程開發(fā)。
    的頭像 發(fā)表于 12-30 14:48 ?1284次閱讀
    <b class='flag-5'>本地</b>智能家居系統(tǒng)ESPHome,實現(xiàn)<b class='flag-5'>遠程</b>訪問調(diào)試

    使用HTTP實現(xiàn)IAP的方法

    。 HTTP 基于 TCP 協(xié)議運行,它提供了一種以 HTML 表單形式從 Web 客戶端(Mozilla Firefox或 Microsoft Internet Explorer)發(fā)送二進制文件的方式。這稱為 HTTP 文件上傳。
    發(fā)表于 12-16 06:18

    電能質(zhì)量在線監(jiān)測裝置支持遠程批量升級嗎?

    遠程批量升級的核心實現(xiàn)機制 1. 技術(shù)架構(gòu) 云 - 邊 - 端協(xié)同 :通過云平臺(或本地管理系統(tǒng))統(tǒng)管理,邊緣網(wǎng)關(guān)匯聚數(shù)據(jù),終端裝置執(zhí)行升級
    的頭像 發(fā)表于 12-12 15:36 ?337次閱讀

    指令集測試的一種糾錯方法

    本文描述在進行指令集測試的一種糾錯方法 1.打開測試指令集對應(yīng)的dump文件 dump文件是指由匯編文件進行反匯編之后,可以供人閱讀指令的反匯編文件。其包含了每條指令的具體操作的信息。指令集測試
    發(fā)表于 10-24 14:04

    使用RTT的維護云進行遠程固件升級(OTA),怎么沒有網(wǎng)絡(luò)升級的方式?

    使用RTT的維護云進行遠程固件升級(OTA),怎么沒有網(wǎng)絡(luò)升級的方式的?只有藍牙,近距離的固件升級。詳細如圖所示,只有藍牙,沒有連接互聯(lián)網(wǎng),通過固件上傳服務(wù)器進行在線
    發(fā)表于 10-13 06:36

    一種新的無刷直流電機反電動勢檢測方法

    無位置傳感器無刷直流電機的控制算法是近年來研究的熱點之,有霍爾位置信號直流電機根據(jù)霍爾狀態(tài)來確定通斷功率器件。利用無刷直流電機的數(shù)學(xué)模型,根據(jù)反電動勢檢測原理,提出了一種新的線反電動勢檢測方法
    發(fā)表于 08-07 14:29

    一種新的無刷直流電機反電動勢檢測方法

    無位置傳感器無刷直流電機的控制算法是近年來研究的熱點之,有霍爾位置信號直流電機根據(jù)霍爾狀態(tài)來確定通斷功率器件。利用無刷直流電機的數(shù)學(xué)模型,根據(jù)反電動勢檢測原理,提出了一種新的線反電動勢檢測方法
    發(fā)表于 08-04 14:59

    Texas Instruments TMP4718遠程本地溫度傳感器數(shù)據(jù)手冊

    Texas Instruments TMP4718高精度遠程本地溫度傳感器具有本地集成傳感器和
    的頭像 發(fā)表于 08-04 13:54 ?1200次閱讀
    Texas Instruments TMP4718<b class='flag-5'>遠程</b>和<b class='flag-5'>本地</b>溫度傳感器數(shù)據(jù)手冊

    ESP32通過OTA無線局域網(wǎng)遠程升級下載程序

    本文介紹了ESP32通過OTA無線局域網(wǎng)遠程升級固件的基本方法
    的頭像 發(fā)表于 07-22 13:21 ?2008次閱讀
    ESP32通過OTA無線局域網(wǎng)<b class='flag-5'>遠程</b><b class='flag-5'>升級</b>下載程序

    漢思新材料取得一種PCB板封裝膠及其制備方法的專利

    漢思新材料取得一種PCB板封裝膠及其制備方法的專利漢思新材料(深圳市漢思新材料科技有限公司)于2023年取得了項關(guān)于PCB板封裝膠及其制備方法的發(fā)明專利(專利號:CN20231015
    的頭像 發(fā)表于 06-27 14:30 ?786次閱讀
    漢思新材料取得<b class='flag-5'>一種</b>PCB板封裝膠及其制備<b class='flag-5'>方法</b>的專利

    RK3568開發(fā)板OTA升級

    OTA(Over-The-Air)升級作為一種無損失的系統(tǒng)升級方式,能夠遠程將新功能部署到產(chǎn)品上,極大地提高了設(shè)備的可維護性和可擴展性。除了通過網(wǎng)絡(luò)直接下載OTA
    的頭像 發(fā)表于 04-21 14:32 ?1583次閱讀
    RK3568開發(fā)板OTA<b class='flag-5'>升級</b>

    【干貨】基于串口的FPGA遠程升級

    變得簡單有趣,記得給我點贊留言,讓我知道你也在這趟奇妙的旅程里哦。遠程升級簡介遠程升級的實質(zhì)是通過遠程且不影響當(dāng)前芯片工作狀態(tài)的方式實現(xiàn)芯片
    的頭像 發(fā)表于 04-14 09:53 ?2152次閱讀
    【干貨】基于串口的FPGA<b class='flag-5'>遠程</b><b class='flag-5'>升級</b>

    文解鎖OTA遠程升級方案!基于RK3562全國產(chǎn)平臺

    在設(shè)備維護成本高、用戶體驗難提升的雙重難題下,OTA(Over-the-Air)空間下載技術(shù)的出現(xiàn),無疑成為破解困境的“金鑰匙”,它是一種通過無線網(wǎng)絡(luò)實現(xiàn)設(shè)備遠程升級的技術(shù),全程數(shù)據(jù)無損。OTA既可
    的頭像 發(fā)表于 04-07 10:15 ?1385次閱讀
    <b class='flag-5'>一</b>文解鎖OTA<b class='flag-5'>遠程</b><b class='flag-5'>升級</b>方案!基于RK3562全國產(chǎn)平臺

    一種永磁電機用轉(zhuǎn)子組件制作方法

    一種永磁電機所使用的轉(zhuǎn)子組件,是由磁鋼與芯軸組裝而成,產(chǎn)品工作轉(zhuǎn)速80 000 r /mi n,磁鋼相對于芯軸的同軸度要小于O.015 mm。現(xiàn)有的裝配方法是:先在芯軸兩端面制作中心孔,然后直接
    發(fā)表于 03-25 15:20