當前位置:文書都 >

實用範文 >論文 >

linux課程設計論文

linux課程設計論文

linux課程設計的相關論文同學們是怎麼樣寫的呢?大家可以看看下面的論文,歡迎各位閲讀哦!

linux課程設計論文

linux課程設計論文

摘要:隨着嵌入式技術、物聯網技術的高速發展以及以嵌入式Linux為操作系統的應用領域的增多,嵌入式Linux設計課程的教學也在各大院校開展起來。介紹了嵌入式Linux設計概念、系統架構、設計內容及發展方向,設置了嵌入式Linux設計課程內容,包括嵌入式Linux系統體系結構、引導程序、內核、設備驅動程序、文件系統及圖形界面三部分內容,對培養適應社會需求的嵌入式技術人才具有重要意義。

關鍵詞:嵌入式Linux;體系結構;課程研究

近年來嵌入式Linux系統發展較快,在中國,以Linux為基礎的嵌入式操作系統也很活躍,其中中軟Linux、紅旗Linux、東方Linux是業界的代表。嵌入式Linux系統的應用範圍很廣,尤其隨着智能手機及物聯網系統的發展,基於嵌入式Linux系統的電子產品已進入人們的生活,如基於Linux的Android系統,基於Linux的智能家居系統、物聯網系統,3G行業應用如移動視頻監控-車輛應急指揮調度、遠程的區域監測、安防領域、移動電子商務等。嵌入式Linux是把Linux內核移植到一個專用嵌入式設備的CPU和主板上。嵌入式Linux和桌面Linux提供的API函數與內核源代碼都是相同的,嵌入式Linux開發主要通過在桌面Linux利用源碼編輯器如vi編寫源代碼,通過交叉編譯器編譯出能在嵌入式開發平台如手機、機頂盒或智能家居等產品上運行的可執行文件。嵌入式Linux開發的工具還包括調試器、CVS等項目管理軟件等。

一、嵌入式Linux設計課程概述

嵌入式Linux設計是電子信息專業及相近專業的一門專業課,其目的'是使學生了解主流嵌入式系統開發軟件嵌入式Linux驅動程序的設計和開發過程。學生熟悉掌握嵌入式系統常用的硬件接口時序、電氣特性;掌握針對硬件的Linux驅動程序實現方法,包括I/O口、CAN總線、觸摸屏、IIC、異步串口、音頻、顯示、USB、以太網及Flash的使用及驅動程序的編寫。[1]熟悉嵌入式Linux的中斷處理、Boot Loader和內核電啟動過程。

二、嵌入式Linux設計課程研究

1.嵌入式Linux系統體系結構

(1)嵌入式Linux系統硬件組成。核心板:採用高性能嵌入式處理器、Mobile DDR、NAND Flash、NOR Flash;外圍電路:帶觸摸屏真彩色寬屏LCD、USB HOST、UART,RS232端口、立體聲語音輸出、耳機、自適應10/100M網卡、板載GSM/GPRS模塊、步進電機電路模塊,搭載射頻模塊;擴展模塊:主/從藍牙模塊、Zigbee模塊、傳感器部分。

(2)軟件組成。操作系統:Linux2.6.21,Linux2.6.38。引導程序:。圖形界面:QT 4.6。嵌入式Linux系統的開發流程。元器件選型:根據要實現的系統功能及目前市場上可選用的元器件來設計電路。原理圖編制:用Protel等相關電子CAD工具將設計好的電路圖在電腦中繪製出來。印製板設計:在Protel等工具中畫好芯片及電阻、電容等封裝,將原理圖轉換成PCB板圖,並完成佈線。樣板試製:把PCB板圖進行制板,並焊接好相應元器件。硬件功能測試:在焊接元器件時要按功能模塊順序焊接,焊接好一個模塊後接着測試其功能,發現問題及時解決。如通過USB供電模塊對應的USB接口及降壓芯片、電阻、電容等焊接完後,將USB接口插到電腦USB接口處,並通過萬用表測量USB接口引腳電壓,如果顯示5V即為正確電壓,説明電路設計及焊接都成功。如果以後其他部分出現問題時可以排除這部分芯片的嫌疑。編寫引導程序:分彙編語言部分和C語言部分,實現硬件初始化和引導操作系統的功能。操作系統移植:在官網下載最新Linux版本,根據本設備硬件配置裁剪Linux源代碼並修改。文件系統:沒有文件系統,內核不完整,最後內核啟動後要找文件系統,如果沒有文件系統會提示失敗。通過文件系統管理硬盤,下載應用程序。驅動程序編寫:用户程序無法直接操作用户態,要用中間層軟件―設備驅動程序。用户程序必須通過系統調用,間接調用驅動程序訪問硬件。API設計與開發:API設計是為了讓應用程序員在開發時更方便,提供了繪圖接口函數、文件接口函數及控件函數等。應用程序設計:根據功能需求設計如手機遊戲、PDA基本管理功能、機頂盒信號處理等。[2]系統聯調:產品所有功能設計好後,整體加載到硬件設備中,調試其功能穩定性。樣機支付:加工外殼,封裝好設備,可以投入市場。

該部分要在課程講解的基礎上帶領學生通過實踐課或課程設計完成一項電子產品的整體設計,讓學生真正體會到嵌入式產品是什麼,怎麼移植嵌入式Linux系統。

2.引導程序

