出版時(shí)間:2010-5 出版社:北京航空航天大學(xué)出版社 作者:劉慶敏 等編著 頁數(shù):246
前言
曾經(jīng)夢(mèng)想成為一名作家,就像喜歡的余秋雨、路遙、霍達(dá)一樣,思想躍動(dòng)于筆端。不過似乎總是缺少那么一份靈性,文學(xué)之路與我漸行漸遠(yuǎn)。幸運(yùn)的是,緣于技術(shù),拜China Unix所賜,有了這本書,也因此圓了一個(gè)兒時(shí)的夢(mèng)想?! ∮浀檬菑?006年夏天開始接觸嵌入式系統(tǒng).學(xué)習(xí)ARM、Linux,雖然忙碌但很充實(shí)。在學(xué)習(xí)的間隙,本著“好記性不如爛筆頭”的原則,想要把所學(xué)都記錄下來。但是傳統(tǒng)的紙筆記錄太慢,有時(shí)候難以把問題的場景清晰而又完整地記錄下來,就尋找合適的網(wǎng)絡(luò)記錄手段,于是就有了筆者的博客?! ¢_始純粹是自己的總結(jié)筆記,沒想到網(wǎng)友的評(píng)價(jià)還不錯(cuò),博客的瀏覽量提高了,也因此交到了很多朋友?! ≡诒緯木帉戇^程中,得到了很多人的支持和幫助。
內(nèi)容概要
本書介紹了嵌入式Linux開發(fā)需要掌握的基礎(chǔ)知識(shí),采用分層的方法對(duì)關(guān)鍵技術(shù)進(jìn)行了詳細(xì)的講解,且輔以大量實(shí)例。共分為7章。第1、2章介紹嵌入式系統(tǒng)和Linux的基礎(chǔ)知識(shí)。第3~7章從實(shí)踐的角度分層次介紹嵌入式Linux開發(fā)的流程和關(guān)鍵技術(shù)。其中,第3章介紹硬件平臺(tái);第4章介紹Boot Loader的基礎(chǔ)理論,對(duì)Uboot的移植、代碼分析、關(guān)鍵技術(shù)情景分析等進(jìn)行了深入探討;第5章介紹了Linux內(nèi)核移植需要具備的知識(shí),重點(diǎn)分析了內(nèi)核映像格式以及Boot Loader與內(nèi)核的通信機(jī)制;第6章在介紹嵌入式文件系統(tǒng)的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)嵌入式混合文件系統(tǒng);第7章介紹了嵌入式開發(fā)環(huán)境的搭建,并簡單介紹了一個(gè)數(shù)據(jù)網(wǎng)關(guān)的實(shí)例?! ”緯鴥?nèi)容可操作性強(qiáng),適合嵌入式Linux開發(fā)初學(xué)者參考,也可以作為高等院校有關(guān)嵌入式系統(tǒng)開發(fā)與應(yīng)用的實(shí)驗(yàn)參考書。
書籍目錄
第1章 嵌入式系統(tǒng)設(shè)計(jì)概述1 1.1 嵌入式系統(tǒng)的定義1 1.1.1 嵌入式系統(tǒng)的發(fā)展歷史2 1.1.2 嵌入式系統(tǒng)的組成3 1.1.3 嵌入式系統(tǒng)的特點(diǎn)4 1.2 嵌入式系統(tǒng)設(shè)計(jì)概述5 1.3 嵌入式系統(tǒng)的學(xué)習(xí)方法6 本章總結(jié)6 第2章 磨刀不誤砍柴工7 2.1 Linux概述7 2.2 Linux的安裝8 2.2.1 創(chuàng)建一個(gè)新的虛擬機(jī)9 2.2.2 在虛擬機(jī)上安裝Red Hat Linux 911 2.3 Red Hat Linux 9的初步設(shè)置18 2.3.1 VMware tools的安裝20 2.3.2 網(wǎng)絡(luò)設(shè)置22 2.4 使用shell提高效率24 2.4.1 shell初始化文件配置24 2.4.2 常用的腳本26 2.5 學(xué)習(xí)開發(fā)工具的使用30 2.5.1 Vim高級(jí)技巧30 2.5.2 編譯流程32 2.5.3 工程管理器make37 2.6 嵌入式Linux常用的命令42 2.6.1 Linux基本命令42 2.6.2 arm?linux?系列47 2.6.3 diff和patch的使用52 本章總結(jié)57 第3章 走馬觀花58 3.1 本書基于的硬件平臺(tái)58 3.1.1 ARM概述59 3.1.2 ARM命名規(guī)則60 3.1.3 AT91RM9200簡介61 3.1.4 K9I開發(fā)板概述63 3.2 讓系統(tǒng)先跑起來65 3.2.1 準(zhǔn)備工作65 3.2.2 下載Boot Loader71 3.2.3 內(nèi)核和文件系統(tǒng)72 3.2.4 搭建交叉編譯環(huán)境75 3.2.5 應(yīng)用程序測試76 3.3 深入理解硬件平臺(tái)78 3.3.1 最小系統(tǒng)組成78 3.3.2 時(shí)鐘系統(tǒng)78 3.3.3 NVM82 3.3.4 JTAG接口87 本章總結(jié)91 第4章Boot Loader92 4.1 準(zhǔn)備工作92 ……第5章 Linux內(nèi)核移植140 第6章 文件系統(tǒng)187 第7章 應(yīng)用程序238 參考文獻(xiàn)247
章節(jié)摘錄
插圖:為什么要采用交叉編譯呢?原因有兩個(gè)。一是目標(biāo)平臺(tái)所需要的BootLoader以及OS核心還沒有建立時(shí),需要做交叉編譯。二是目標(biāo)機(jī)設(shè)備不具備一定的處理器能力和存儲(chǔ)空間,即單獨(dú)在目標(biāo)板上無法完成程序開發(fā),所以只好求助宿主機(jī)。這樣可以在宿主機(jī)上對(duì)即將在目標(biāo)機(jī)上運(yùn)行的應(yīng)用程序進(jìn)行編譯,生成可以在目標(biāo)機(jī)上運(yùn)行的代碼格式,然后移植到目標(biāo)板上,也就是目前嵌入式程序開發(fā)的Host/Targct模式。 ?。?)嵌入式系統(tǒng)的程序需要固化 通用的系統(tǒng)在測試完成后就可以直接投入使用,其目標(biāo)環(huán)境一般是PC機(jī),因此在總體結(jié)構(gòu)上與開發(fā)環(huán)境差別不大。而嵌入式系統(tǒng)的開發(fā)環(huán)境是PC機(jī),但是應(yīng)用軟件在目標(biāo)環(huán)境下必須存儲(chǔ)在非易失性存儲(chǔ)器中,保證用戶關(guān)機(jī)后下次能夠再次使用。因此,在系統(tǒng)應(yīng)用軟件開發(fā)完成之后,應(yīng)生成固化版本?! 〈送?,嵌入式系統(tǒng)還需要提供強(qiáng)大的硬件開發(fā)工具和軟件包的支持,需要設(shè)計(jì)者從速度、功能和成本綜合考慮。此外,嵌入式系統(tǒng)對(duì)穩(wěn)定性、可靠性、功耗、抗千擾性等方面的性能要求都比通用系統(tǒng)的要求更為嚴(yán)格,所以相對(duì)而言,嵌入式系統(tǒng)的軟件開發(fā)難度更大一些。
編輯推薦
《嵌入式Linux開發(fā)詳解:基于AT91RM9200和Linux2.6》由北京航空航天大學(xué)出版社出版。
圖書封面
評(píng)論、評(píng)分、閱讀與下載