- 課程設計總結 推薦度:
- 課程設計報告 推薦度:
- 微課程設計方案 推薦度:
- 論文后記 推薦度:
- 論文自述 推薦度:
- 相關(guān)推薦
linux課程設計論文
linux課程設計的相關(guān)論文同學(xué)們是怎么樣寫(xiě)的呢?大家可以看看下面的論文,歡迎各位閱讀哦!
linux課程設計論文
摘要:隨著(zhù)嵌入式技術(shù)、物聯(lián)網(wǎng)技術(shù)的高速發(fā)展以及以嵌入式Linux為操作系統的應用領(lǐng)域的增多,嵌入式Linux設計課程的教學(xué)也在各大院校開(kāi)展起來(lái)。介紹了嵌入式Linux設計概念、系統架構、設計內容及發(fā)展方向,設置了嵌入式Linux設計課程內容,包括嵌入式Linux系統體系結構、引導程序、內核、設備驅動(dòng)程序、文件系統及圖形界面三部分內容,對培養適應社會(huì )需求的嵌入式技術(shù)人才具有重要意義。
關(guān)鍵詞:嵌入式Linux;體系結構;課程研究
近年來(lái)嵌入式Linux系統發(fā)展較快,在中國,以L(fǎng)inux為基礎的嵌入式操作系統也很活躍,其中中軟Linux、紅旗Linux、東方Linux是業(yè)界的代表。嵌入式Linux系統的應用范圍很廣,尤其隨著(zhù)智能手機及物聯(lián)網(wǎng)系統的發(fā)展,基于嵌入式Linux系統的電子產(chǎn)品已進(jìn)入人們的生活,如基于Linux的Android系統,基于Linux的智能家居系統、物聯(lián)網(wǎng)系統,3G行業(yè)應用如移動(dòng)視頻監控-車(chē)輛應急指揮調度、遠程的區域監測、安防領(lǐng)域、移動(dòng)電子商務(wù)等。嵌入式Linux是把Linux內核移植到一個(gè)專(zhuān)用嵌入式設備的CPU和主板上。嵌入式Linux和桌面Linux提供的API函數與內核源代碼都是相同的,嵌入式Linux開(kāi)發(fā)主要通過(guò)在桌面Linux利用源碼編輯器如vi編寫(xiě)源代碼,通過(guò)交叉編譯器編譯出能在嵌入式開(kāi)發(fā)平臺如手機、機頂盒或智能家居等產(chǎn)品上運行的可執行文件。嵌入式Linux開(kāi)發(fā)的工具還包括調試器、CVS等項目管理軟件等。
一、嵌入式Linux設計課程概述
嵌入式Linux設計是電子信息專(zhuān)業(yè)及相近專(zhuān)業(yè)的一門(mén)專(zhuān)業(yè)課,其目的是使學(xué)生了解主流嵌入式系統開(kāi)發(fā)軟件嵌入式Linux驅動(dòng)程序的設計和開(kāi)發(fā)過(guò)程。學(xué)生熟悉掌握嵌入式系統常用的硬件接口時(shí)序、電氣特性;掌握針對硬件的Linux驅動(dòng)程序實(shí)現方法,包括I/O口、CAN總線(xiàn)、觸摸屏、IIC、異步串口、音頻、顯示、USB、以太網(wǎng)及Flash的使用及驅動(dòng)程序的編寫(xiě)。[1]熟悉嵌入式Linux的中斷處理、Boot Loader和內核電啟動(dòng)過(guò)程。
二、嵌入式Linux設計課程研究
1.嵌入式Linux系統體系結構
。1)嵌入式Linux系統硬件組成。核心板:采用高性能嵌入式處理器、Mobile DDR、NAND Flash、NOR Flash;外圍電路:帶觸摸屏真彩色寬屏LCD、USB HOST、UART,RS232端口、立體聲語(yǔ)音輸出、耳機、自適應10/100M網(wǎng)卡、板載GSM/GPRS模塊、步進(jìn)電機電路模塊,搭載射頻模塊;擴展模塊:主/從藍牙模塊、Zigbee模塊、傳感器部分。
。2)軟件組成。操作系統:Linux2.6.21,Linux2.6.38。引導程序:U-boot.1.1.6。圖形界面:QT 4.6。嵌入式Linux系統的開(kāi)發(fā)流程。元器件選型:根據要實(shí)現的系統功能及目前市場(chǎng)上可選用的元器件來(lái)設計電路。原理圖編制:用Protel等相關(guān)電子CAD工具將設計好的電路圖在電腦中繪制出來(lái)。印制板設計:在Protel等工具中畫(huà)好芯片及電阻、電容等封裝,將原理圖轉換成PCB板圖,并完成布線(xiàn)。樣板試制:把PCB板圖進(jìn)行制板,并焊接好相應元器件。硬件功能測試:在焊接元器件時(shí)要按功能模塊順序焊接,焊接好一個(gè)模塊后接著(zhù)測試其功能,發(fā)現問(wèn)題及時(shí)解決。如通過(guò)USB供電模塊對應的USB接口及降壓芯片、電阻、電容等焊接完后,將USB接口插到電腦USB接口處,并通過(guò)萬(wàn)用表測量USB接口引腳電壓,如果顯示5V即為正確電壓,說(shuō)明電路設計及焊接都成功。如果以后其他部分出現問(wèn)題時(shí)可以排除這部分芯片的嫌疑。編寫(xiě)引導程序:分匯編語(yǔ)言部分和C語(yǔ)言部分,實(shí)現硬件初始化和引導操作系統的功能。操作系統移植:在官網(wǎng)下載最新Linux版本,根據本設備硬件配置裁剪Linux源代碼并修改。文件系統:沒(méi)有文件系統,內核不完整,最后內核啟動(dòng)后要找文件系統,如果沒(méi)有文件系統會(huì )提示失敗。通過(guò)文件系統管理硬盤(pán),下載應用程序。驅動(dòng)程序編寫(xiě):用戶(hù)程序無(wú)法直接操作用戶(hù)態(tài),要用中間層軟件―設備驅動(dòng)程序。用戶(hù)程序必須通過(guò)系統調用,間接調用驅動(dòng)程序訪(fǎng)問(wèn)硬件。API設計與開(kāi)發(fā):API設計是為了讓?xiě)贸绦騿T在開(kāi)發(fā)時(shí)更方便,提供了繪圖接口函數、文件接口函數及控件函數等。應用程序設計:根據功能需求設計如手機游戲、PDA基本管理功能、機頂盒信號處理等。[2]系統聯(lián)調:產(chǎn)品所有功能設計好后,整體加載到硬件設備中,調試其功能穩定性。樣機支付:加工外殼,封裝好設備,可以投入市場(chǎng)。
該部分要在課程講解的基礎上帶領(lǐng)學(xué)生通過(guò)實(shí)踐課或課程設計完成一項電子產(chǎn)品的整體設計,讓學(xué)生真正體會(huì )到嵌入式產(chǎn)品是什么,怎么移植嵌入式Linux系統。
2.引導程序
引導程序Bootloader是系統加電后運行的第一段代碼,也就是在內核啟動(dòng)前運行的第一段程序。引導程序的功能:初始化硬件設備、建立內存空間的映射圖。將操作系統內核映像從Flash內拷貝到RAM中,然后跳轉到內核的入口點(diǎn)去運行,即啟動(dòng)操作系統。常見(jiàn)的Bootloader有Vivi、Blob、Redboot和U-Boot。下面介紹U-Boot的啟動(dòng)流程:
。1)第一階段。依賴(lài)于CPU體系結構的代碼,用匯編來(lái)實(shí)現:系統上電后進(jìn)入svc模式;關(guān)閉看門(mén)狗禁止所有中斷;進(jìn)行初級硬件初始化后將自身代碼拷貝到SDRAM中;設置堆棧、清空bss段,最后跳轉到C語(yǔ)言實(shí)現的第二階段中。
。2)第二階段。設置參數引導內核,并跳轉到內核入口處。通常用C語(yǔ)言來(lái)實(shí)現,可以實(shí)現復雜的功能,并具有很好的可讀性和可移植性。
該部分的.源代碼量比較少,涉及到ARM匯編和C語(yǔ)言編程,是整個(gè)系統中的第一段代碼,很重要,需要帶著(zhù)學(xué)生從第一行代碼開(kāi)始逐行剖析。 3.嵌入式Linux內核
分析內核源碼:包括初始化Cache、Mum等設置;內核解壓函數;非壓縮內核啟動(dòng)匯編段。內核移植:修改與具體的硬件構架和開(kāi)發(fā)板類(lèi)型相關(guān)的文件代碼,如.config文件。選擇相近的demo板,可以最大實(shí)現代碼重用,在此基礎上進(jìn)行必要的修改。對不同類(lèi)型的NAND Flash、網(wǎng)卡、YAFFS FLASH進(jìn)行移植修改。Linux代碼量很大,該部分的學(xué)習重點(diǎn)是如何移植Linux到嵌入式平臺上,如何裁剪代碼。
4.設備驅動(dòng)程序
上層應用程序是通過(guò)驅動(dòng)程序使用底層硬件。應用程序使用標準庫調用,用戶(hù)程序必須通過(guò)系統調用,間接調用驅動(dòng)程序訪(fǎng)問(wèn)硬件。每個(gè)硬件接口不一樣,由內核提供黑匣子接口屏蔽用戶(hù)。設備驅動(dòng)程序分為字符設備驅動(dòng)程序(包括各種串行接口、并行接口等)、塊設備驅動(dòng)程序(包括磁盤(pán)設備等)、網(wǎng)絡(luò )設備驅動(dòng)程序(包括網(wǎng)卡等)及雜項設備驅動(dòng)程序(如SCSI、時(shí)鐘等)。[3]驅動(dòng)程序代碼也是以移植修改為主,根據新增加接口及設備型號修改廠(chǎng)商支持的原有程序代碼。
5.文件系統
Linux中一切皆文件,所有的設備、內存都模擬成文件。Linux的文件系統包括四種:命名空間、API(用來(lái)便利和操作對象的一套系統調用)、安全模型(用來(lái)保護、隱藏和共享事物的方案)和實(shí)現(把邏輯模型同實(shí)際硬件聯(lián)系到一起的軟件)。建立在Flash上的文件系統包括EXT2、Jffs2、yaffs、CRAMFS、proc等文件類(lèi)型。Linux下的文件分成五種文件類(lèi)型:字符設備、塊設備、連接、普通文件和目錄。
構建嵌入式文件系統先構建根文件目錄,文件系統通過(guò)busybox工具集來(lái)制作目錄和根文件系統,通過(guò)mk命令做成crmafs只讀根文件系統鏡像,最后燒寫(xiě)根文件系統。
6.圖形界面
QT是現在流行的跨平臺的C++圖形用戶(hù)界面(GUI)工具包。通過(guò)QT能設計2D、3D等多種界面圖形。在QT程序中,利用信號和插槽機制進(jìn)行對象間的通信。QT有Windows版本,可以在Windows操作系統中開(kāi)發(fā)后通過(guò)交叉編譯后移植到嵌入式Linux環(huán)境中。[4]在設計嵌入式Linux界面時(shí)使用Windows QT4.0在Windows環(huán)境下開(kāi)發(fā),屬于可視化界面,不用通過(guò)代碼創(chuàng )建控件,通過(guò)工具可以直接拖拉控件到窗口中,簡(jiǎn)單方便。
三、嵌入式Linux的發(fā)展方向
嵌入式Linux發(fā)展的前景非常好,但是人才的缺乏已經(jīng)成為當前制約嵌入式Linux發(fā)展的瓶頸。一方面,因為嵌入式人才領(lǐng)域門(mén)檻較高,從事嵌入式軟件開(kāi)發(fā)的工作人員不僅要熟練掌握C/C++、匯編語(yǔ)言等基礎,而且對Linux內核和底層驅動(dòng)程序及硬件都要熟悉。另一方面,因為這一領(lǐng)域較新,目前發(fā)展太快,很多軟硬件技術(shù)出現時(shí)間不長(cháng),如ARM11/A8處理器、嵌入式Linux操作系統、無(wú)線(xiàn)通信協(xié)議、移動(dòng)USB3.0高速傳輸等,目前國內乃至國際上能夠掌握這些新技術(shù)的人才相當匱乏。所以近幾年包括未來(lái)幾年,市場(chǎng)對嵌入式Linux人才的需求都非常旺盛。
四、總結
嵌入式Linux設計課程涉及嵌入式Linux系統構建、驅動(dòng)開(kāi)發(fā)、內核移植、根文件構建、應用及圖形開(kāi)發(fā)。嵌入式Linux設計還可以增加系統管理部分內容,如服務(wù)器管理、數據庫管理、網(wǎng)絡(luò )配置、防火墻配置與管理、日志管理及維護等。隨著(zhù)Linux操作系統的完善和發(fā)展,以嵌入式Linux為內核的嵌入f系統也已無(wú)處不在。數字化、智能化使傳統設備電子化,具有這些功能的嵌入式Linux操作系統的應用前景會(huì )越來(lái)越廣,學(xué)好該課程對發(fā)展嵌入式系統、物聯(lián)網(wǎng)技術(shù)具有重要意義。
參考文獻:
[1]王小妮.基于嵌入式系列課程的教學(xué)改革與探索[J].教育理論與教學(xué)研究,2013,(5).
[2]冼進(jìn).嵌入式Linux應用開(kāi)發(fā)詳解[M].北京:電子工業(yè)出版社,2007.
[3]劉淼.嵌入式系統接口設計與Linux驅動(dòng)程序開(kāi)發(fā)[M].北京:北京航空航天大學(xué)出版社,2006.
[4]韓少云.基于嵌入式Linux的Qt圖形程序實(shí)戰開(kāi)發(fā)[M].北京:北京航空航天大學(xué)出版社,2012.
【linux課程設計論文】相關(guān)文章:
課程設計論文致謝(通用5篇)04-20
《離騷》課程設計11-13
課程設計開(kāi)題報告04-26
《歸園田居》教學(xué)課程設計12-15
課程設計心得體會(huì )【精】04-29
【熱】課程設計心得體會(huì )04-29
課程設計心得體會(huì )【薦】04-24
課程設計心得體會(huì )【熱】04-21
《少年王勃》的課程設計11-14