引導程序Bootloader是系統加電後運行的第一段代碼,也就是在內核啟動前運行的第一段程序。引導程序的功能:初始化硬件設備、建立內存空間的映射圖。將操作系統內核映像從Flash內拷貝到RAM中,然後跳轉到內核的入口點去運行,即啟動操作系統。常見的Bootloader有Vivi、Blob、Redboot和U-Boot。下面介紹U-Boot的啟動流程:

(1)第一階段。依賴於CPU體系結構的代碼,用匯編來實現:系統上電後進入svc模式;關閉看門狗禁止所有中斷;進行初級硬件初始化後將自身代碼拷貝到SDRAM中;設置堆疊、清空bss段,最後跳轉到C語言實現的第二階段中。

(2)第二階段。設置參數引導內核,並跳轉到內核入口處。通常用C語言來實現,可以實現複雜的功能,並具有很好的可讀性和可移植性。

該部分的源代碼量比較少,涉及到ARM彙編和C語言編程,是整個系統中的第一段代碼,很重要,需要帶着學生從第一行代碼開始逐行剖析。   3.嵌入式Linux內核

分析內核源碼:包括初始化Cache、Mum等設置;內核解壓函數;非壓縮內核啟動彙編段。內核移植:修改與具體的硬件構架和開發板類型相關的文件代碼,如ig文件。選擇相近的demo板,可以最大實現代碼重用,在此基礎上進行必要的修改。對不同類型的NAND Flash、網卡、YAFFS FLASH進行移植修改。Linux代碼量很大,該部分的學習重點是如何移植Linux到嵌入式平台上,如何裁剪代碼。

4.設備驅動程序

上層應用程序是通過驅動程序使用底層硬件。應用程序使用標準庫調用,用户程序必須通過系統調用,間接調用驅動程序訪問硬件。每個硬件接口不一樣,由內核提供黑匣子接口屏蔽用户。設備驅動程序分為字符設備驅動程序(包括各種串行接口、並行接口等)、塊設備驅動程序(包括磁盤設備等)、網絡設備驅動程序(包括網卡等)及雜項設備驅動程序(如SCSI、時鐘等)。[3]驅動程序代碼也是以移植修改為主,根據新增加接口及設備型號修改廠商支持的原有程序代碼。

5.文件系統

Linux中一切皆文件,所有的設備、內存都模擬成文件。Linux的文件系統包括四種:命名空間、API(用來便利和操作對象的一套系統調用)、安全模型(用來保護、隱藏和共享事物的方案)和實現(把邏輯模型同實際硬件聯繫到一起的軟件)。建立在Flash上的文件系統包括EXT2、Jffs2、yaffs、CRAMFS、proc等文件類型。Linux下的文件分成五種文件類型:字符設備、塊設備、連接、普通文件和目錄。

構建嵌入式文件系統先構建根文件目錄,文件系統通過busybox工具集來製作目錄和根文件系統,通過mk命令做成crmafs只讀根文件系統鏡像,最後燒寫根文件系統。

6.圖形界面

QT是現在流行的跨平台的C++圖形用户界面(GUI)工具包。通過QT能設計2D、3D等多種界面圖形。在QT程序中,利用信號和插槽機制進行對象間的通信。QT有Windows版本,可以在Windows操作系統中開發後通過交叉編譯後移植到嵌入式Linux環境中。[4]在設計嵌入式Linux界面時使用Windows QT4.0在Windows環境下開發,屬於可視化界面,不用通過代碼創建控件,通過工具可以直接拖拉控件到窗口中,簡單方便。

三、嵌入式Linux的發展方向

嵌入式Linux發展的前景非常好,但是人才的缺乏已經成為當前制約嵌入式Linux發展的瓶頸。一方面,因為嵌入式人才領域門檻較高,從事嵌入式軟件開發的工作人員不僅要熟練掌握C/C++、彙編語言等基礎,而且對Linux內核和底層驅動程序及硬件都要熟悉。另一方面,因為這一領域較新,目前發展太快,很多軟硬件技術出現時間不長,如ARM11/A8處理器、嵌入式Linux操作系統、無線通信協議、移動USB3.0高速傳輸等,目前國內乃至國際上能夠掌握這些新技術的人才相當匱乏。所以近幾年包括未來幾年,市場對嵌入式Linux人才的需求都非常旺盛。

四、總結

嵌入式Linux設計課程涉及嵌入式Linux系統構建、驅動開發、內核移植、根文件構建、應用及圖形開發。嵌入式Linux設計還可以增加系統管理部分內容,如服務器管理、數據庫管理、網絡配置、防火牆配置與管理、日誌管理及維護等。隨着Linux操作系統的完善和發展,以嵌入式Linux為內核的嵌入f系統也已無處不在。數字化、智能化使傳統設備電子化,具有這些功能的嵌入式Linux操作系統的應用前景會越來越廣,學好該課程對發展嵌入式系統、物聯網技術具有重要意義。

參考文獻:

[1]王小妮.基於嵌入式系列課程的教學改革與探索[J].教育理論與教學研究,2013,(5).

[2]冼進.嵌入式Linux應用開發詳解[M].北京:電子工業出版社,2007.

[3]劉淼.嵌入式系統接口設計與Linux驅動程序開發[M].北京:北京航空航天大學出版社,2006.

[4]韓少雲.基於嵌入式Linux的Qt圖形程序實戰開發[M].北京:北京航空航天大學出版社,2012.

  • 文章版權屬於文章作者所有,轉載請註明 https://wenshudu.com/shiyongfanwen/lunwen/2p88xq.html
專題