娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年02月09日(星期日)

正在發生

2018年02月09日 | 利用NAND Flash實現對嵌入式系統的遠程更新

發布者:二進制心靈 來源: 21ic關鍵字:NAND  Flash  嵌入式系統  遠程更新 手機看文章 掃描二維碼
隨時隨地手機看文章

引言


嵌入式系統在各個領域有著廣泛的應用,嵌入式系統的維護與升級也變得日益重要。由于新技術的不斷涌現和對系統功能、性能等要求的不斷提高,開發者必須能夠針對系統進行升級和維護,以延長系統的使用周期,改善系統性能,增強系統適應性。     


傳統的嵌入式升級方式通常由維護人員到達設備現場進行重新燒寫系統或者更換Flash存儲部件,當設備數量龐大并且分布范圍廣泛時,這種升級維護方式的工作量將非常大,而且耗費的時間長、成本高。隨著嵌入式技術的迅速發展,嵌入式系統的遠程升級技術得到了快速發展。參考文獻提出了一種基于GPRS的嵌入式系統軟件的遠程在線升級,通過GPRS網絡實現對ARM嵌入式終端的系統軟件進行在線升級。這種方法的不足在于無法實現系統本身的遠程升級。參考文獻實現了一種在Bootloader中實現嵌入式系統自動升級的方法,這種方法是將映像文件存儲在CF卡中,系統重啟時Bootloader將檢測CF卡中的映像文件,讀取映像文件并燒寫到目標板的Flash中,實現升級。如果終端的數量較大且分布廣泛,采用這種方法會增加很大的工作量。     


本文針對嵌入式Linux操作系統提出了一種新的更新機制,并且基于ARM9微處理器和NAND Flash存儲器,對uboot和Linux內核進行修改,實現了對嵌入式Linux系統的遠程自動更新。克服了傳統方法工作量大的缺點,具有操作簡單、更新速度快的特點。 


1 基本原理 

1.1 總體結構     


支持遠程自動更新的嵌入式Linux系統機構,它可以分為嵌入式終端和遠程管理系統兩部分。系統的總體結構如圖1所示,嵌入式終端采用基于ARM9架構的AT91RM9200微處理器,采用擴展的32MB SDRAM,由2片16位數據寬度的SDRAM芯片HY57V281620并連而成,采用64MB NANDFla sh存儲芯片K9F1208,運行嵌入式Linux系統。遠程管理系統選用PC機。嵌入式終端通過以太網連接到遠程管理系統,管理人員可以通過telne t即可對各個嵌入式終端進行監控、管理和遠程更新。

1.2 系統更新流程     

本設計對uboot和Linux內核進行改造,使其支持YAFFS2文件系統,對系統添加ftp、telnet等應用服務。系統更新流程如圖2所示。系統正常運行時管理人員可以通過telnet遠程登錄到嵌入式終端進行監控和管理。當需要對系統進行更新時,通過遠程管理系統的ftp客戶端登錄到嵌入式終端,將需要更新的內核映像和文件系統上傳到NAND Flash。上傳完畢后對原有的內核映像和文件系統進行備份并重啟系統。系統重啟后uboot將NAND Flash中更新后的內核映像和文件系統搬運到SDRAM中,然后跳轉到SDRAM中啟動Linux系統,掛載YAFFS2文件系統,啟動各種應用服務。


2 關鍵技術

2.1 uboot支持YAFFS2文件系統

YAFFS2是專門針對嵌入式設備,特別是使用NAND Flash作為存儲器的嵌入式設備而創建的一種文件系統。對uboot進行修改,使其支持YAFFS2文件系統,能夠將系統內核和文件系統燒寫到NAND Flash,同時也能夠在NAND Flash中引導啟動系統。NAND Flash的分布圖如圖3所示。系統燒寫時,首先用JTAG丁具將uboot燒寫到NAND Flash的最前面;然后在uboot上執行tftp命令將內核映像zImage和根文件系統ramdisk傳送到SDRAM中;在uboot上執行ymount命令掛載yaffs2文件系統;在uboot上執行ywrm命令可以將zImage和ramdisk燒寫到NAND Flash中,此時也可以通過yls命令看到已經燒寫的zImage和ramdisk。系統運行時,uboot從NAND Flash中引導zImage和ramdisk,在uboot上執行ymount命令掛載YAFFS2文件系統;執行yrdm命令將zImage和ramdisk讀到SDRAM相應的地址中;執行go命令開始引導內核,首先解壓ramdisk.gz文件,然后跳轉到zImage處執行,zImage自解壓后調用start_ker_nel()啟動內核。


