999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于嵌入式Linux的測試系統軟件實現研究

2008-04-12 00:00:00羅賢全馬俊濤
現代電子技術 2008年6期

摘 要:嵌入式測試系統具有集成度高、體積小、速度快、可靠性強等特點,而嵌入式Linux源碼開放,內核可定制,是嵌入式測試系統理想的軟件系統平臺。對基于嵌入式Linux的測試系統進行研究,對嵌入式Linux軟件系統各個環節的實現過程進行較為全面的探討,并總結出可行的實現方案。

關鍵詞:嵌入式;Linux;測試系統;軟件實現

中圖分類號:TP311 文獻標識碼:A

文章編號:1004-373X(2008)06-117-03

Research on Realization of Test System Software Based on Embedded Linux

YANG Xue 2,LUO Xianquan MA Juntao1

(1.Ordnance Engineering College,Shijiazhuang,050003,China;2.Shijiazhuang Vocational School,Shijiazhuang,050041,China)

Abstract:The embedded test system has characteristics of high collectivity,small volume,fast speed and high reliability.And the embedded Linux operation system is very suited for embedded system because its source code is open and its core can be customized.This paper studies the test system based on embedded Linux,researches the realization process of embedded Linux software system and also concludes well performed ways of realization.

Keywords:embedded;Linux;test system;software;realization

1 引 言

嵌入式系統是電腦軟件與硬件的綜合體。他是以應用為中心,以計算機技術為基礎,軟硬件均可裁剪,能夠適應實際應用中對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。嵌入式系統是先進的計算機技術、半導體技術以及電子技術與各個行業的具體應用相結合的產物。嵌入式系統實現的功能單一,通常是面向用戶、面向產品、面向特定應用的,一般只實現某行業的特定功能[1]。另外嵌入式系統的優點是成本低、體積小、功耗低及可靠性高,但在運行速度及存儲容量上有一定的限制。

嵌入式系統的靈魂是他的軟件系統,軟件系統分為簡單控制程序和嵌入式操作系統2種。早期的嵌入式系統只是用簡單的循環控制程序來處理外界的特定請求。但隨著系統應用越來越復雜,功能要求越來越高,此時就必須用嵌入式操作系統。現在已經有許多可用于嵌入式的操作系統,但最有潛力的應該是Linux操作系統。按照Linux開發者的說法,Linux是一個完全遵循POSIX(Portable Operating System Interface)標準的免費操作系統[2]。他是一個自由、免費、多任務的操作系統,他對硬件配置的要求低、占用存儲空間小、支持的芯片種類多,最重要的是源代碼開放,內核可修改與剪裁,在網上還有眾多免費的資源可以利用。但一般的Linux操作系統并不能直接用于嵌入式系統,主要受體積、成本、存儲容量等各方面的限制。要將Linux應用于嵌入式系統,就要對Linux操作系統本身進行定制[1,3,4]

本文主要對基于嵌入式Linux的測試系統軟件的各個環節的實現過程進行較為全面的探討和總結,并總結出可行的實現方案。

2 嵌入式Linux內核裁減

由于Linux操作系統在設計時就具有模塊化的功能,所以對其定制主要也有2種方法:一是配置內核可裁減的模塊;二是深入內核,修改內核的源代碼。內核裁減主要包括內存模塊、進程模塊和文件系統3部分。

2.1 內存模塊

標準Linux采用的是虛擬內存管理模型,Linux使用虛擬內存的目的是為了實現操作系統的多任務性,使多個進程可以分片獲得CPU的使用權。應用程序使用的是虛擬地址,但是CPU執行的指令卻取于真正的物理地址,因而涉及到內存地址轉換的問題。內存地址轉換一般由操作系統和硬件MMU(Memory Management Unit)完成。也就是說要使用標準的Linux,在硬件上必須支持MMU。但大部分的嵌入式硬件都沒有MMU,同時由于嵌入式系統的專用性,有時也沒有必要實現多任務的功能。故Linux經過改造后才可以應用到這類嵌入式系統上。

這部分工作只能對Linux內核源代碼的內存管理部分進行修改,去除虛擬內存管理的相關代碼,這些代碼主要集中在內核的/mm,/drivers/char,/ipc,/fs,/init,/kernel等源代碼目錄下[1,3]

2.2 進程模塊

Linux是一種通用的操作系統,他采用多任務、多進程的管理模式。雖然Linux目前的內核在實時方面有所增強,但他仍然不算是實時操作系統,Linux內核的設計關注的是應用程序的吞吐量連同內核整體設計的優雅。作為提高吞吐量的要求,Linux的調度器試圖提供一種“公平分配”策略來保證所有的進程可以均衡地享有CPU的資源。

