• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于ARM9的嵌入式Linux系統(tǒng)的設計與實現

      2016-06-01 11:29:52張成法
      2016年10期
      關鍵詞:宿主機開發(fā)板內核

      張成法 李 楠

      基于ARM9的嵌入式Linux系統(tǒng)的設計與實現

      張成法 李 楠

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

      嵌入式系統(tǒng);Linux;驅動程序;ARM9

      一、引言

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

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

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

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

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

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

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

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

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

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

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

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

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

      (一) Bootloader的移植

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

      (二) Linux2.6內核的移植

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

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

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

      四、嵌入式Linux系統(tǒng)的設備驅動移植

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

      五、構建平臺的嵌入式GUI系統(tǒng)

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

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

      嵌入式應用程序開發(fā)流程圖

      六、結束語

      文中從實際應用出發(fā),提出了嵌入式Linux系統(tǒng)設計及實現方案,給出了嵌入式系統(tǒng)開發(fā)平臺的搭建、嵌入式Linux系統(tǒng)的構建、硬件設備驅動程序移植和嵌入式GUI應用程序開發(fā)的實現方法。為用戶設計嵌入式Linux系統(tǒng)提供了解決方案和便利。(作者單位:濰坊工程職業(yè)學院)

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

      [2] 劉哲峰.嵌入式Linux音頻設備的驅動設計與研究[D].太原: 太原理工大學, 2010.

      張成法(1984-),男,山東青州人,碩士研究生,研究方向:單片機與嵌入式系統(tǒng)。

      猜你喜歡
      宿主機開發(fā)板內核
      萬物皆可IP的時代,我們當夯實的IP內核是什么?
      現代裝飾(2022年4期)2022-08-31 01:41:24
      強化『高新』內核 打造農業(yè)『硅谷』
      基于嵌入式Linux內核的自恢復設計
      Linux內核mmap保護機制研究
      虛擬網絡實驗室在農村職校計算機網絡技術教學中的應用研究
      嵌入式計算機軟件測試關鍵技術的思考
      Microchip最新推出兩款PIC32 Curiosity開發(fā)板
      淺析單片機開發(fā)板的設計與制作
      電子制作(2017年22期)2017-02-02 07:10:14
      嵌入式計算機軟件測試關鍵技術研究
      Mouser為您呈上開發(fā)關鍵之STMicroelectronics Nucleo開發(fā)板
      洞头县| 绥宁县| 治多县| 洛阳市| 丹阳市| 武清区| 长兴县| 西城区| 腾冲县| 白沙| 沧州市| 洱源县| 平度市| 斗六市| 靖西县| 清流县| 桦川县| 阿勒泰市| 温州市| 景洪市| 娄烦县| 开平市| 神木县| 长治县| 宜春市| 凤山县| 加查县| 东乡| 赣州市| 都兰县| 河曲县| 桐城市| 西充县| 安顺市| 子长县| 马龙县| 怀来县| 偏关县| 定陶县| 威海市| 邹平县|