




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、嵌入式Linux系統(tǒng)開發(fā)總結(jié)22011-02-20 12:54嵌入式系統(tǒng)開發(fā)分為軟件開發(fā)部分和硬件開發(fā)部分。嵌入式系統(tǒng)在開發(fā)過程一般都采用如圖5-3所示的“宿主機(jī)/目標(biāo)板”開發(fā)模式,即利用宿主機(jī)(PC機(jī))上豐富的軟硬件資源及良好的開發(fā)環(huán)境和調(diào)試工具來開發(fā)目標(biāo)板上的軟件,然后通過交叉編譯環(huán)境生成目標(biāo)代碼和可執(zhí)行文件,通過串口/USB/以太網(wǎng)等方式下載到目標(biāo)板上,利用交叉調(diào)試器在監(jiān)控程序運(yùn)行,實(shí)時(shí)分析,最后,將程序下載固化到目標(biāo)機(jī)上,完成整個(gè)開發(fā)過程?!八拗鳈C(jī)/目標(biāo)板”開發(fā)模式在軟件設(shè)計(jì)上,如圖5-4所示為結(jié)合ARM硬件環(huán)境及ADS軟件開發(fā)環(huán)境所設(shè)計(jì)的嵌入式系統(tǒng)開發(fā)流程圖。整個(gè)開發(fā)過程基本包括以下
2、幾個(gè)步驟。(1)源代碼編寫:編寫源C/C+及匯編程序;(2)程序編譯:通過專用編譯器編譯程序;(3)軟件仿真調(diào)試:在SDK中仿真軟件運(yùn)行情況;(4)程序下載:通過JTAG、USB、UART方式下載到目標(biāo)板上;(5)軟硬件測(cè)試、調(diào)試:通過JTAG等方式聯(lián)合調(diào)試程序;(6)下載固化:程序無誤,下載到產(chǎn)品上生產(chǎn)。嵌入式系統(tǒng)軟件開發(fā)流程2.2 嵌入式系統(tǒng)開發(fā)流程當(dāng)前,嵌入式開發(fā)已經(jīng)逐步規(guī)范化,在遵循一般工程開發(fā)流程的基礎(chǔ)上,嵌入式開發(fā)有其自身的一些特點(diǎn),如圖5-5所示為嵌入式系統(tǒng)開發(fā)的一般流程。主要包括系統(tǒng)需求分析(要求有嚴(yán)格規(guī)范的技術(shù)要求)、體系結(jié)構(gòu)設(shè)計(jì)、軟硬件及機(jī)械系統(tǒng)設(shè)計(jì)、系統(tǒng)集成、系統(tǒng)測(cè)試,最
3、終得到最終產(chǎn)品。嵌入式開發(fā)流程(1)系統(tǒng)需求分析。確定設(shè)計(jì)任務(wù)和設(shè)計(jì)目標(biāo),并提煉出設(shè)計(jì)規(guī)格說明書,作為正式設(shè)計(jì)指導(dǎo)和驗(yàn)收的標(biāo)準(zhǔn)。系統(tǒng)的需求一般分功能性需求和非功能性需求兩方面。功能性需求是系統(tǒng)的基本功能,如輸入輸出信號(hào)、操作方式等;非功能需求包括系統(tǒng)性能、成本、功耗、體積、重量等因素。 (2)體系結(jié)構(gòu)設(shè)計(jì)。描述系統(tǒng)如何實(shí)現(xiàn)所述的功能和非功能需求,包括對(duì)硬件、軟件和執(zhí)行裝置的功能劃分,以及系統(tǒng)的軟件、硬件選型等。一個(gè)好的體系結(jié)構(gòu)是設(shè)計(jì)成功與否的關(guān)鍵。(3)硬件/軟件協(xié)同設(shè)計(jì)?;隗w系結(jié)構(gòu),對(duì)系統(tǒng)的軟件、硬件進(jìn)行詳細(xì)設(shè)計(jì)。為了縮短產(chǎn)品開發(fā)周期,設(shè)計(jì)往往是并行的。嵌入式系統(tǒng)設(shè)計(jì)的工作大部分都集中在軟
4、件設(shè)計(jì)上,采用面向?qū)ο蠹夹g(shù)、軟件組件技術(shù)、模塊化設(shè)計(jì)是現(xiàn)代軟件工程經(jīng)常采用的方法。(4)系統(tǒng)集成。把系統(tǒng)的軟件、硬件和執(zhí)行裝置集成在一起,進(jìn)行調(diào)試,發(fā)現(xiàn)并改進(jìn)單元設(shè)計(jì)過程中的錯(cuò)誤。(5)系統(tǒng)測(cè)試。對(duì)設(shè)計(jì)好的系統(tǒng)進(jìn)行測(cè)試,看其是否滿足規(guī)格說明書中給定的功能要求。嵌入式系統(tǒng)開發(fā)模式最大特點(diǎn)是軟件、硬件綜合開發(fā)。這是因?yàn)榍度胧疆a(chǎn)品是軟硬件的結(jié)合體,軟件針對(duì)硬件開發(fā)、固化、不可修改。如果在一個(gè)嵌入式系統(tǒng)中使用Linux技術(shù)開發(fā),根據(jù)應(yīng)用需求的不同有不同的配置開發(fā)方法,但是,一般情況下都需要經(jīng)過如下的過程。(1)建立開發(fā)環(huán)境,操作系統(tǒng)一般使用Redhat Linux,選擇定制安裝或全部安裝,通過網(wǎng)絡(luò)下載
5、相應(yīng)的GCC交叉編譯器進(jìn)行安裝(比如,arm-1inux-gcc、arnl-uclibc-gcc),或者安裝產(chǎn)品廠家提供的相關(guān)交叉編譯器;(2)配置開發(fā)主機(jī),配置MINICOM,一般的參數(shù)為波特率115200 Baud/s,數(shù)據(jù)位8位,停止位為1,9,無奇偶校驗(yàn),軟件硬件流控設(shè)為無。在Windows下的超級(jí)終端的配置也是這樣。MINICOM軟件的作用是作為調(diào)試嵌入式開發(fā)板的信息輸出的監(jiān)視器和鍵盤輸入的工具。配置網(wǎng)絡(luò)主要是配置NFS網(wǎng)絡(luò)文件系統(tǒng),需要關(guān)閉防火墻,簡化嵌入式網(wǎng)絡(luò)調(diào)試環(huán)境設(shè)置過程。(3)建立引導(dǎo)裝載程序BOOTLOADER,從網(wǎng)絡(luò)上下載一些公開源代碼的BOOTLOADER,如UBOO
6、T、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根據(jù)具體芯片進(jìn)行移植修改。有些芯片沒有內(nèi)置引導(dǎo)裝載程序,比如,三星的ARV17、ARM9系列芯片,這樣就需要編寫開發(fā)板上FLASH的燒寫程序,讀者可以在網(wǎng)上下載相應(yīng)的燒寫程序,也有Linux下的公開源代碼的J-FLASH程序。如果不能燒寫自己的開發(fā)板,就需要根據(jù)自己的具體電路進(jìn)行源代碼修改。這是讓系統(tǒng)可以正常運(yùn)行的第一步。如果用戶購買了廠家的仿真器比較容易燒寫FLASH,雖然無法了解其中的核心技術(shù),但對(duì)于需要迅速開發(fā)自己的應(yīng)用的人來說可以極大提高開發(fā)速度。(4)下載已經(jīng)移植好的Linux操作系統(tǒng),如MCLiunx、ARM-
7、Linux、PPC-Linux等,如果有專門針對(duì)所使用的CPU移植好的Linux操作系統(tǒng)那是再好不過,下載后再添加特定硬件的驅(qū)動(dòng)程序,然后進(jìn)行調(diào)試修改,對(duì)于帶MMU的CPU可以使用模塊方式調(diào)試驅(qū)動(dòng),而對(duì)于MCLiunx這樣的系統(tǒng)只能編譯內(nèi)核進(jìn)行調(diào)試。(5)建立根文件系統(tǒng),可以從http:/下載使用BUSYBOX軟件進(jìn)行功能裁減,產(chǎn)生一個(gè)最基本的根文件系統(tǒng),再根據(jù)自己的應(yīng)用需要添加其他的程序。由于默認(rèn)的啟動(dòng)腳本一般都不會(huì)符合應(yīng)用的需要,所以就要修改根文件系統(tǒng)中的啟動(dòng)腳本,它的存放位置位于/etc目錄下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自動(dòng)掛裝文件系統(tǒng)的配置文件/etc/fstab,具體情況會(huì)隨系統(tǒng)不同而不同。根文件系統(tǒng)在嵌入式系統(tǒng)中一般設(shè)為只讀,需要使用mkcramfs genromfs等工具產(chǎn)生燒寫映像文件。(6)建立應(yīng)用程序的FLASH磁盤分區(qū),一般使用JFFS2或YAFFS文件系統(tǒng),這需要在內(nèi)核中提供這些文件系統(tǒng)的驅(qū)動(dòng),有的系統(tǒng)使用一個(gè)線性FLASH(NOR型)512KB32MB,有的系統(tǒng)使用非線性FLASH(NAND型)8MB512MB,有的兩個(gè)同時(shí)使用,需要根據(jù)應(yīng)用規(guī)劃FLASH的分區(qū)方案。(7)開發(fā)應(yīng)用程序,可以放入根文件系統(tǒng)中,也可以放入YAFFS、JFFS2文件系統(tǒng)中,有的應(yīng)用不使用根
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銷售代理合同模板(樣式一)
- 教育實(shí)習(xí)單位與實(shí)習(xí)生合同樣本
- 5《江上漁者》教學(xué)設(shè)計(jì)-2023-2024學(xué)年六年級(jí)下冊(cè)語文統(tǒng)編版
- 拆除與廢棄物處理合同
- 臨床試驗(yàn)數(shù)據(jù)分析合同
- 2024秋閩教版信息技術(shù)五年級(jí)上冊(cè)《第5課 插入圖片秀美景》教學(xué)設(shè)計(jì)
- 外商投資企業(yè)員工股權(quán)激勵(lì)合同
- 銷售合同萬能模板
- 新版車輛抵押合同范本
- 11 對(duì)人有禮貌 教學(xué)設(shè)計(jì)-2024-2025學(xué)年道德與法治一年級(jí)上冊(cè)統(tǒng)編版
- 胃癌影像診斷(共42張)
- 汽車維修合同管理制度
- 劍橋KET詞匯表(中英對(duì)照)
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院單招職業(yè)技能測(cè)試題庫附答案
- (完整)低壓配電柜技術(shù)規(guī)范
- 《通信原理》樊昌信曹麗娜編著第六版課件
- 《書籍裝幀設(shè)計(jì)》 課件 項(xiàng)目2 書籍裝幀設(shè)計(jì)要素
- 妊娠期合并癥婦女的護(hù)理-妊娠合并心臟病的護(hù)理(婦產(chǎn)科護(hù)理課件)4EX
- 中職語文高教版基礎(chǔ)模塊上冊(cè)《風(fēng)景談》公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 汪小蘭有機(jī)化學(xué)課件第四版
- Unit1 My day 單元作業(yè)設(shè)計(jì)(素材)人教PEP版英語五年級(jí)下冊(cè)
評(píng)論
0/150
提交評(píng)論