99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

一種同時至此本地和遠(yuǎn)程升級的方法

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

掃碼添加小助手

加入工程師交流群

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

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

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

本地升級

(1)升級工具升級

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

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

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

遠(yuǎn)程升級:

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

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

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

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

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

本地和遠(yuǎn)程同時升級

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

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

(1)制作升級文件

編譯器或是交叉編譯工具編譯生成的文件多數(shù)是二進(jìn)制文件,也就是單純的一個升級文件,不包含其他信息。攜帶更多的升級信息,我們可以將二進(jìn)制升級文件.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版本做比較,如果一樣則不進(jìn)行升級操作,如果不一樣,則將img文件中的升級文件數(shù)據(jù)寫入到flash的指定位置中去。

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

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

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

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

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

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

上面介紹的升級方法,只介紹了基本的思路,詳細(xì)實現(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)注

    5152

    文章

    19675

    瀏覽量

    317577
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213815

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

    【干貨】基于串口的FPGA遠(yuǎn)程升級

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

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

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

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

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

    PLC網(wǎng)關(guān),plc遠(yuǎn)程通信 ——?跨越距離遠(yuǎn)程控制運維升級

    在日新月異的工業(yè)4.0時代,智能化、網(wǎng)絡(luò)化已成為制造業(yè)轉(zhuǎn)型升級的關(guān)鍵詞。其中,PLC(可編程邏輯控制器)作為工業(yè)自動化控制的核心設(shè)備,其遠(yuǎn)程通信技術(shù)的突破,正引領(lǐng)著場前所未有的工業(yè)變革。今天
    的頭像 發(fā)表于 12-16 18:40 ?491次閱讀
    PLC網(wǎng)關(guān),plc<b class='flag-5'>遠(yuǎn)程</b>通信 ——?跨越距離<b class='flag-5'>遠(yuǎn)程</b>控制運維<b class='flag-5'>升級</b>

    【OTA升級】無需數(shù)據(jù)線,條命令即可完成固件升級

    OTA無線升級過程視頻演示:OTA介紹OTA(Over-The-Air,空中升級)是一種通過無線通信技術(shù)實現(xiàn)遠(yuǎn)程更新設(shè)備固件或軟件的方法。設(shè)
    的頭像 發(fā)表于 12-11 01:00 ?3821次閱讀
    【OTA<b class='flag-5'>升級</b>】無需數(shù)據(jù)線,<b class='flag-5'>一</b>條命令即可完成固件<b class='flag-5'>升級</b>!

    一種創(chuàng)新的動態(tài)軌跡預(yù)測方法

    本文提出了一種動態(tài)軌跡預(yù)測方法,通過結(jié)合歷史幀和歷史預(yù)測結(jié)果來提高預(yù)測的穩(wěn)定性和準(zhǔn)確性。它引入了歷史預(yù)測注意力模塊,以編碼連續(xù)預(yù)測之間的動態(tài)關(guān)系,并通過三重因子注意力模塊實現(xiàn)了最先進(jìn)的性能。本方法能夠生成準(zhǔn)確且穩(wěn)定的未來軌跡,這
    的頭像 發(fā)表于 10-28 14:34 ?1095次閱讀
    <b class='flag-5'>一種</b>創(chuàng)新的動態(tài)軌跡預(yù)測<b class='flag-5'>方法</b>

    一種基于光強(qiáng)度相關(guān)反饋的波前整形方法

    基于反饋的波前整形通過散射介質(zhì)聚焦光是一種成熟的方法。在傳統(tǒng)的基于反饋的波前整形中,入射光被分成N個輸入模式,這些模式由空間光調(diào)制器(SLM)使用N個段進(jìn)行調(diào)制,每個段具有相同數(shù)量和大小的像素
    的頭像 發(fā)表于 10-27 16:28 ?694次閱讀
    <b class='flag-5'>一種</b>基于光強(qiáng)度相關(guān)反饋的波前整形<b class='flag-5'>方法</b>

    一種簡單高效配置FPGA的方法

    本文描述了一種簡單高效配置FPGA的方法,該方法利用微處理器從串行外圍接口(SPI)閃存配置FPGA設(shè)備。這種方法減少了硬件組件、板空間和成本。
    的頭像 發(fā)表于 10-24 14:57 ?1621次閱讀
    <b class='flag-5'>一種</b>簡單高效配置FPGA的<b class='flag-5'>方法</b>

    BitEnergy AI公司開發(fā)出一種新AI處理方法

    BitEnergy AI公司,家專注于人工智能(AI)推理技術(shù)的企業(yè),其工程師團(tuán)隊創(chuàng)新性地開發(fā)了一種名為線性復(fù)雜度乘法(L-Mul)的AI處理方法。該方法的核心在于,它用整數(shù)加法替代
    的頭像 發(fā)表于 10-22 15:15 ?835次閱讀

    一種利用wireshark對遠(yuǎn)程服務(wù)器/路由器網(wǎng)絡(luò)抓包方法

    一種利用wireshark對遠(yuǎn)程服務(wù)器/路由器網(wǎng)絡(luò)抓包方法
    的頭像 發(fā)表于 09-21 08:03 ?4928次閱讀
    <b class='flag-5'>一種</b>利用wireshark對<b class='flag-5'>遠(yuǎn)程</b>服務(wù)器/路由器網(wǎng)絡(luò)抓包<b class='flag-5'>方法</b>

    變頻器如何切換遠(yuǎn)程本地

    ,變頻器的控制方式通常分為遠(yuǎn)程控制和本地控制兩。遠(yuǎn)程控制是指通過通信網(wǎng)絡(luò)實現(xiàn)對變頻器的遠(yuǎn)程操作和監(jiān)控,而
    的頭像 發(fā)表于 08-25 10:26 ?5169次閱讀

    Dubbo源碼淺析()—RPC框架與Dubbo

    時,就像調(diào)用本地過程樣方便。 1.2 RPC與Http的關(guān)系 用句話來總結(jié)就是: RPC是一種概念,http是一種協(xié)議,可以認(rèn)
    的頭像 發(fā)表于 08-16 15:18 ?1157次閱讀
    Dubbo源碼淺析(<b class='flag-5'>一</b>)—RPC框架與Dubbo

    TMP411-Q1遠(yuǎn)程本地溫度傳感器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TMP411-Q1遠(yuǎn)程本地溫度傳感器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-15 10:15 ?0次下載
    TMP411-Q1<b class='flag-5'>遠(yuǎn)程</b>和<b class='flag-5'>本地</b>溫度傳感器數(shù)據(jù)表

    一種無透鏡成像的新方法

    使用OAM-HHG EUV光束對高度周期性結(jié)構(gòu)進(jìn)行成像的EUV聚光顯微鏡 為了研究微電子或光子元件中的納米級圖案,一種基于無透鏡成像的新方法可以實現(xiàn)近乎完美的高分辨率顯微鏡。 層析成像是一種強(qiáng)大的無
    的頭像 發(fā)表于 07-19 06:20 ?768次閱讀
    <b class='flag-5'>一種</b>無透鏡成像的新<b class='flag-5'>方法</b>