天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

stm32嵌入式linux系統(tǒng)_嵌入式Linux系統(tǒng)的構(gòu)成

發(fā)布時(shí)間:2016-09-16 13:23

  本文關(guān)鍵詞:嵌入式Linux系統(tǒng),由筆耕文化傳播整理發(fā)布。


> Linux > 正文 嵌入式Linux系統(tǒng)的構(gòu)成 2012-12-13         來(lái)源:熊堯的專欄      我要投稿

嵌入式Linux系統(tǒng)的構(gòu)成

 

 一個(gè)典型的嵌入式Linux系統(tǒng)按照存儲(chǔ)空間的劃分通常包括引導(dǎo)區(qū),內(nèi)核區(qū)與文件系統(tǒng)區(qū),引導(dǎo)區(qū)存放Boot  Loader與系統(tǒng)參數(shù),內(nèi)核區(qū)存放特定嵌入式平臺(tái)的定制Linux內(nèi)核

   

文件系統(tǒng)包括根文件系統(tǒng)和建立與Flash內(nèi)存設(shè)備之上的文件系統(tǒng)。圖形界面系統(tǒng)和用戶應(yīng)用程序就放在文件系統(tǒng)區(qū)中

 

1:Boot  Loader占用的空間一般都比較小,它后面緊挨著一個(gè)啟動(dòng)參數(shù)區(qū),用來(lái)保存Linux內(nèi)核啟動(dòng)參數(shù)和用戶啟動(dòng)配置。

 

2:Boot Loader程序是嵌入式系統(tǒng)的引導(dǎo)加載程序,是系統(tǒng)加電后運(yùn)行的第一段軟件代碼。Boot  Loader程序的主要任務(wù)就是初始化硬件設(shè)備,建立內(nèi)存空間的映射圖,從而將系統(tǒng)的

 

軟硬件環(huán)境帶到一個(gè)合適的環(huán)境中,Boot  Loader程序最重要的任務(wù)就是啟動(dòng)Linux內(nèi)核

   

3:文件系統(tǒng)是嵌入式Linux系統(tǒng)占用空間最大的部分,它通常占據(jù)了Boot Loader和內(nèi)核之外的所有空間,Linux啟動(dòng)完畢之后會(huì)加載一個(gè)根文件系統(tǒng),根文件系統(tǒng)包含了系統(tǒng)必備

配置信息,庫(kù)函數(shù)和shell解釋器以及核心目錄。其他的文件系統(tǒng)則可以掛載在根文件系統(tǒng)下面

Boot Loader 一般通過(guò)JTAG接口和仿真器燒寫到存儲(chǔ)器,而內(nèi)核和文件系統(tǒng)則可以通過(guò)串口和網(wǎng)口燒寫到存儲(chǔ)器。

 

Linux內(nèi)核主要由五個(gè)部分組成:進(jìn)程調(diào)度,內(nèi)存管理,文件系統(tǒng),網(wǎng)絡(luò)子系統(tǒng),以及設(shè)備管理。

 

內(nèi)存管理:(Memory  Management) Linux的內(nèi)存管理支持虛擬內(nèi)存,采取的是分頁(yè)機(jī)制,內(nèi)存管理子系統(tǒng)允許多個(gè)進(jìn)程安全的共享主內(nèi)存區(qū)域。通過(guò)內(nèi)存管理,Linux可以支

持超過(guò)實(shí)際內(nèi)存大小的內(nèi)存地址,磁盤可以當(dāng)作內(nèi)存,磁盤與內(nèi)存之間可以相互交換。

 

設(shè)備管理:Linux支持字符設(shè)備,塊設(shè)備,以及網(wǎng)絡(luò)設(shè)備三類硬件設(shè)備,并提供與平臺(tái)設(shè)備的概念與sys文件系統(tǒng)來(lái)管理各種設(shè)備,linux的設(shè)備驅(qū)動(dòng)可以編譯進(jìn)入內(nèi)核,在系統(tǒng)啟

動(dòng)時(shí)加載,也可以作為模塊形式動(dòng)態(tài)加載

 

Linux的代碼結(jié)構(gòu)

linux 2.6的內(nèi)核代碼非常龐大,其中設(shè)備驅(qū)動(dòng)程序約占一半

 

arch                硬件平臺(tái)相關(guān)代碼

