資源描述:
《linux內(nèi)核移植和編譯》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、Linux與嵌入式系統(tǒng)課程設(shè)計(jì)*******************實(shí)踐教學(xué)*******************蘭州理工大學(xué)計(jì)算機(jī)與通信學(xué)院2014年秋季學(xué)期Linux與嵌入式系統(tǒng)課程設(shè)計(jì)題目:LINUX內(nèi)核移植和編譯專業(yè)班級(jí):物聯(lián)網(wǎng)二班姓名:趙飛學(xué)號(hào):12280213指導(dǎo)教師:馬維俊成績(jī):36Linux與嵌入式系統(tǒng)課程設(shè)計(jì)摘要嵌入式系統(tǒng)是面向用戶、面向產(chǎn)品、面向應(yīng)用的,它必須與具體應(yīng)用相結(jié)合才會(huì)具有生命力、才更具有優(yōu)勢(shì)。因此可以這樣理解上述三個(gè)面向的含義,即嵌入式系統(tǒng)是與應(yīng)用緊密結(jié)合的,它具有很強(qiáng)的專用性,必須結(jié)合實(shí)際系統(tǒng)需求進(jìn)
2、行合理的裁減利用。嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可定制,適用于不同應(yīng)用場(chǎng)合,對(duì)功能,可靠性,成本,體積,功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。它一般由嵌入式微處理器,外圍硬件設(shè)備,嵌入式操作系統(tǒng),用戶應(yīng)用程序4個(gè)部分組成。它在于結(jié)合微處理器或微控制器的系統(tǒng)電路與其專用的軟件,來(lái)達(dá)到系統(tǒng)運(yùn)作效率成本的最優(yōu)化。用于實(shí)現(xiàn)對(duì)其他設(shè)備的控制,監(jiān)視或管理等功能。嵌入式系統(tǒng)已經(jīng)廣泛應(yīng)用于科學(xué)研究,工業(yè)控制,軍事技術(shù),交通通信,醫(yī)療衛(wèi)生,消費(fèi)娛樂(lè)等領(lǐng)域,人們常用的手機(jī),PDA,汽車,智能家電,GPS等均是嵌入式系統(tǒng)的典型代表。而Li
3、nux內(nèi)核移植是嵌入式系統(tǒng)不可缺少的步驟,一個(gè)真正的嵌入式系統(tǒng)要完成一些功能,必須有相應(yīng)的程序支持。關(guān)鍵詞:Linux內(nèi)核、編譯、程序36Linux與嵌入式系統(tǒng)課程設(shè)計(jì)目錄前言3一.基本原理41.1.Linux發(fā)展歷史41.2.Linux內(nèi)核目錄結(jié)構(gòu)51.3.Linux內(nèi)核配置及裁剪111.4.內(nèi)核中的Kconfig和Makefile25二.詳細(xì)設(shè)計(jì)282.1.編寫(xiě)實(shí)驗(yàn)代碼helloworld.c282.2.修改Kconfig文件,添加菜單支持282.3.修改Makefile文件,添加編譯支持292.4.配置內(nèi)核對(duì)helloworl
4、d程序的支持292.5.重新編譯內(nèi)核312.6.燒寫(xiě)程序32參考文獻(xiàn)34致謝35附3636Linux與嵌入式系統(tǒng)課程設(shè)計(jì)前言操作系統(tǒng)是一個(gè)用來(lái)和硬件打交道并為用戶程序提供一個(gè)有限服務(wù)集的低級(jí)支撐軟件。一個(gè)計(jì)算機(jī)系統(tǒng)是一個(gè)硬件和軟件的共生體,它們互相依賴,不可分割。計(jì)算機(jī)的硬件,含有外圍設(shè)備、處理器、內(nèi)存、硬盤(pán)和其他的電子設(shè)備組成計(jì)算機(jī)的發(fā)動(dòng)機(jī)。但是沒(méi)有軟件來(lái)操作和控制它,自身是不能工作的。完成這個(gè)控制工作的軟件就稱為操作系統(tǒng),在Linux的術(shù)語(yǔ)中被稱為“內(nèi)核”,也可以稱為“核心”。Linux內(nèi)核的主要模塊(或組件)分以下幾個(gè)部分:存
5、儲(chǔ)管理、CPU和進(jìn)程管理、文件系統(tǒng)、設(shè)備管理和驅(qū)動(dòng)、網(wǎng)絡(luò)通信,以及系統(tǒng)的初始化(引導(dǎo))、系統(tǒng)調(diào)用等。Linux內(nèi)核本身并不是操作系統(tǒng),它是一個(gè)完整操作系統(tǒng)的組成部分。RedHat、Novell、Debian和Gentoo等Linux發(fā)行商都采用Linux內(nèi)核,然后加入更多的工具、庫(kù)和應(yīng)用程序來(lái)構(gòu)建一個(gè)完整的操作系統(tǒng)。內(nèi)核既是操作系統(tǒng)的心臟,也是它的大腦,因?yàn)閮?nèi)核控制著基本的硬件內(nèi)核是操作系統(tǒng)的核心,具有很多最基本功能,如虛擬內(nèi)存、多任務(wù)、共享庫(kù)、需求加載、共享的寫(xiě)時(shí)拷貝(copy-on-write)可執(zhí)行程序和TCP/IP網(wǎng)絡(luò)功能。
6、36Linux與嵌入式系統(tǒng)課程設(shè)計(jì)一.基本原理1.1.Linux發(fā)展歷史自1991年11月由芬蘭的LinusTtorvalds推出Linux0.1.0版內(nèi)核至今,Linux內(nèi)核已經(jīng)升級(jí)到Linux2.6.31(寫(xiě)本文檔時(shí),www.kernel.org發(fā)布的最新版Linux內(nèi)核)。其發(fā)展速度是如此的迅猛,是目前市場(chǎng)上唯一可以挑戰(zhàn)Windows的操作系統(tǒng)。如圖1.1.1所示圖1.1.1Linux內(nèi)核發(fā)展Linux內(nèi)核在其發(fā)展過(guò)程中得到分布于全世界的廣大OpenSource項(xiàng)目追隨者的大力支持。尤其是一些曾經(jīng)參與Unix開(kāi)發(fā)的人員,他們把
7、應(yīng)用于Unix上的許多應(yīng)用程序移植到Linux上來(lái),使得Linux的功能得到巨大的擴(kuò)展。目前比較穩(wěn)定的版本是Linux2.6.24。在Linux的版本號(hào)中,第一個(gè)數(shù)為主版本號(hào)。第二個(gè)為次版本號(hào)。第三個(gè)為修訂號(hào)。次版本號(hào)為偶數(shù)表明是穩(wěn)定發(fā)行版本,奇數(shù)則是在開(kāi)發(fā)中的版本。隨著其功能不斷加強(qiáng),靈活多樣的實(shí)現(xiàn)加上其可定制的特性以及開(kāi)放源碼的優(yōu)勢(shì),Linux在各個(gè)領(lǐng)域的應(yīng)用正變得越來(lái)越廣泛。目前Linux的應(yīng)用正有舍去中間奔兩頭的趨勢(shì),即在PC機(jī)上Linux要真正取代Windows,或許還有很長(zhǎng)的路要走,但在服務(wù)器市場(chǎng)上它已經(jīng)牢牢站穩(wěn)腳跟。而
8、隨著嵌入式領(lǐng)域的興起更是為L(zhǎng)inux的長(zhǎng)足發(fā)展提供了無(wú)限廣闊的空間。目前專門(mén)針對(duì)嵌入式設(shè)備的Linux改版就有好幾種。包括針對(duì)無(wú)MMU的uClinx和針對(duì)有MMU的標(biāo)準(zhǔn)LINUX在各個(gè)硬件體系結(jié)構(gòu)的移植版本?;谙馭5PV21036L