本實驗是將uboot直接燒寫在NAND Flash的chunk中,uboot在剩余的空間上掛載YAFFS2文件系統,并將zImage和ramdisk寫入文件系統。當系統運行起來后,在相同的NAND Flash空間上掛載YAFFS2文件系統后,可以看到和編輯uboot寫入的zImage和ramdisk。同樣uboot在啟動時也可以看到kernel寫入NAND Flash的文件。這樣就實現了在uhoot和kernel中都可以升級和更新系統。 


2.2 YAFFS2文件系統制作     Y


AFFS(Yet Another Flash File System)文件系統是專門針對NAND閃存設計的嵌入式文件系統,它是一種類似于JFFS2的日志型文件系統。相對于JFFS2,YAFFS減少了一些功能,因此速度更快、占用內存更少,并且對NAND Flash具有很好的保護機制,能夠延長NAND Flash的使用壽命。因此,YAFFS文件系統的出現,使得價格低廉的NAND Flash芯片具有高效性和健壯性。基于NANDFlash的YAFFS文件系統結構框圖如圖4所示。目前有YAFFS和YAFFS2 2個版本,2個版本的主要區別之一在于YAFFS2能夠更好地支持大容量的NAND Flash芯片。

嵌入式Linux內核本身并不支持YAFFS2文件系統,實現Linux內核對YAFFS2文件系統的支持有2種方法:一種是直接把YAFFS2編譯到內核,另外一種是將YAFFS2編譯成單獨的模塊進行加載。為了方便調試,本文選用第二種方法。首先下載YAFFS2源碼,這里要注意uboot中的YAFFS2應該和內核中的版本一致。然后將YAFFS2源碼解壓縮,進行相應的代碼修改,編譯生成yaffs2.ko模塊。將此模塊加到ramdisk中,系統啟動后掛載yaffs2.ko模塊,此時就可以對NAND Flash進行讀寫。 


結語     


本文針對嵌入式Linux操作系統,基于uboot和內核對YAFFS2文件系統的支持,利用NAND Flash實現對嵌入式系統的遠程更新。本系統從NAND Flash中引導內核與文件系統,可以省去NOR Flash,降低成本。通過以太網對遠程嵌入式終端進行自動更新,具有操作簡單、更新速度快的特點。


關鍵字:NAND  Flash  嵌入式系統  遠程更新 引用地址:利用NAND Flash實現對嵌入式系統的遠程更新

上一篇:基于ARM9和μC/OS-II操作系統的SD卡文件系統的設計與
下一篇:單片機系統的故障重現設計與實現

推薦閱讀

去年全球車載鏡頭市場規模達七千萬顆,每年以年增百分之卅高速成長,隨著美國眾議院去年通過「self-drive」法案,各大車廠競相投入自駕車研究,預計二○二五年將進入無人駕車時代。相較一般智能手機鏡頭,采用全部塑膠鏡片,車載鏡頭必須通過耐候要求,介于負四十度到八十度的區間,同時有較長使用壽命需求(八到十年),且要防磁抗震、防塵及防水,因此,...
近年來,隨著傳感器,控制和傳動技術的進步發展,使得機器人產品的功能越來越強大,其應用場景得到了較大的擴展。醫療領域是機器人應用的一個重要方向,醫院正在利用機器人技術輔助治療病人,進行手術等多種操作。在某些方面,機器比人更具優勢,基于數據和圖像分析的高精度手術,機器人能完成人為手術不能解決的任務。此前,醫療科技巨頭美敦力花17億收購...
最近做了一款產品,使用STM8S003F3的片子,產品要求使用TIM2,在PD2引腳輸出PWM波形。安裝了STM8專用版的IAR,下載了STM8的庫文件,新建了工程,開始編寫功能。由于沒有STM的經驗,也是查閱了大量資料,花了1天時間搭建環境,寫了一個簡單的IO口定時輸出高低電平的測試程序進行測試,用庫文件,GPIO控制還算簡單。但是在接下來的一步,采用TIM2,在PD2引腳...
2月8日下午,日本瑞薩電子(Renesas Electronics)正式宣布,將收購蘋果公司芯片供應商Dialog Semiconductor。兩家公司在一份聲明中稱,瑞薩電子將以約49億歐元(約合59億美元)的現金收購Dialog Semiconductor,相當于每股67.50歐元。Dialog Semiconductor已同意該交易條款。該收購價格較Dialog Semiconductor上周五56.12歐元的收盤價溢價20%。年初...