block              塊設(shè)備核心代碼

crypto             加密函數(shù)庫(kù)

documentation    有關(guān)內(nèi)核各個(gè)部分通用解釋和注釋的文本文件

drivers          設(shè)備驅(qū)動(dòng)相關(guān)代碼

fs                  文件系統(tǒng)相關(guān)代碼

include        內(nèi)核頭文件

init                內(nèi)核初始化代碼

ipc                系統(tǒng)進(jìn)程間的通信

kernel          內(nèi)核核心部分:進(jìn)程調(diào)度,中斷處理,信號(hào)處理,模塊

lib                通用內(nèi)核函數(shù)

mm             內(nèi)存管理

net             網(wǎng)絡(luò)通信協(xié)議代碼

samples     內(nèi)核例子

security    系統(tǒng)安全相關(guān)代碼

sound     音頻體系代碼

   

編譯內(nèi)核的幾個(gè)命令

 

1:  make    menuconfig               //配置內(nèi)核命令

2: make     //編譯生成目標(biāo)文件,包括可加載模塊

3:make    zImage           //編譯生成內(nèi)核

4:make    modules_install    //安裝模塊

 

為什么要配置內(nèi)核呢?

  在編譯之前是肯定要配置內(nèi)核的,make  menuconfig,,生成默認(rèn)配置文件.config,這個(gè)文件是設(shè)置cpu體系,以及很多

驅(qū)動(dòng)選項(xiàng)的,沒(méi)有配置這個(gè),是不能進(jìn)行編譯的。新下載的內(nèi)核都是沒(méi)有默認(rèn)的.config,這需要你找到一個(gè)默認(rèn)的config文件

比如 arch/arm/configs/ 下是 arm cpu 很多的默認(rèn)配置,當(dāng)然你也可以把你以前的 config 文件拷貝到新內(nèi)核目錄下。

.config 是配置編譯內(nèi)核的最初步驟

 

為何要重新編譯內(nèi)核?

 

新的內(nèi)核修訂了舊內(nèi)核的bug,并增加了許多新的特性。如果用戶想要使用這些新特性,或想根據(jù)自己的系統(tǒng)度身定制一個(gè)更高效,更穩(wěn)定的內(nèi)核,就需要重新編譯Linux內(nèi)核。 

通常,更新的內(nèi)核會(huì)支持更多的硬件,具備更好的進(jìn)程管理能力,運(yùn)行速度更快、 更穩(wěn)定,并且一般會(huì)修復(fù)老版本中發(fā)現(xiàn)的許多漏洞等,經(jīng)常性地選擇升級(jí)更新的系統(tǒng)內(nèi)核是Linux使用者的必要操作內(nèi)容。 

為了正確的合理地設(shè)置內(nèi)核編譯配置選項(xiàng),從而只編譯系統(tǒng)需要的功能的代碼,一般主要有下面四個(gè)考慮: 

   

1:自己定制編譯的內(nèi)核運(yùn)行更快(具有更少的代碼)

 

2:系統(tǒng)將擁有更多的內(nèi)存(內(nèi)核部分將不會(huì)被交換到虛擬內(nèi)存中)

 

3:不需要的功能編譯進(jìn)入內(nèi)核可能會(huì)增加被系統(tǒng)攻擊者利用的漏洞

 

4:將某種功能編譯為模塊方式編譯進(jìn)被內(nèi)核的方式速度要慢一些

 

內(nèi)核Makefile

 

Linux2.6內(nèi)核的Makefile分為4個(gè)組成部分

 

1:頂層Makefile:在內(nèi)核代碼最頂層。頂層的Makefile文件讀取.config文件的內(nèi)容,并總體上負(fù)責(zé)build內(nèi)核和模塊

 