由于嵌入式系統可能不帶MMU及其存儲容量的限制,需對Linux進行改造。重點是解決通用Linux系統中存在的2個缺點:一是系統并不是最先執行實時的進程,而從普通的進程開始;二是系統執行實時進程的時候有可能被其他進程打斷。解決這個問題的辦法主要是讓系統一開始就執行實時進程或根本就只有一個實時進程在執行(也就是單任務的系統),提高實時進程的優先權,使一般進程不能打斷他。修改源代碼時主要從中斷處理、進程調度及進程搶占3個方面入手[1,4]

2.3 文件系統

在通用PC機中,外部存儲器一般用的是IDE等傳統的外存設備。其特點是容量大、速度快,但是體積和功耗都很大,不適合用于嵌入式系統。嵌入式系統的外存一般用FLASH的存儲器,比如說CF卡、DOC等。由于外存的限制,決定嵌入式系統的文件系統不能照搬通用PC機的,必須另起爐灶。定制嵌入式系統的文件系統可從市場上選擇,也可自己通過修改Linux內核代碼重新定制,但那樣工作量將很大。

目前市場上可以選用的嵌入式文件系統主要有:cramfs,romfs,ext3,ext2,ReiserFS,xfs,JFFStff等等,可根據實際情況進行選擇。

3 嵌入式Linux運行環境定制

3.1 系統模塊配置

對于一個專用的嵌入式系統,他只要求操作系統能夠完成特定的功能。而Linux本身卻擁有一套完整的工具鏈,強大的網絡支持及提供一個基本內核和所需要的基本用戶界面,能處理嵌入式任務和用戶界面要求。可以在編譯內核時選擇所需要的模塊,內核沒有的可從別處移植過來。

具體做法如下:選擇一個合適的內核版本,通過內核編譯前的配置命令“make menuconfig”可將不必要的內核模塊去掉。如不要軟盤驅動模塊,把所有的 block device(塊設備)移除,只留下old IDE device(老式IDE設備);把所有的 character device(字符設備)移除,而且不要聲卡驅動模塊[3,4]。因為用不到軟盤、聲卡等設備,驅動程序也可以簡化,這樣之后,就可得到一個占用空間較小的內核。另外還要用到圖形服務系統,可選用體積較小的嵌入式圖形引擎。

3.2 開機畫面定制方法

對于具有專門用途的嵌入式系統來說,定制特制的開機畫面是很有很必要的。工作主要是屏蔽主板BIOS的自檢提示,屏蔽Linux啟動時的字符畫面,并改為用戶自己的圖片[1]。以有BIOS及LILO啟動嵌入式Linux為例,步驟如下:

(1) 改動BIOS設置,將默認圖片改為用戶需要的;

(2) 改寫嵌入系統的啟動程序LILO的配置文件/etc/lilo.conf,加入如下這行:

append=“console=/dev/tty2 CONSOLE=/dev/tty2”;他將屏蔽啟動字符信息。

(3) 制作開機顯示的畫面,支持的圖片格式為“pcx”和“tif”,可用相關工具來轉化。

(4) 修改內核源代碼,重新編譯。修改的內容很少,主要集中在源文件drivers/video/fbcon.c,具體改動內容請參考文獻[1]。

系統啟動畫面可用1幅圖片,也可用2幅圖片,但是要盡量有專業信息并保持美觀、優雅、大方。

3.3 系統啟動程序定制

當引導程序(如LILO)加載Linux內核映象啟動時,他先進行內核的初始化工作,主要是檢測整個硬件環境。內核初始化完成后,系統就啟動init進程,他是系統的第一個用戶級進程。Linux系統共有7個運行級別,他由文件/etc/inittab決定,各級別的功能如下[2]

0:終止或停止系統的運行;

1:單用戶模式;

2:多用戶模式,但無網絡功能;

3:多用戶模式且有網絡功能;

4:保留,自定的啟動模式;

5:圖形界面登陸模式;

6:重新啟動系統;

init進程運行后,他會訪問/etc/inittab文件,該文件確定系統運行于上面的哪個級別。由于嵌入式系統的特性,一般要讓系統運行于級別1上,即單用戶模式,這只要在/etc/inittab文件的id:3:initdefault行,將3改為1即可。

接著init進程又分別啟動/etc/rc.d/rc.sysinit和與等級相對應的/etc/rc.d/rc初始化進程,最后init會運行用戶登陸程序,這時在終端上就會顯示login:的登錄信息,用戶登錄成功后會啟動shell程序,shell啟動后,他會讀取并執行文件/etc/profile,/etc/bashrc,和用戶主目錄下的文件.bashrc,這些文件負責建立用戶自己的環境。要定制自己的啟動服務和程序,就從這里著手。可以增加自己的腳本程序來完成這些工作,主要步驟如下:

(1) 仿照系統目錄/etc/rc.d/init.d里的任何一個腳本文件的格式自己編寫一個啟動服務腳本文件。

(2) 將寫好的腳本文件拷貝到/etc/rc.d/init.d目錄下。因為/etc/rc.d/rcn.d只是/etc/rc.d/init.d的一個鏈接,故要將真實的文件先拷到后者的目錄下。

