隨著計(jì)算機(jī)、通信及網(wǎng)絡(luò)技術(shù)的高速發(fā)展,嵌入式系統(tǒng)廣泛地滲透到各行各業(yè)及人們?nèi)粘I畹姆椒矫婷嬷小S捎谇度胧较到y(tǒng)的復(fù)雜性不斷增加,嵌入式操作系統(tǒng)成為了嵌入式系統(tǒng)中最重要的組成部分。在各種嵌入式操作系統(tǒng)中,Linux憑借其性能優(yōu)異、結(jié)構(gòu)清晰、平臺(tái)支持廣泛、網(wǎng)絡(luò)支持強(qiáng)勁及開放源代碼等多方面的優(yōu)勢(shì),被嵌入式系統(tǒng)開發(fā)者廣泛的采用。同時(shí)隨著近幾年來國(guó)內(nèi)嵌入式領(lǐng)域發(fā)展非常迅速,其中32位ARM處理器結(jié)構(gòu)體系的嵌入式CPU在商用領(lǐng)域、工控領(lǐng)域和軍用領(lǐng)域都得到了廣泛使用。 近幾年隨著無線通信技術(shù)、傳感器技術(shù)、信息采集和處理技術(shù)的飛速發(fā)展,出現(xiàn)了低成本、低功耗、多功能的微型無線傳感器節(jié)點(diǎn)。無線傳感器網(wǎng)絡(luò)是隨著傳感器節(jié)點(diǎn)的發(fā)展而興起的計(jì)算機(jī)科學(xué)技術(shù)的一個(gè)新的研究領(lǐng)域,它是由一組無線傳感器節(jié)點(diǎn)通過ad-hoc方式構(gòu)成的無線網(wǎng)絡(luò),綜合傳感器技術(shù)、嵌入式計(jì)算技術(shù)、分布式信息處理技術(shù)和無線通信技術(shù),能夠協(xié)作地實(shí)時(shí)監(jiān)測(cè)、感知和采集各種環(huán)境或監(jiān)測(cè)對(duì)象的信息,并對(duì)其進(jìn)行處理,并傳送到需要這些信息的用戶處。這種無線網(wǎng)絡(luò)系統(tǒng)被廣泛地用于國(guó)防軍事、國(guó)家安全、環(huán)境監(jiān)測(cè)、交通管理、醫(yī)療衛(wèi)生、制造業(yè)、反恐救災(zāi)等領(lǐng)域,具有十分巨大的發(fā)展?jié)摿Γ鹆藢W(xué)術(shù)界和工業(yè)界的高度重視。 目前,手持終端的應(yīng)用范圍主要是在商業(yè)領(lǐng)域,開發(fā)一款適合在工業(yè)現(xiàn)場(chǎng)等無線傳感網(wǎng)絡(luò)監(jiān)控領(lǐng)域的手持終端是本文的初衷。本文從嵌入式系統(tǒng)的角度,采用目前比較流行的ARM9處理器和嵌入式Linux的操作系統(tǒng),闡述手持終端硬件平臺(tái)的設(shè)計(jì)和軟件的移植方案;接著研究了系統(tǒng)引導(dǎo)程序的原理、設(shè)備驅(qū)動(dòng)開發(fā)的關(guān)鍵點(diǎn)、根文件系統(tǒng)的制作方法。在此基礎(chǔ)上,分析和移植引導(dǎo)程序U-Boot 1.1.4的實(shí)現(xiàn)、無線收發(fā)芯片CC2420的驅(qū)動(dòng)開發(fā)和幀緩沖驅(qū)動(dòng)的開發(fā),并針對(duì)目標(biāo)平臺(tái)的特點(diǎn)完成了文件系統(tǒng)的構(gòu)建;然后介紹了基于Qt/Embedded的圖形界面開發(fā)的基礎(chǔ),最后對(duì)本文研究工作進(jìn)行總結(jié)。
標(biāo)簽: ARM 架構(gòu) 無線 數(shù)據(jù)采集與處理
上傳時(shí)間: 2013-06-26
上傳用戶:lguotao
數(shù)字?jǐn)z影的興起不可避免地引起了數(shù)碼相框的發(fā)展,因?yàn)閮H有不到35%的數(shù)碼照片被打印。數(shù)碼相框的基本原理就是采用普通相框的造型,把原來相框中間的照片部分換成液晶顯示屏,配上電源,存儲(chǔ)介質(zhì)等,使得同一個(gè)相框內(nèi)可以循環(huán)播放照片,比普通相框的單一顯示功能更有優(yōu)勢(shì)。從2007年開始,數(shù)碼相框的市場(chǎng)關(guān)注度開始激增。在2008年,數(shù)碼相框市場(chǎng)呈現(xiàn)高速發(fā)展的態(tài)勢(shì),具有極高的潛在市場(chǎng)價(jià)值。 本論文以此為出發(fā)點(diǎn),進(jìn)行數(shù)碼相框軟件的開發(fā)研究工作。作為一款嵌入式產(chǎn)品,核心部件CPU采用了性能價(jià)格比、性能功耗比都很高的ARM架構(gòu)處理器之中的一款——三星S3C2440A,顯示器采用了支持雙精度掃描的液晶顯示屏。軟件方面,Bootloader采用較為成熟的u-boot-1.1.4,Linux內(nèi)核的版本為2.6.12,系統(tǒng)命令集由busybox構(gòu)成。利用ARM處理器對(duì)Linux系統(tǒng)良好的移植性、自帶的LCD控制器、音頻控制器、SD與USB控制器的特點(diǎn),進(jìn)行圖像顯示、音頻播放與文件管理。對(duì)于目前大部分?jǐn)?shù)碼相框在圖片瀏覽和文件管理功能上的不足,本設(shè)計(jì)的圖像顯示功能充分利用了觸摸屏功能,實(shí)現(xiàn)了圖像的觸摸式移動(dòng),使用戶可以自由的觀看放大后的圖像;文件管理功能則設(shè)計(jì)成了類似windows的文件瀏覽器,不僅具有豐富的文件管理功能,而且使習(xí)慣了windows的廣大用戶可以很快的熟悉此功能,并為將來升級(jí)為下一代的細(xì)分產(chǎn)品——數(shù)碼相冊(cè)做好準(zhǔn)備。 本設(shè)計(jì)的核心是基于ARM平臺(tái)的系統(tǒng)移植與基于QT的應(yīng)用程序設(shè)計(jì)。首先根據(jù)系統(tǒng)的總體設(shè)計(jì)思路選擇合適的硬件組合;然后在此基礎(chǔ)上進(jìn)行u-boot的移植,嵌入式Linux的移植,QT Embedded/Qtopia的移植,以及最后QT圖形界面的設(shè)計(jì)。
標(biāo)簽: ARM 數(shù)碼相框 軟件開發(fā)
上傳時(shí)間: 2013-04-24
上傳用戶:rockjablew
機(jī)械手是自動(dòng)裝配生產(chǎn)線上必不可少的設(shè)備,它可以模擬人手臂的部分動(dòng)作,按預(yù)定的程序、軌跡和要求,實(shí)現(xiàn)抓取、搬運(yùn)和裝配等工作。在減輕人的勞動(dòng)強(qiáng)度、提高裝配質(zhì)量和提高裝配效率等方面,起到了積極的作用。本文基于ARM和FPGA嵌入式系統(tǒng),開展了機(jī)械手控制系統(tǒng)的研發(fā)工作,實(shí)現(xiàn)了機(jī)械手的自動(dòng)控制。 嵌入式ARM處理器,具有運(yùn)行速度快、功耗低、程序設(shè)計(jì)靈活、外圍硬件資源豐富等優(yōu)點(diǎn),但其普通輸入輸出口的高低電平變化周期最快只能到1微妙左右,不適合高速輸入輸出;FPGA芯片高速輸入輸出數(shù)據(jù),時(shí)間可縮短至幾十納秒。通過ARM處理器和FPGA技術(shù)的有機(jī)結(jié)合,發(fā)揮各自的優(yōu)勢(shì),使系統(tǒng)具有程序設(shè)計(jì)靈活、以太網(wǎng)通信、大容量存儲(chǔ)、高速數(shù)據(jù)輸山、低成本等特點(diǎn),滿足高速機(jī)械手自動(dòng)控制的要求。 本文分析了ARM和FPGA系統(tǒng),以及機(jī)械手控制系統(tǒng)的功能要求;設(shè)計(jì)硬件模塊、接口電路;闡述了系統(tǒng)軟件的設(shè)計(jì)過程,包括啟動(dòng)代碼U—BOOT、操作系統(tǒng)μCLinux的移植;并介紹了如何利用便件描述語言VHDL來實(shí)現(xiàn)機(jī)械手邏輯控制。
標(biāo)簽: FPGA ARM 機(jī)械手 自動(dòng)控制系統(tǒng)
上傳時(shí)間: 2013-04-24
上傳用戶:luyanping
嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合的產(chǎn)物。目前,嵌入式系統(tǒng)己經(jīng)廣泛應(yīng)用到工業(yè)、交通、能源、通信、科研、醫(yī)療衛(wèi)生、國(guó)防以及日常生活等領(lǐng)域,并不斷朝著體積小,功能強(qiáng)的方向發(fā)展。嵌入式系統(tǒng)不同于原來的單片機(jī)系統(tǒng),它不僅有自己的操作系統(tǒng),上層應(yīng)用程序,而且還具備網(wǎng)絡(luò)通信和信息管理的功能。 ARM體系的處理器是目前嵌入式系統(tǒng)中使用最廣泛的處理器。它采用了RISC技術(shù),具有尋址方式簡(jiǎn)單,寄存器多,指令長(zhǎng)度固定等的特點(diǎn)使得它的處理速度快,執(zhí)行效率高。由于Linux對(duì)于ARM技術(shù)的支持,具有內(nèi)核可裁減,網(wǎng)絡(luò)功能強(qiáng)大,代碼開放的特點(diǎn),把Linux應(yīng)用到嵌入式系統(tǒng)中,能充分發(fā)揮ARM和Linux的優(yōu)勢(shì)。 論文以“掌上中文語言學(xué)習(xí)系統(tǒng)”項(xiàng)目為依托,以ARM體系處理器和Ljnux操作系統(tǒng)的嵌入式系統(tǒng)為基礎(chǔ),構(gòu)建一個(gè)掌上語言學(xué)習(xí)設(shè)備。 論文首先進(jìn)行了開發(fā)環(huán)境的設(shè)計(jì)與搭建,對(duì)開發(fā)主機(jī)進(jìn)行TFTP服務(wù)器、NFS服務(wù)器、minicom串口通信和GNU交叉工具鏈進(jìn)行配置。實(shí)現(xiàn)了針對(duì)NAND閃存的U-Boot啟動(dòng)程序的建立,并對(duì)Linux操作系統(tǒng)內(nèi)核進(jìn)行了移植工作。最后利用圖形界面系統(tǒng)MiniGUI和遠(yuǎn)程調(diào)試技術(shù)實(shí)現(xiàn)了掌上語言學(xué)習(xí)的軟件功能。
標(biāo)簽: Linux ARM 嵌入式 學(xué)習(xí)系統(tǒng)
上傳時(shí)間: 2013-07-24
上傳用戶:jiangfire
視頻監(jiān)控系統(tǒng)是一門集計(jì)算機(jī)技術(shù)、通信技術(shù)和數(shù)字視頻技術(shù)于一體的綜合系統(tǒng)。目前視頻監(jiān)控正向著數(shù)字化、網(wǎng)絡(luò)化的方向發(fā)展。實(shí)現(xiàn)基于網(wǎng)絡(luò)的視頻監(jiān)控系統(tǒng)的關(guān)鍵是一種嵌入式設(shè)備,它應(yīng)該能夠采集壓縮視頻數(shù)據(jù)并通過網(wǎng)絡(luò)進(jìn)行傳輸。 本文介紹了一種基于嵌入式Linux的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方法。首先從整體上分析了網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的總體設(shè)計(jì)方案,給出了視頻服務(wù)器的硬件框架和軟件體系,并重點(diǎn)討論了在ARM處理器上實(shí)現(xiàn)MPEG-4壓縮編碼的方法。其次在ARM硬件平臺(tái)成功構(gòu)建了armlinux嵌入式系統(tǒng):包括引導(dǎo)程序Bootloader的設(shè)計(jì)、修改配置linux內(nèi)核以及制作JFFS2文件系統(tǒng)。其中創(chuàng)新地提出了從nandflash啟動(dòng)U-BOOT具體設(shè)計(jì)方法。為了完成系統(tǒng)進(jìn)一步的視頻采集工作,系統(tǒng)實(shí)現(xiàn)了USB數(shù)碼攝像頭的驅(qū)動(dòng)。在應(yīng)用程序開發(fā)過程中,首先設(shè)計(jì)了基于Vide04Linux的視頻采集程序,并采用mmap(內(nèi)存映射)方式截取圖片。其次重點(diǎn)分析了MPEG-4編碼模型XVID程序中的運(yùn)動(dòng)估計(jì)部分,并研究了半像素快速搜索算法,從而減少了搜索點(diǎn)數(shù)提高了運(yùn)算速度。最后利用開源JRTPLIB庫實(shí)現(xiàn)視頻數(shù)據(jù)流的RTP傳送。 整個(gè)設(shè)計(jì)都是在深圳旋極公司研制的SUPER-ARM硬件平臺(tái)上進(jìn)行的,linux內(nèi)核采用2.4.18。其中MPEG-4編碼優(yōu)化測(cè)試是在ARM DeveloperSuite(ADS)version 1.2中完成。 本課題為在ARM平臺(tái)實(shí)現(xiàn)網(wǎng)絡(luò)視頻監(jiān)控的設(shè)計(jì)做了有益的探索性嘗試,對(duì)今后進(jìn)一步完成遠(yuǎn)程嵌入式視頻監(jiān)控系統(tǒng)的設(shè)計(jì)有著積極的意義。
標(biāo)簽: ARM 遠(yuǎn)程視頻監(jiān)控 系統(tǒng)研究
上傳時(shí)間: 2013-07-21
上傳用戶:Altman
生化分析儀是醫(yī)療機(jī)構(gòu)進(jìn)行臨床診斷所必須的儀器之一。它通過對(duì)血液等人體體液的分析來測(cè)定諸如葡萄糖、膽固醇等生化指標(biāo),這些常規(guī)生化指標(biāo)可以幫助醫(yī)生診斷疾病。生化分析儀在臨床診斷和化學(xué)檢驗(yàn)中具有重要作用。 目前的半自動(dòng)生化分析儀多以8位單片機(jī)為中央處理器,限制了儀器的性能。本文將嵌入式技術(shù)應(yīng)用于生化分析儀的研制當(dāng)中,選用了32位的ARM9處理器$3C2410A,嵌入Linux操作系統(tǒng),搭建ARM+Linux的平臺(tái),設(shè)計(jì)了智能型半自動(dòng)生化分析儀。 本文介紹了生化分析儀的原理——朗伯.比爾定律及其核心部件——光電比色計(jì)。對(duì)半自動(dòng)生化分析儀的整體架構(gòu)進(jìn)行了說明。 半自動(dòng)生化分析儀硬件結(jié)構(gòu)上由電源、時(shí)鐘、復(fù)位電路,存儲(chǔ)器系統(tǒng),液路控制系統(tǒng),光路控制系統(tǒng),恒溫控制系統(tǒng)(包括溫度測(cè)量和溫度控制),數(shù)據(jù)采集系統(tǒng),人機(jī)交互系統(tǒng)(包括鍵盤、觸摸屏、液晶顯示器LCD和微型打印機(jī))和其他一些接口等組成,對(duì)于這些外圍硬件模塊本文給出了詳細(xì)設(shè)計(jì)。 在半自動(dòng)生化分析儀軟件設(shè)計(jì)方面,本文詳細(xì)介紹了交叉編譯調(diào)試環(huán)境的建立,引導(dǎo)裝載程序U-Boot的移植,Linux內(nèi)核的裁減與移植,設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì),文件系統(tǒng)的建立與移植,應(yīng)用程序的編寫與移植。 本生化分析儀的功能包括MiniGUI圖形用戶界面、運(yùn)動(dòng)控制、溫度控制、數(shù)據(jù)處理、打印功能及SQLite數(shù)據(jù)庫管理等。該新型半自動(dòng)生化分析儀使用方便,性價(jià)比高,適用于國(guó)內(nèi)的中小型醫(yī)療機(jī)構(gòu)。
標(biāo)簽: Linux ARM 半自動(dòng) 生化分析儀
上傳時(shí)間: 2013-04-24
上傳用戶:ca05991270
在工業(yè)生產(chǎn)中,二次自動(dòng)化儀表是構(gòu)成自動(dòng)化系統(tǒng)的基本單元之一。我國(guó)的單元儀表己基本完成由電動(dòng)Ⅲ型儀表向基于八位或十六位單片機(jī)為基礎(chǔ)設(shè)計(jì)的數(shù)字化儀表的轉(zhuǎn)換。由于常規(guī)單片機(jī)資源的限制,以單片機(jī)為基礎(chǔ)設(shè)計(jì)的單元儀表基本上還是在功能上替代電動(dòng)Ⅲ型儀表,并按電動(dòng)Ⅲ型功能進(jìn)行分類。這樣造成國(guó)內(nèi)自動(dòng)化儀表生產(chǎn)廠家生產(chǎn)的二次數(shù)字化儀表品種繁雜,標(biāo)準(zhǔn)難以統(tǒng)一,設(shè)計(jì)隨意性大。因此帶來如下現(xiàn)實(shí)問題: 1.自動(dòng)化系統(tǒng)設(shè)計(jì)單位的儀表選型、系統(tǒng)調(diào)試、使用中操作、維修和系統(tǒng)的功能優(yōu)化及備件的準(zhǔn)備非常的不方便: 2.儀表生產(chǎn)廠家的批量生產(chǎn)困難,產(chǎn)品質(zhì)量的提高及成本的節(jié)約不利: 3.國(guó)內(nèi)現(xiàn)在自動(dòng)化儀表廠家數(shù)量眾多,但都無法形成規(guī)模生產(chǎn),質(zhì)量不佳,而國(guó)外進(jìn)口的二次儀表往往依附于特定的集散系統(tǒng),也存在標(biāo)準(zhǔn)不統(tǒng)一,難以靈活替換的問題,且價(jià)格昂貴。 自動(dòng)化系統(tǒng)設(shè)計(jì)、生產(chǎn)及應(yīng)用迫切需要一種使用方便、通用性強(qiáng)的智能型二次儀表,以解決上述問題,改變傳統(tǒng)設(shè)計(jì)、生產(chǎn)及應(yīng)用方式,這將是未來自動(dòng)化儀表的發(fā)展趨勢(shì),也就是本課題的努力方向。 本論文正是針對(duì)上述問題,以設(shè)計(jì)出一種可靈活組態(tài)的通用智能型二次儀表為研究對(duì)象,在深入分析國(guó)內(nèi)主流儀表廠家的儀表操作方式和儀表功能的基礎(chǔ)上,合理地進(jìn)行軟硬件設(shè)計(jì),為在同一硬件平臺(tái)下實(shí)現(xiàn)多種儀表的功能進(jìn)行了創(chuàng)新性和探索性研究。主要內(nèi)容為: 1.各種常規(guī)二次儀表功能、標(biāo)準(zhǔn)、接線、操作習(xí)慣及結(jié)構(gòu)方式的歸類分析; 2.多信號(hào)多量程的柔性測(cè)量方法研究; 3.系統(tǒng)整機(jī)設(shè)計(jì)以及系統(tǒng)可靠性設(shè)計(jì); 4.u-boot的向ARM的移植、uClinux向ARM的移植、uClinux下的通用組態(tài)軟件設(shè)計(jì)。 本文設(shè)計(jì)了一種以三星公司的ARM7TDMI系列處理器S3C44BOX為核心,輔以外圍電路,實(shí)現(xiàn)同一硬件平臺(tái)下多種儀表的功能,并成功制作了樣品系統(tǒng)。 本文所討論的基于$3C44BOX和uClinux的智能儀表系統(tǒng)的開發(fā)技術(shù)同樣適用于其它項(xiàng)目的開發(fā),對(duì)其它嵌入式的應(yīng)用系統(tǒng)開發(fā)有重要的參考價(jià)值。
標(biāo)簽: uClinux ARM 嵌入式 測(cè)控儀表
上傳時(shí)間: 2013-05-16
上傳用戶:jjq719719
at91rm9200啟動(dòng)過程教程 系統(tǒng)上電,檢測(cè)BMS,選擇系統(tǒng)的啟動(dòng)方式,如果BMS為高電平,則系統(tǒng)從片內(nèi)ROM啟動(dòng)。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個(gè)地址處都可以訪問到ROM。由于9200的ROM中固化了一個(gè)BOOTLOAER程序。所以PC從0X0處開始執(zhí)行這個(gè)BOOTLOAER(準(zhǔn)確的說應(yīng)該是一級(jí)BOOTLOADER)。這個(gè)BOOTLOER依次完成以下步驟: 1、PLL SETUP,設(shè)置PLLB產(chǎn)生48M時(shí)鐘頻率提供給USB DEVICE。同時(shí)DEBUG USART也被初始化為48M的時(shí)鐘頻率; 2、相應(yīng)模式下的堆棧設(shè)置; 3、檢測(cè)主時(shí)鐘源(Main oscillator); 4、中斷控制器(AIC)的設(shè)置; 5、C 變量的初始化; 6、跳到主函數(shù)。 完成以上步驟后,我們可以認(rèn)為BOOT過程結(jié)束,接下來的就是LOADER的過程,或者也可以認(rèn)為是裝載二級(jí)BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲(chǔ)設(shè)備的開始地址處連續(xù)的存放的32個(gè)字節(jié),也就是8條指令必須是跳轉(zhuǎn)指令或者裝載PC的指令,其實(shí)這樣規(guī)定就是把這8條指令當(dāng)作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關(guān)于如何計(jì)算和寫這條指令可以參考用戶手冊(cè)。一旦合法的映像找到之后,則BOOT程序會(huì)把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當(dāng)BOOT程序完成了把合法的映像搬到SRAM的任務(wù)以后,接下來就進(jìn)行存儲(chǔ)器的REMAP,經(jīng)過REMAP之后,SRAM從映設(shè)前的0X200000地址處被映設(shè)到了0X0地址并且程序從0X0處開始執(zhí)行。而ROM這時(shí)只能在0X100000這個(gè)地址處看到了。至此9200就算完成了一種形式的啟動(dòng)過程。如果BOOT程序在以上所列的幾種存儲(chǔ)設(shè)備中找到合法的映像,則自動(dòng)初始化DEBUG USART口和USB DEVICE口以準(zhǔn)備從外部載入映像。對(duì)DEBUG口的初始化包括設(shè)置參數(shù)115200 8 N 1以及運(yùn)行XMODEM協(xié)議。對(duì)USB DEVICE進(jìn)行初始化以及運(yùn)行DFU協(xié)議。現(xiàn)在用戶可以從外部(假定為PC平臺(tái))載入你的映像了。在PC平臺(tái)下,以WIN2000為例,你可以用超級(jí)終端來完成這個(gè)功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設(shè)然后執(zhí)行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內(nèi)的ROM啟動(dòng)的一個(gè)過程。如果BMS為低電平,則AT91RM9200會(huì)從片外的FLASH啟動(dòng),這時(shí)片外的FLASH的起始地址就是0X0了,接下來的過程和片內(nèi)啟動(dòng)的過程是一樣的,只不過這時(shí)就需要自己寫啟動(dòng)代碼了,至于怎么寫,大致的內(nèi)容和ROM的BOOT差不多,不同的硬件設(shè)計(jì)可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設(shè)計(jì)的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內(nèi)啟動(dòng)可能需要BOOT好幾級(jí)了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個(gè)開放源代碼的軟件,用戶可以自由下載并根據(jù)自己的應(yīng)用配置。總的說來,筆者以為AT91RM9200的啟動(dòng)過程比較簡(jiǎn)單,ATMEL的服務(wù)也不錯(cuò),不但提供了片內(nèi)啟動(dòng)的功能,還提供了UBOOT可供下載。筆者寫了一個(gè)BOOTLODER從片外的FLASHA啟動(dòng),效果還可以。 uboot結(jié)構(gòu)與使用uboot是一個(gè)龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設(shè)的驅(qū)動(dòng),是一個(gè)功能強(qiáng)大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動(dòng)uboot,還有兩個(gè)boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級(jí)boot。其源碼可以從atmel的官方網(wǎng)站下載。 我們知道,當(dāng)9200系統(tǒng)上電后,如果bms為高電平,則系統(tǒng)從片內(nèi)rom啟動(dòng),這時(shí)rom中固化的boot程序初始化了debug口并向其發(fā)送'c',這時(shí)我們打開超級(jí)終端會(huì)看到ccccc...。這說明系統(tǒng)已經(jīng)啟動(dòng),同時(shí)xmodem協(xié)議已經(jīng)啟動(dòng),用戶可以通過超級(jí)終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內(nèi)的sram中。這個(gè)loder完成的功能主要是初始化時(shí)鐘,sdram和xmodem協(xié)議,為下載和啟動(dòng)uboot做準(zhǔn)備。當(dāng)下載了loader.bin后,超級(jí)終端會(huì)繼續(xù)打印:ccccc....。這時(shí)我們就可以下在uboot了。uboot將被下載到sdram中的一個(gè)地址后并把pc指針調(diào)到此處開始執(zhí)行uboot。接著我們就可以在終端上看到uboot的shell啟動(dòng)了,提示符uboot>,用戶可以u(píng)boot>help 看到命令列表和大概的功能。uboot的命令包含了對(duì)內(nèi)存、flash、網(wǎng)絡(luò)、系統(tǒng)啟動(dòng)等一些命令。 如果系統(tǒng)上電時(shí)bms為低電平,則系統(tǒng)從片外的flash啟動(dòng)。為了從片外的flash啟動(dòng)uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動(dòng)后首先執(zhí)行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內(nèi)rom啟動(dòng)uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經(jīng)啟動(dòng)了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統(tǒng)復(fù)位,就可以看到系統(tǒng)先啟動(dòng)boot,然后解壓縮uboot.gz,然后啟動(dòng)uboot。注意,這里uboot必須壓縮成.gz文件,否則會(huì)出錯(cuò)。 怎么編譯這三個(gè)源碼包呢,首先要建立一個(gè)arm的交叉編譯環(huán)境,關(guān)于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項(xiàng)目,正確填寫你的編譯器的所在路徑。 對(duì)loader和boot,直接make。對(duì)uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會(huì)在當(dāng)前目錄下分別生成*.bin文件,對(duì)于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對(duì)loader和boot搞不清楚為什么要兩個(gè),有什么區(qū)別嗎?首先有區(qū)別,boot主要完成從flash中啟動(dòng)uboot的功能,他要對(duì)uboot的壓縮文件進(jìn)行解壓,除此之外,他和loader并無大的區(qū)別,你可以把boot理解為在loader的基礎(chǔ)上加入了解壓縮.gz的功能而已。所以這兩個(gè)并無多大的本質(zhì)不同,只是他們的使命不同而已。 特別說名的是這三個(gè)軟件包都是開放源碼的,所以用戶可以根據(jù)自己的系統(tǒng)的情況修改和配置以及裁減,打造屬于自己系統(tǒng)的bootloder。
上傳時(shí)間: 2013-10-27
上傳用戶:wsf950131
固件作為目標(biāo)板啟動(dòng)最核心程序,不僅僅需要引導(dǎo)操作系統(tǒng),更重要的是需要實(shí)現(xiàn)所有硬件的初始化和自檢等,方便設(shè)備的維護(hù)和保養(yǎng)。U-Boot作為一款通用的開源固件程序,具有良好的可移植性和完整的功能。通過分析U-Boot的目錄結(jié)構(gòu)和啟動(dòng)流程以及目標(biāo)板的設(shè)計(jì)需求,來實(shí)現(xiàn)完成基于MPC8548E目標(biāo)板的具體修改和移植,并增加關(guān)鍵硬件的自檢功能,同時(shí)闡述通過設(shè)置環(huán)境變量來啟動(dòng)操作系統(tǒng)內(nèi)核。對(duì)于不同的CPU和開發(fā)板,本U-Boot的啟動(dòng)原理分析和移植有一定的借鑒意義。
標(biāo)簽: 8548E 8548 MPC 固件設(shè)計(jì)
上傳時(shí)間: 2014-12-30
上傳用戶:lllliii
本書全面介紹了嵌入式Linux 系統(tǒng)開發(fā)過程中,從底層系統(tǒng)支持到上層GUI 應(yīng)用的方方面面,內(nèi)容涵蓋Linux 操作系統(tǒng)的安裝及相關(guān)工具的使用、配置,嵌入式編程所需要的基礎(chǔ)知識(shí)(交叉編譯工具的選項(xiàng)設(shè)置、Makefile 語法、ARM 匯編指令等),硬件部件的使用及編程(囊括了常見硬件,比如UART、I2C、LCD 等),U-Boot、Linux 內(nèi)核的分析、配置和移植,根文件系統(tǒng)的構(gòu)造(包括移植busybox、glibc、制作映象文件等),內(nèi)核調(diào)試技術(shù)(比如添加kgdb 補(bǔ)丁、棧回溯等),驅(qū)動(dòng)程序編寫及移植(LED、按鍵、擴(kuò)展串口、網(wǎng)卡、硬盤、SD 卡、LCD 和USB 等),GUI 系統(tǒng)的移植(包含兩個(gè)GUI 系統(tǒng):基于Qtopia 和基于X),應(yīng)用程序調(diào)試技術(shù)。
標(biāo)簽: Linux 嵌入式 完全手冊(cè) 應(yīng)用開發(fā)
上傳時(shí)間: 2013-12-23
上傳用戶:life840315
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1