2:config配置文件:內(nèi)核的配置文件,一般在/arch/*/configs下

 

3:Makefile 的通用規(guī)則:在/scripts/目錄下面的Makefile.*

 

4:kbuild  Makefile  文件:在各級(jí)目錄下面

 

(1):目標(biāo)定義,就是用來(lái)定義那些內(nèi)容要作為模塊編譯,那些要編譯鏈接進(jìn)入內(nèi)核

 

obj-y +=foo.o   它表示由foo.c或foo.s文件編譯得到foo.o并鏈接進(jìn)內(nèi)核,如果使用$(obj-m),則表示對(duì)象文件編譯成可加載的內(nèi)核模塊~

 

    好了,這些都是一些基礎(chǔ)性的東西,但是很重要啊,敲了這么長(zhǎng)時(shí)間啦~歇一下吧,希望對(duì)你有所幫助。
 

點(diǎn)擊復(fù)制鏈接 與好友分享!回本站首頁(yè) 上一篇:修改Apache配置文件并生效的困惑 下一篇:linux下手動(dòng)掛載u盤 相關(guān)文章

七款嵌入式Linux操作系統(tǒng)簡(jiǎn)介

學(xué)習(xí)嵌入式Linux系統(tǒng)的筆記和體會(huì)

VDC調(diào)查顯示Linux繼續(xù)領(lǐng)跑嵌入式操作系

新手學(xué)堂:嵌入式Linux系統(tǒng)下時(shí)間的實(shí)

在嵌入式Linux環(huán)境下制作QPF字庫(kù)的方法

嵌入式中l(wèi)inux+android與wince的區(qū)別

linux下嵌入式交叉安裝交叉編譯器步驟

嵌入式linux的tftp安裝配置及tftp命令

嵌入式Linux系統(tǒng)內(nèi)核啟動(dòng)流程

嵌入式系統(tǒng)燒寫uboot/bootloader/kern

圖文推薦

文章 推薦

· Linux無(wú)線網(wǎng)絡(luò)架構(gòu) · Linux進(jìn)程調(diào)度原理 · CentOS 6.4 yum安裝 LAMP環(huán)境 · 《Linux多線程服務(wù)端編程》—muduo網(wǎng)絡(luò) · 25 個(gè)你可能不知道的 Linux 真相 · Linux信號(hào)處理 · 《Linux多線程服務(wù)端編程》—線程同步 · Sphinx 在 Linux 下的安裝與基本配置 ·  ·  ·  ·  ·  ·  ·  · 

熱門新聞

· CentOS7 搭建LVS+keepalived負(fù)載均衡 · Linux中的計(jì)劃任務(wù)—Crontab · Linux運(yùn)維筆記----RHEL7.1之yum源配置 · HDFS inotify:Linux inotify機(jī)制在 · 一個(gè)linux下的epoll事件模型實(shí)例 · linux系統(tǒng)命令筆記 · 自寫聊天室_LinuxC實(shí)現(xiàn)(4)——項(xiàng)目文檔 · Linux最常用的20個(gè)命令


  本文關(guān)鍵詞:嵌入式Linux系統(tǒng),由筆耕文化傳播整理發(fā)布。



本文編號(hào):116424

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/wenshubaike/xxkj/116424.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶12d59***提供,本站僅收錄摘要或目錄,作者需要?jiǎng)h除請(qǐng)E-mail郵箱bigeng88@qq.com
国产精品自拍杆香蕉视频| 日本不卡在线视频你懂的| 日韩精品人妻少妇一区二区| 国产麻豆精品福利在线| 日本免费一级黄色录像| 日本99精品在线观看| 国产一区二区三区口爆在线| 国产免费无遮挡精品视频 | 丰满熟女少妇一区二区三区| 中文字幕人妻一区二区免费| 亚洲中文字幕在线观看黑人| 亚洲熟女乱色一区二区三区| 91精品国产av一区二区| 激情少妇一区二区三区| 久久热这里只有精品视频| 久久99青青精品免费| 99一级特黄色性生活片| 国产午夜免费在线视频| 亚洲精品成人福利在线| 91久久精品国产一区蜜臀| 国产成人综合亚洲欧美日韩 | 欧美又大又黄刺激视频| 精品国模一区二区三区欧美| 欧美日韩在线观看自拍| 亚洲欧美日韩熟女第一页| 91精品国产综合久久福利| 免费在线播放不卡视频| 黑丝国产精品一区二区| 一区二区三区免费公开| 欧美自拍系列精品在线| 亚洲av日韩一区二区三区四区| 久久亚洲午夜精品毛片| 国产精品免费福利在线| 在线精品首页中文字幕亚洲| 欧美成人黄色一区二区三区| 国产又大又黄又粗的黄色| 亚洲国产精品久久琪琪| 黄色美女日本的美女日人| 国产精品一区二区三区欧美| 国产精品熟女在线视频| 国产日韩欧美综合视频|