(3) 在相應的運行級別n的/etc/rc.d/rcn.d下建立該腳本文件的鏈接。如運行級別為1,則n=1,目錄即為/etc/rc.d/rc1.d。假如該腳本名為my-comm,鏈接名定為mycommand,則鍵入如下命令即可:ln –s /etc/rc.d/init.d/my-comm /etc/rc.d /rc2.d/mycommand。

完成以上幾步后,系統開機后就會自動執行腳本my-comm里的服務。

4 軟件開發與移植

定制好Linux內核及配置好運行環境后,就可以開發用戶特定的應用軟件及虛擬儀器程序,并移植到嵌入式Linux系統上。由于嵌入式系統自身的原因,一般開發應用軟件必須在開發平臺上,調試好后再移植到嵌入式系統上。同時,嵌入式測試系統包含有各種測試儀器卡,還必須編寫控制硬件相關的驅動程序和應用程序,以實現完整的虛擬儀器功能。

各種應用軟件開發好后,必須移植到嵌入式測試系統上才能真正使用。移植的方法主要通過網口或USB口,將相應的應用軟件及其需要的各種庫文件、文檔、圖片及其他資源安裝到嵌入式Linux系統上的相應位置,并進行聯合調試,直到能正常使用為止。整個軟件組成及開發結構如圖1所示:

5 結 語

本文將對基于嵌入式Linux的測試系統進行研究,對嵌入式Linux軟件系統各個環節的實現過程進行較為全面的探討;包括嵌入式Linux系統內核的定制、運行環境的配置及用戶運用軟件的開發與移植;并給出可行的實現方案,對嵌入式Linux測試系統的開發者具有一定的指導意義。

參考文獻

[1]李善平,劉文峰,王煥龍.Linux與嵌入式系統\\[M\\].北京:清華大學出版社,2002.

[2]聯想軟件超星空工作室.精通Linux系統管理與應用開發技術\\[M\\].北京:清華大學出版社,2001.

[3]Stephen Balacco.Linux′s Future in the Embedded Systems Market.2001.http://www.linuxdevices.com/articles/AT-4705998392.html.

[4]Rick Lehrbaum.What′s So Good about Open Source and Linux - in Embedded,2001.http://www.linuxdevices.com/articles/AT8151978006.html.

[5]任一,楊峰.中文Linux應用指南\\[M\\].北京:科學出版社,2000.

[6]李主琛.Linux面向對象窗口高級編程\\[M\\].北京:科學出版社,2001.

[7]于明儉,陳向明,方漢.Linux程序設計權威指南\\[M\\].北京:機械工業出版社,2001.

主站蜘蛛池模板: aa级毛片毛片免费观看久| 在线免费亚洲无码视频| 98超碰在线观看| 99热这里只有精品2| 女人爽到高潮免费视频大全| 色综合手机在线| 国产a在视频线精品视频下载| 成年人免费国产视频| 天堂在线亚洲| 国产av色站网站| 午夜日b视频| 91无码视频在线观看| www精品久久| 最新精品国偷自产在线| 亚洲精品麻豆| 老司机久久99久久精品播放| 一级看片免费视频| 亚洲自拍另类| 国产99精品视频| 在线一级毛片| 午夜免费小视频| 亚洲丝袜第一页| 黄色网站不卡无码| 一区二区三区国产精品视频| 亚洲美女视频一区| 91色在线观看| 精品国产Av电影无码久久久| 91亚洲免费视频| 成人免费一级片| 小蝌蚪亚洲精品国产| 波多野结衣久久高清免费| 国产正在播放| 亚洲人成网址| 国产在线91在线电影| 日本精品视频一区二区| 91极品美女高潮叫床在线观看| 在线观看视频一区二区| 99性视频| 黄色a一级视频| 欧美在线中文字幕| 夜夜操天天摸| 亚洲高清国产拍精品26u| 黄色污网站在线观看| 国产精品hd在线播放| 国产一级毛片在线| 久久国语对白| 天天色天天综合网| 老司机aⅴ在线精品导航| 色妞永久免费视频| 日本一区二区不卡视频| 免费在线国产一区二区三区精品| 亚洲人妖在线| 日韩在线中文| 99精品免费在线| 亚洲中文无码h在线观看| 高清亚洲欧美在线看| 黄色不卡视频| 99在线观看免费视频| 国产精品亚洲一区二区三区在线观看| 亚洲成在线观看 | 国产色爱av资源综合区| 午夜丁香婷婷| 国产成人精品无码一区二 | 视频一区视频二区中文精品| 日韩免费无码人妻系列| 国产极品粉嫩小泬免费看| 中文字幕在线看| 啪啪啪亚洲无码| 国产喷水视频| 无码国产伊人| 国产精品三级av及在线观看| 69综合网| 伊人色天堂| 91麻豆国产视频| 亚洲国语自产一区第二页| 成人夜夜嗨| 国产精品成人啪精品视频| 污视频日本| 国模极品一区二区三区| 国产精品青青| 蜜桃视频一区二区三区| 欧美在线网|