王維 陳偉 鄒燕飛
摘要:該文介紹了ARM-Linux嵌入式系統(tǒng)平臺的構(gòu)建過程,并基于該平臺實現(xiàn)了繪圖板,經(jīng)測試,能正常運行。
關(guān)鍵詞:ARM;Linux;嵌入式系統(tǒng)
中圖分類號:TP393 文獻標(biāo)識碼:A 文章編號:1009-3044(2015)22-0158-01
Abstract: In this paper,the process of building ARM-Linux embedded system platform,and on this platform the drawing board is developed. It is tested correctly.
Key words: ARM;Linux;Embedded Systems
1 簡介
嵌入式系統(tǒng)是以計算機技術(shù)為基礎(chǔ),軟硬件可剪裁,適用于特定應(yīng)用,并且對功能、可靠性、成本、體積、功耗等有嚴格要求的專用計算機系統(tǒng)[1]。目前,嵌入式系統(tǒng)已成為近年來發(fā)展很快的計算機方面的學(xué)科方向,并迅速滲透到控制、自動化、儀器儀表等學(xué)科,主要應(yīng)用于信息家電、移動計算設(shè)備、網(wǎng)絡(luò)設(shè)備、工業(yè)控制、仿真、醫(yī)療儀器等領(lǐng)域。
嵌入式系統(tǒng)的體系結(jié)構(gòu)包括硬件和軟件兩大部分,其中硬件部分包括嵌入式處理器及外圍設(shè)備,軟件部分包括嵌入式操作系統(tǒng)和嵌入式應(yīng)用軟件。
2 ARM-Linux嵌入式系統(tǒng)平臺構(gòu)建
嵌入式系統(tǒng)平臺的構(gòu)建包括硬件平臺和軟件平臺兩部分,其構(gòu)建過程如下:
1)嵌入式微處理器的選擇
嵌入式微處理器的種類很多,由于ARM處理器具有體積小、功耗和成本低但性能高,同時支持Thumb/ARM指令集,指令長度固定等特點[1],最終選定了博創(chuàng)創(chuàng)科技有限公司的經(jīng)典ARM9開發(fā)板UP-TECH2410,其核心是三星公司的32位ARM920T處理器S3C2410,非常適合嵌入式系統(tǒng)的設(shè)計應(yīng)用。
2)嵌入式操作系統(tǒng)的選擇
現(xiàn)在,應(yīng)用在嵌入式系統(tǒng)中的操作系統(tǒng)很多,如Linux、Windows CE、VxWorks等。嵌入式Linux有著源碼開放、支持多種體系結(jié)構(gòu)并支持多種硬件平臺的移植、內(nèi)核可定制、占用資源少、運行穩(wěn)定且速度快等優(yōu)勢,成為嵌入式系統(tǒng)開發(fā)的首選。
3)交叉編譯器的構(gòu)建
由于嵌入式系統(tǒng)硬件上存在存儲空間小、處理器頻率低、缺少存儲、輸入輸出設(shè)備等局限性,一般嵌入式開發(fā)采用交叉編譯環(huán)境, 由宿主機(平時使用的桌面計算機)和目標(biāo)板(嵌入式開發(fā)板)兩部分構(gòu)成。在宿主機上編寫代碼,并通過交叉編譯工具編譯出能夠在目標(biāo)板上運行的程序,然后下載到目標(biāo)板上測試執(zhí)行,最后利用宿主機上的調(diào)試工具對目標(biāo)板上運行的程序進行遠程調(diào)試。目標(biāo)板通過串口、并口或以太網(wǎng)接口和宿主機通信。
4)BootLoader的移植
BootLoader的作用是引導(dǎo)和加載內(nèi)核。目前BootLoader的版本很多,如vivi、Redboot、U-boot[2]等,不同的BootLoader支持的體系結(jié)構(gòu)有所不同。由于U-boot支持Arm體系結(jié)構(gòu)和Linux操作系統(tǒng)的引導(dǎo),同時具有一定的通用性,因此選擇U-Boot作為引導(dǎo)程序。
5)內(nèi)核移植
內(nèi)核移植是指將基于 x86體系的 Linux移植到基于 ARM體系的嵌入式 Linux。內(nèi)核是嵌入式系統(tǒng)的系統(tǒng)軟件,占有非常重要的地位。進行內(nèi)核移植時先根據(jù)硬件體系結(jié)構(gòu)配置內(nèi)核,然后通過交叉編譯器編譯內(nèi)核,最后通過Windows平臺的超級終端或Linux平臺的Minicom將內(nèi)核燒寫到開發(fā)板 [3]。
6)根文件系統(tǒng)的移植
Linux操作系統(tǒng)啟動時需要掛載根文件系統(tǒng)才能正常工作,常見的根文件系統(tǒng)有Cramfs、RomFSJFFS2、NFS等。通常選擇根文件系統(tǒng)需從是否可寫、保存、壓縮等方面去選取。由于Cramfs具有簡單、壓縮只讀的特點,非常適合嵌入式系統(tǒng),因此選擇構(gòu)建Cramfs根文件系統(tǒng)。
嵌入式系統(tǒng)的平臺已經(jīng)基本搭建起來。如果在開發(fā)過程中需要使用外圍設(shè)備,還需開發(fā)相應(yīng)的驅(qū)動程序;如不需要,即可進行上層應(yīng)用程序的開發(fā)。
3 基于ARM-Linux平臺繪圖板的實現(xiàn)
基于ARM-Linux嵌入式系統(tǒng)平臺開發(fā)了繪圖板,主要包括以下三個模塊:鼠標(biāo)繪圖模塊:可以使用鼠標(biāo)在畫板上自由繪圖;工具選擇模塊:包括畫筆的顏色,畫筆的線寬,畫筆的風(fēng)格的選擇及清除功能;文件選擇模塊:包括圖像文件的打開、保存、退出。 首先在PC機上基于Windows平臺使用Qt Windows開發(fā)調(diào)試繪圖板程序,然后將程序移植到Linux操作系統(tǒng)使用Qt/X11重新編譯,然后使用Linux平臺的Qt/E進行交叉編譯生成可執(zhí)行程序,通過串口或網(wǎng)口下載到ARM平臺,重新運行程序。經(jīng)過測試,在開發(fā)板上能夠成功運行,畫筆顏色選擇功能
如圖1所示。
4 總結(jié)
通過構(gòu)建ARM-Linux嵌入式系統(tǒng)平臺,并基于該平臺借助Qt開發(fā)環(huán)境實現(xiàn)了繪圖板程序,經(jīng)測試程序運行正常,對于從事嵌入式應(yīng)用開發(fā),具有一定的參考價值。
參考文獻:
[1] 陳文智,王總輝.嵌入式系統(tǒng)原理與設(shè)計[M].北京:清華大學(xué)出版社,2011.
[2] 友善之臂.U-boot使用及移植詳細手冊[EB/OL].2010.http://www.armq.net
[3] 孫天澤.嵌入式Linux操作系統(tǒng)[M].北京:人民郵電出版社,2009.