国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ARM9的嵌入式Linux系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2016-04-25 18:25:22張成法李楠
2016年10期
關(guān)鍵詞:嵌入式系統(tǒng)驅(qū)動(dòng)程序

張成法 李楠

摘 要:隨著計(jì)算機(jī)技術(shù)和微電子技術(shù)的迅猛發(fā)展,嵌入式系統(tǒng)逐漸發(fā)展為計(jì)算機(jī)應(yīng)用的一個(gè)重要領(lǐng)域,在生活中得到了普遍的應(yīng)用。本文通過搭建嵌入式系統(tǒng)開發(fā)平臺(tái)、對(duì)嵌入式Linux系統(tǒng)進(jìn)行構(gòu)建、移植設(shè)備驅(qū)動(dòng)程序和介紹嵌入式GUI應(yīng)用程序開發(fā),討論了基于ARM9微處理器的嵌入式Linux系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。該系統(tǒng)為嵌入式控制系統(tǒng)設(shè)計(jì)提供了一種可行的方案。

關(guān)鍵詞:嵌入式系統(tǒng);Linux;驅(qū)動(dòng)程序;ARM9

一、引言

嵌入式系統(tǒng)作為一種專用的計(jì)算機(jī)系統(tǒng)。它以計(jì)算機(jī)技術(shù)作為基礎(chǔ),以應(yīng)用作為中心,并且其硬件和軟件都可以裁剪。它能夠滿足應(yīng)用系統(tǒng)對(duì)功耗和可靠性的嚴(yán)格要求。嵌入式系統(tǒng)具有實(shí)時(shí)性高、系統(tǒng)內(nèi)核小的特點(diǎn)。嵌入式Linux 是一種操作系統(tǒng),它能夠運(yùn)行在嵌入式計(jì)算機(jī)系統(tǒng)上。代碼開放,版權(quán)免費(fèi)[2]是它與其它操作系統(tǒng)相比的優(yōu)勢(shì),嵌入式Linux有非常廣泛的應(yīng)用領(lǐng)域,主要應(yīng)用于工業(yè)控制、大屏幕功能手機(jī)、信息家電、醫(yī)療電子等領(lǐng)域。本文從應(yīng)用出發(fā),著重對(duì)一個(gè)嵌入式Linux系統(tǒng)進(jìn)行研究、設(shè)計(jì)及實(shí)現(xiàn)。

二、嵌入式系統(tǒng)開發(fā)平臺(tái)的搭建

硬件結(jié)構(gòu)和軟件系統(tǒng)這兩部分組成了一個(gè)完整的嵌入式系統(tǒng),其中嵌入式處理器和外圍的接口電路是硬件結(jié)構(gòu)的主要組成部件,而嵌入式操作系統(tǒng)和應(yīng)用程序則是軟件系統(tǒng)的主要組成部分。

嵌入式系統(tǒng)開發(fā)平臺(tái)的搭建主要包括硬件開發(fā)平臺(tái)、軟件開發(fā)平臺(tái)和交叉開發(fā)環(huán)境的搭建[1]。

(一) 硬件開發(fā)平臺(tái)的搭建

嵌入式系統(tǒng)硬件平臺(tái)的搭建主要是圍繞目標(biāo)板和主機(jī)這兩方面進(jìn)行的,目標(biāo)板選用的是采用嵌入式處理器的開發(fā)板作為硬件開發(fā)平臺(tái),主機(jī)選用的是PC機(jī)。

通過對(duì)當(dāng)前主流的嵌入式處理器綜合性能的比較,又依據(jù)嵌入式軟件開發(fā)要求嵌入式處理器要具有性能高、功耗低等特點(diǎn),因此選取ARM處理器作為本文的嵌入式處理器。由于本文重點(diǎn)從應(yīng)用開發(fā)方面來設(shè)計(jì)嵌入式系統(tǒng),選用ARM9系列的S3C2440A處理器比較合適,因此目標(biāo)板采用的是基于芯片S3C2440A的開發(fā)板作為硬件開發(fā)平臺(tái)。