史海拾趣

問答坊 | AI 解惑

綜合出錯的問題

我在做一設計時遇到如下問題:前仿真沒有問題,但是綜合時出現如下錯誤: cannot mix blocking and non blocking assignment on signal <dout>.點擊錯誤指向如下代碼, input clk,rst,d_in; output dout; reg d_out; wire dout; always @ ...…

查看全部問答∨

【求助:】用flash magic 燒程序出現的問題!!

用flash magic 給 P89V51RD2FBC  燒程序,燒不進去,總是出現如下提示:     unable to connect at zhe specified baud rate,try reducing zhe baud rate .reset zhe hardware into ISP mode again. 我波特率設置是96 ...…

查看全部問答∨

是不是磁盤出了問題?如何解決?在線等答復,謝謝。。。

本人現在使用的這臺電腦,Win2000 Pro系統,偶爾會出現自動重啟現象,是在正常的操作下的,沒有任何提示,系統就自動重新啟動了!系統是剛剛安裝的,而且沒有任何提示,所以不會是病毒;用磁盤檢查命令發現磁盤有問題。 我在命令提示符下輸入磁盤 ...…

查看全部問答∨

ARM指令中sub語句的問題,急~~~~~~

在ARM匯編中,碰到sub sp,sp,#0x89,30這個語句,sub指令不都是三個參數么,為什么還有30這個參數,這個語句又是什么意思,謝~~~~…

查看全部問答∨

555電路(Protel仿真)視頻教程

$(\'swf_IOd\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://player.youku.com/player.php/sid/XMjA3ODM0ODAw/v.sw ...…

查看全部問答∨

南京萬利

                                 南京萬利好像沒有技術支持的,銷售電話也是態度硬幫幫的,后悔啊…

查看全部問答∨

有沒有人做過2812控制液晶實時顯示波形的程序阿?

問題如標題所示,我現在用的是sed1335,應該怎樣編寫程序呢,我使用2812的gpiob0-b7作為液晶的數據口,用gpiod口的四個口模擬液晶的讀寫時序,請高人指點一下,十分感謝。…

查看全部問答∨

利用串行通訊在進行軟件升級時,應將軟件的源程序做那種處理

利用串行通訊在進行軟件升級時,應將軟件的源程序做那種處理!?編譯后轉換成16位進制還是別的什么!?如果轉換,用什么轉換!?…

查看全部問答∨

【應用】nRF24L01無線模塊在單片機與FPGA上的應用

自己總結的,望對有需要的朋友有點用處。 http://www.cnblogs.com/kongtiao/archive/2011/08/13/2137286.html nRF24L01無線模塊在單片機與FPGA上的應用…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 樟树市| 沙洋县| 台中县| 南召县| 南投市| 衢州市| 霸州市| 河西区| 永顺县| 新建县| 莎车县| 大丰市| 九寨沟县| 海宁市| 清徐县| 华蓥市| 茶陵县| 巴林左旗| 沾益县| 霍林郭勒市| 茂名市| 贵南县| 盘山县| 虞城县| 深圳市| 宝兴县| 花莲市| 法库县| 垦利县| 油尖旺区| 肇源县| 壤塘县| 清徐县| 本溪市| 台东县| 阿坝县| 江门市| 闵行区| 华安县| 建平县| 千阳县|