<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM的嵌入式Bootloader實(shí)現(xiàn)自動(dòng)升級(jí)

          基于ARM的嵌入式Bootloader實(shí)現(xiàn)自動(dòng)升級(jí)

          作者: 時(shí)間:2012-03-23 來(lái)源:網(wǎng)絡(luò) 收藏

          在系統(tǒng)初次安裝或傳統(tǒng)升級(jí)時(shí)燒寫內(nèi)核和文件系統(tǒng)時(shí)用Sigma Designs 公司提供的tera term軟件燒寫,步驟為:

          1) cd ../armutils_2.5.80.0/bin

          2) uuencode romfs-config-envision8624L-romfs-rom.bin.gz x > romfs-config-envision8624L-romfs-rom.bin.gz.uuencode //生成uuencode編碼的文件(為ascii碼,用于在windows環(huán)境下燒入flash);

          3) 運(yùn)行tera term出現(xiàn)boot >

          4)運(yùn)行config serial fast,然后選菜單setupàserial port,設(shè)置baud rate為115200(串口波特率);

          5)在Boot>download serial romfs gz ,準(zhǔn)備接受文件;

          6)選菜單file-->send file,選中romfs-config-envision8620L-romfs-rom.bin.gz.uuencode,確定后,你會(huì)看到tera term下載文件;

          7). Boot> flash romfs,把文件燒到flash中;

          在本實(shí)驗(yàn)中,升級(jí)時(shí)將生成的內(nèi)核和文件系統(tǒng)映像文件直接以二進(jìn)制形式燒進(jìn)去,不需要用uuencode轉(zhuǎn),即:把romfs-dtv-EM8624L-romfs.bin放在CF卡或移動(dòng)硬盤相應(yīng)的文件中進(jìn)行升級(jí)即可。實(shí)現(xiàn)的偽代碼為:

          #define FLASH_SIZE 0X8000000

          #define LOADER_FLASHBASE 0X46030000 //romfs存放的起始物理地址

          if (fp = fopen(UPDATEFILE , ”rb”)) == NULL)return;www.51kaifa.com

          else

          {

          Flash_erase_region(LOADER_FLASHBASE , romfs_len); //刪除0x46030000開始的romfs_len長(zhǎng)度的flash區(qū)域;

          Flash_write_data(LOADER_FLASHBASE ,UPDATEFILE, romfs_len); //把要升級(jí)的romfs燒寫0x46030000開始的romfs_len長(zhǎng)度的flash區(qū)域中;

          }

          remove(UPDATEFILE); //升級(jí)完后刪除CF卡或移動(dòng)硬盤的升級(jí)文件,以免下次啟動(dòng)又要開始升級(jí);

          system("reboot"); //重啟新系統(tǒng)

          上述函數(shù)調(diào)用放在的stage1中執(zhí)行。

          4 結(jié)論

          本文分析了嵌入式系統(tǒng)的的實(shí)現(xiàn)過(guò)程,并提出了通過(guò)CF卡或移動(dòng)硬盤實(shí)現(xiàn)嵌入式系統(tǒng)的,一方面簡(jiǎn)化了升級(jí)過(guò)程,不需要通過(guò)串口將目標(biāo)板與主機(jī)相連來(lái)實(shí)現(xiàn)系統(tǒng)升級(jí),而只需插入CF卡或移動(dòng)硬盤就可以完成,尤其對(duì)支持網(wǎng)絡(luò)功能的嵌入式設(shè)備來(lái)說(shuō),只需遠(yuǎn)程地把要升級(jí)的文件通過(guò)網(wǎng)絡(luò)拷貝到CF卡或硬盤中指定的目錄下即可,不需要帶著主機(jī)到現(xiàn)場(chǎng)去升級(jí);另一方面,升級(jí)速度也大大提高,因?yàn)橄到y(tǒng)對(duì)CF卡或移動(dòng)硬盤的存取速度遠(yuǎn)遠(yuǎn)高于串口。

          本文作者創(chuàng)新點(diǎn)是:通過(guò)CF存儲(chǔ)卡或移動(dòng)硬盤在嵌入式系統(tǒng)的Bootloader中實(shí)現(xiàn)。經(jīng)過(guò)調(diào)試,系統(tǒng)運(yùn)行正常,達(dá)到自動(dòng)升級(jí)的目的,具有一定的商業(yè)價(jià)值和社會(huì)價(jià)值,同時(shí),對(duì)同類的嵌入式系統(tǒng)的產(chǎn)品開發(fā)具有一定的借鑒意義。

          參考文獻(xiàn):

          [1]王建,許毅平,周曼麗. 7嵌入式系統(tǒng)中Bootloader分析與設(shè)計(jì)[J]. 微計(jì)算機(jī)信息,2006,5-2

          [2] 詹榮開 . 嵌入式系統(tǒng)Bootloader技術(shù)內(nèi)幕

          http://www.ibm.com/developerworks/cn/linux/l-btloader/index.html

          [3] 張治斌,喬應(yīng)旭 . SST89C54與CF卡的接口設(shè)計(jì)與實(shí)現(xiàn)

          http://www.chinaecnet.com/xsj06/xsj064331.aspwww.51kaifa.com

          [4]Raj Kamal . Embedded Systems Architecture , Programming and Design 清華大學(xué)出版社

          [5] 單承剛,戴學(xué)豐,劉樹東,崔登志 .基于的嵌入式BootLoader設(shè)計(jì)與啟動(dòng)過(guò)程 . 微計(jì)算機(jī)信息2006,32期

          [6]周立功等 . 微控制器基礎(chǔ)與實(shí)踐[M] . 北京:北京航空航天大學(xué)出版社 . 2003


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();