(二) 軟件開發(fā)平臺(tái)的搭建

軟件開發(fā)平臺(tái)的搭建主要圍繞選擇何種類型的嵌入式操作系統(tǒng)而進(jìn)行。嵌入式Linux、μC/OS‐Ⅱ和VxWorks等是當(dāng)前在嵌入式領(lǐng)域涌現(xiàn)出來的幾種著名的操作系統(tǒng)。通過對(duì)這幾種操作系統(tǒng)的比較,發(fā)現(xiàn)嵌入式Linux具有較多的優(yōu)勢(shì):第一,它提供開發(fā)套件;第二,嵌入式Linux操作系統(tǒng)的內(nèi)核更新速度較快,具有較高的安全可靠性,內(nèi)核不僅小,而且可以裁減;第三,它的開發(fā)者可以從眾多的愛好者中獲得強(qiáng)大的技術(shù)支持,由于源代碼開放,不收費(fèi),所以在價(jià)格上具有很大的競(jìng)爭(zhēng)力。因此,本文的嵌入式操作系統(tǒng)最終選用了嵌入式Linux。

(三) 交叉開發(fā)環(huán)境的搭建

本系統(tǒng)設(shè)計(jì)采用宿主機(jī)-目標(biāo)機(jī)(HOST-TARGET)的開發(fā)模式, 宿主機(jī)采用的是PC機(jī),將Linux操作系統(tǒng)安裝于宿主機(jī)上,目標(biāo)機(jī)采用S3C2440A開發(fā)板。將相應(yīng)的ARM交叉編譯工具鏈arm-linux-gcc安裝到ubuntu系統(tǒng)中,然后利用這個(gè)交叉編譯工具對(duì)源代碼進(jìn)行編譯,最后得到能夠在目標(biāo)機(jī)上運(yùn)行的程序。

三、嵌入式Linux系統(tǒng)的構(gòu)建

嵌入式Linux系統(tǒng)的構(gòu)建主要包括下面三個(gè)部分。

(一) Bootloader的移植

考慮到U-Boot的功能比較強(qiáng)大,并且能夠很好的支持S3C2440A芯片,同時(shí)調(diào)試程序更方便,因此本系統(tǒng)的Bootloader選用了U-Boot。U-Boot的移植包括處理器相關(guān)文件的修改、存儲(chǔ)器的配置和Makefile文件的修改,當(dāng)這些都完成后,最后再對(duì)U-Boot進(jìn)行編譯[3]。

(二) Linux2.6內(nèi)核的移植

首先要得到Linux源代碼,這可以從它的官方網(wǎng)站獲得,然后修改Makefile文件,修改內(nèi)核的機(jī)器碼和平臺(tái)的時(shí)鐘頻率,同時(shí)設(shè)置分區(qū)結(jié)構(gòu);當(dāng)完成上述工作后,接下來要對(duì)內(nèi)核進(jìn)行縮剪,并對(duì)內(nèi)核進(jìn)行配置, 當(dāng)內(nèi)核被配置完成后,再執(zhí)行命令對(duì)內(nèi)核進(jìn)行編譯,內(nèi)核被成功編譯后,就會(huì)生成其鏡像文件,然后將其下載到開發(fā)板。

(三) Linux文件系統(tǒng)的創(chuàng)建和實(shí)現(xiàn)

根文件系統(tǒng)的制作可以由busybox來完成。利用菜單配置命令就可以對(duì)BusyBox進(jìn)行配置。

四、嵌入式Linux系統(tǒng)的設(shè)備驅(qū)動(dòng)移植

本系統(tǒng)以LCD模塊為例講述Linux系統(tǒng)的設(shè)備驅(qū)動(dòng)移植過程。首先要修改Linux內(nèi)核源碼中的文件s3c2410fb.c中的程序,可以實(shí)現(xiàn)設(shè)置LCD時(shí)鐘頻率,然后在文件mach-smdk2440.c中, 添加一些參數(shù),這些參數(shù)在對(duì)LCD控制器進(jìn)行初始化的時(shí)候會(huì)被用到,然后對(duì)內(nèi)核配置單進(jìn)行修改,這樣就完成了LCD設(shè)備驅(qū)動(dòng)程序的移植。

五、構(gòu)建平臺(tái)的嵌入式GUI系統(tǒng)

本平臺(tái)的嵌入式GUI系統(tǒng)采用的是Qt/Embedded,采用宿主機(jī)-目標(biāo)機(jī)交叉的開發(fā)模式對(duì)基于Qt/Embedded的嵌入式GUI應(yīng)用程序進(jìn)行開發(fā)。

首先,Qt應(yīng)用程序的編寫是在Qt/X11環(huán)境下,當(dāng)程序編寫完成后,要在宿主機(jī)上進(jìn)行調(diào)試直到滿足項(xiàng)目要求,然后對(duì)Qt應(yīng)用程序再次進(jìn)行編譯,將得到的可執(zhí)行文件運(yùn)行在QVFB上,它可以模擬應(yīng)用程序在實(shí)際ARM9平臺(tái)上的運(yùn)行效果, 最后,使用工具對(duì)應(yīng)用程序再次進(jìn)行編譯就可以得到可執(zhí)行程序,當(dāng)然,所得到的可執(zhí)行程序是能夠運(yùn)行于S3C2440A芯片上的,然后再將可執(zhí)行程序下載到開發(fā)板上就可以了[4]?;赒t/Embedded的嵌入式應(yīng)用程序開發(fā)過程如下圖所示。

六、結(jié)束語

文中從實(shí)際應(yīng)用出發(fā),提出了嵌入式Linux系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)方案,給出了嵌入式系統(tǒng)開發(fā)平臺(tái)的搭建、嵌入式Linux系統(tǒng)的構(gòu)建、硬件設(shè)備驅(qū)動(dòng)程序移植和嵌入式GUI應(yīng)用程序開發(fā)的實(shí)現(xiàn)方法。為用戶設(shè)計(jì)嵌入式Linux系統(tǒng)提供了解決方案和便利。

參考文獻(xiàn):

[1] 趙揚(yáng). 基于嵌入式Linux的考勤系統(tǒng)研究與設(shè)計(jì)[D].吉林: 吉林大學(xué),2015.

[2] 劉哲峰.嵌入式Linux音頻設(shè)備的驅(qū)動(dòng)設(shè)計(jì)與研究[D].太原: 太原理工大學(xué), 2010.

[3] 王田苗.嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)[M].北京: 清華大學(xué)出版社, 2013.

[4] S3C2440ADatasheet[M].韓國(guó): Samsung公司, 2008.

猜你喜歡
嵌入式系統(tǒng)驅(qū)動(dòng)程序
基于物聯(lián)網(wǎng)項(xiàng)目驅(qū)動(dòng)的嵌入式系統(tǒng)教學(xué)改革的研究與實(shí)踐
嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實(shí)踐及啟示
面向?qū)嵺`創(chuàng)新人才培養(yǎng)的嵌入式系統(tǒng)教學(xué)研究
在DiskOnChip上構(gòu)建VxWorks系統(tǒng)開發(fā)環(huán)境
驅(qū)動(dòng)程序更新與推薦
驅(qū)動(dòng)程序更新與推薦
驅(qū)動(dòng)程序更新與推薦
驅(qū)動(dòng)程序的真心話和大冒險(xiǎn)
镇康县| 二手房| 乡城县| 什邡市| 册亨县| 辉县市| 观塘区| 从化市| 东至县| 舟曲县| 平潭县| 六枝特区| 驻马店市| 房产| 如皋市| 汝南县| 同德县| 武义县| 宁波市| 缙云县| 高青县| 汝南县| 赣榆县| 满洲里市| 柘荣县| 搜索| 丰顺县| 台前县| 五河县| 连南| 田东县| 潞城市| 腾冲县| 松原市| 亚东县| 建平县| 彰化市| 五大连池市| 旬邑县| 永济市| 大名县|