出版時間:2009-4 出版社:電子工業(yè)出版社 作者:陳卓 等編著 頁數(shù):388
Tag標簽:無
前言
本書是講解嵌入式系統(tǒng)開發(fā)的一本著作,完整地討論了嵌入式開發(fā)必備的軟、硬件基礎知識,并且重點講解了嵌入式開發(fā)的兩個主要應用:驅(qū)動程序開發(fā)和嵌入式GUI程序開發(fā)。由于嵌入式系統(tǒng)開發(fā)有別于“一臺PC就可以搞定”的純軟件開發(fā),因此需要開發(fā)者有良好的軟件開發(fā)技能,如:C/C++、匯編語言、操作系統(tǒng)等,同時還需要具備一定的硬件方面的知識,如:數(shù)字電路、計算機組成原理、接口電路等。而往往進入嵌入式開發(fā)領域的開發(fā)者要么以前是做軟件開發(fā)的,對電路圖、硬件驅(qū)動的原理等知識知之甚少,要么以前是一名硬件工程師,不太了解軟件開發(fā)方面的基本要領,這些原因?qū)е履壳昂细竦那度胧介_發(fā)人員比較少。雖然已有不少關于嵌入式開發(fā)方面的優(yōu)秀著作,但要么是針對水平較高的開發(fā)者編寫,要么就是對嵌入式開發(fā)的某一個方面做深入的分析。這對剛涉及嵌入式開發(fā)的讀者來說,會總覺得自己欠缺點什么,無法透徹理解其中的知識。 本書為了解決這個問題,特地提供給希望涉足嵌入式開發(fā)的朋友們以必要的、系統(tǒng)的知識,這也是本書的一個特色。在本書的第1部分中,比較詳細地討論了軟件方面和硬件方面的必需了解和掌握的基本內(nèi)容。第1章討論嵌入式開發(fā)的最基本最重要的開發(fā)語言——C語言的基本技能,特別是在嵌入式環(huán)境下的一些使用方法。第2章討論嵌入式開發(fā)的硬件基礎,包括對必要的數(shù)字電路方面知識的介紹及以ARM為核心的S3C2410/S3C2440處理器的介紹。閱讀完本章后,讀者首先應該能夠分析一個電路的基本作用,并且能夠?qū)σ訟RM為核心的系列處理器有個比較深刻的認識。對于只有一定程序設計經(jīng)歷的讀者,建議深入閱讀整個第1部分;對硬件方面已經(jīng)比較熟悉的讀者則可以只閱讀第1章。本書的第2部分討論如何構(gòu)建一個比較簡單的嵌入式軟件,并以實時嵌入式操作系統(tǒng)μC/OSII為背景,首先分析其基本原理,然后結(jié)合具體的實例討論其移植和相關應用。第3部分討論比較復雜的嵌入式Linux系統(tǒng),第7章著重討論做嵌入式Linux的基礎知識,包括重要的命令、開發(fā)環(huán)境的建立、交叉編譯工具的建立與使用等。第8章在具備第1部分的軟硬件基礎的情況下講解Linux驅(qū)動編寫的基本方法,并且以幾個典型的示例從基本的實現(xiàn)分析到驅(qū)動編寫完整的向讀者展示嵌入式Linux的驅(qū)動軟件開發(fā)的基本流程及實現(xiàn)方法。第9章討論采用Qt為嵌入式GUI的嵌入式軟件開發(fā),由于Qt的開發(fā)涉及的內(nèi)容很廣不可能全面去敘述,所以本書先討論Qt程序設計的基本方法,然后重點討論了Qt實現(xiàn)的一些核心機制,這些機制的學習對于深入理解Qt開發(fā)是很有必要的。由于通信和網(wǎng)絡領域為嵌入式系統(tǒng)應用最廣泛和成熟的領域之一,所以本書在第8章詳細地分析了Linux平臺下的部分重要的協(xié)議及網(wǎng)絡控制機制,如TCP、UDP、IP、QoS、Congestion Control等,這也算本書的另一個特色。
內(nèi)容概要
本書介紹了嵌入式開發(fā)多個方面的內(nèi)容,涵蓋面較為廣泛。整本書分為3個部分:第1部分介紹嵌入式系統(tǒng)開發(fā)必須具備的軟硬件基礎。這一部分雖然是相對基礎的內(nèi)容,但在介紹重要內(nèi)容的時候著重從應用的角度加以描述,在簡單說明原理之后,回答了這些基礎內(nèi)容到底是怎么用的問題。由于涉及了不少實際系統(tǒng),所以第1部分的內(nèi)容是有一定深度的。第2部分討論基于µC/OSII的嵌入式系統(tǒng)開發(fā),由于µC/OSII系統(tǒng)的內(nèi)核相對簡單,所以這部分重點是說明µC/OSII的程序設計框架及它的移植應用。在第3部分中,全面討論了嵌入式Linux開發(fā)的各個重要方面,其中包括嵌入式Linux的驅(qū)動程序設計,這部分介紹了多種外設的驅(qū)動設計實例。另外,本書還討論了Qt的程序設計和核心機制,以及Linux的網(wǎng)絡實現(xiàn)的實例。最后還討論了對一個嵌入式Linux系統(tǒng)移植所需要做的工作,分別介紹了BootLoader、內(nèi)核及驅(qū)動程序的移植方法。 本書的讀者對象包括:剛接觸嵌入式開發(fā)的人員,以及有一定嵌入式開發(fā)基礎,希望參考各種開發(fā)項目的工程人員。本書在編寫的時候盡量做到了按知識需求組織,以方便不同的讀者按需閱讀。
書籍目錄
第1部分 嵌入式開發(fā)必備基礎 第1章 軟件開發(fā)基礎 1.1 嵌入式環(huán)境下的C語言使用技巧 1.1.1 重要的位(bit)操作 1.1.2 正確使用數(shù)據(jù)指針 1.1.3 函數(shù)等價于指令的集合 1.1.4 操作有限的存儲空間 1.1.5 理解??臻g(Stack)和堆空間(Heap) 1.1.6 關鍵詞const的使用 1.1.7 關鍵詞volatile 1.1.8 處理器字長與內(nèi)存位寬不一致處理 1.1.9 struct{ }結(jié)構(gòu)體的使用 1.2 ARM匯編語言 1.2.1 學習方法介紹 1.2.2 ARM微處理器的指令的分類與格式 1.2.3 指令的條件域 1.2.4 指令的尋址方式 1.2.5 ARM匯編的指令分類講解及示例 1.2.6 GNU ARM匯編的格式 1.3 ARM匯編和C語言的混合編程的實例 1.3.1 在C語言程序中內(nèi)嵌匯編實例 1.3.2 在匯編中使用C語言程序定義的全局變量實例 1.3.3 在C語言程序中調(diào)用匯編的函數(shù)實例 1.3.4 在匯編中調(diào)用C語言的函數(shù)實例 1.4 本章小結(jié) 第2章 嵌入式開發(fā)的軟件結(jié)構(gòu) 2.1 輪詢方式的嵌入式軟件結(jié)構(gòu)及實例 2.2 帶中斷處理的軟件結(jié)構(gòu)及實例 2.2.1 中斷 2.2.2 中斷處理程序及中斷向量 2.2.3 軟件結(jié)構(gòu)及實例 2.3 本章小結(jié) 第3章 嵌入式操作系統(tǒng) 3.1 嵌入式操作系統(tǒng)概述 3.1.1 嵌入式操作系統(tǒng)的發(fā)展 3.1.2 嵌入式操作系統(tǒng)選型 3.1.3 幾種典型的嵌入式操作系統(tǒng) 3.2 嵌入式操作系統(tǒng)的重要概念 3.2.1 代碼的臨界區(qū) 3.2.2 進程及進程結(jié)構(gòu)體 3.2.3 進程的狀態(tài) 3.2.4 可剝奪的內(nèi)核 3.3 進程調(diào)度程序?qū)嵗馕? 3.3.1 基于映射表(Mapping Table)的µC/OSⅡ進程調(diào)度程序?qū)嵗馕? 3.3.2 Linux 2.6.X的0(1)進程調(diào)度程序?qū)嵗馕? 3.4 嵌入式文件系統(tǒng)實例 3.4.1 yaffs 文件系統(tǒng)數(shù)據(jù)在NAND 上的存儲方式 3.4.2 SuperBlock結(jié)構(gòu) 3.4.3 文件在內(nèi)存中的組織方式 3.4.4 yaffs2文件系統(tǒng)實例解析 3.5 板級支持包(BSP) 3.6 本章小結(jié) 第4章 嵌入式開發(fā)的硬件基礎 4.1 常用的電子元器件 4.1.1 電阻 4.1.2 電容 4.1.3 二極管 4.1.4 電感 4.1.5 三極管 4.1.6 運算放大器 4.2 IC與硬件框圖分析 4.2.1 IC及封裝方式 4.2.2 電路框圖及分析 4.3 嵌入式處理器 4.4 S3C2410/2440處理器介紹 4.5 ARM嵌入式微處理器的選型 4.6 本章小結(jié) 第2部分 µC/OSII嵌入式開發(fā) 第5章 µC/OSII開發(fā)基礎 第6章 µC/OSII的移植及應用實例第3部分 嵌入式Linux開發(fā) 第7章 嵌入式Linux開發(fā)基礎 第8章 嵌入式Linux系統(tǒng)的驅(qū)動程序開發(fā) 第9章 嵌入式Linux的Qt開發(fā) 第10章 嵌入式Linux系統(tǒng)的網(wǎng)絡協(xié)議棧 第11章 嵌入式Linux系統(tǒng)的移植
章節(jié)摘錄
第1部分 嵌入式開發(fā)必備基礎 第3章 嵌入式操作系統(tǒng) 在比較系統(tǒng)的介紹了開發(fā)語言和嵌入式操作系統(tǒng)的軟件結(jié)構(gòu)組織后,需要進一步深入的理解嵌入式操作系統(tǒng)。在單片機開發(fā)項目中,由于單片機的計算和處理能力,以及存儲空間有限,一般很少涉及到使用嵌入式操作系統(tǒng)。但是隨著應用的復雜程度不斷提高,如:帶觸摸屏的PDA、智能手機、智能監(jiān)控終端等復雜應用不斷涌現(xiàn),必須使用嵌入式操作系統(tǒng)來處理多任務、多應用。所以,嵌入式操作系統(tǒng)已經(jīng)成為比較復雜的嵌入式系統(tǒng)極為重要的組成部分。本章,主要從原理的角度介紹嵌入式操作系統(tǒng),向讀者說明一個嵌入式操作系統(tǒng)的內(nèi)部運作機制。而與嵌入式操作系統(tǒng)相關的開發(fā)實踐,如:驅(qū)動設計,網(wǎng)絡協(xié)議,圖形界面及系統(tǒng)內(nèi)核移植等本書將在后面以專門的章節(jié)加以詳細的介紹?! ?.1 嵌入式操作系統(tǒng)概述 3.1.1 嵌入式操作系統(tǒng)的發(fā)展 作為嵌入式系統(tǒng)(包括硬、軟件系統(tǒng))極為重要的組成部分,嵌入式操作系統(tǒng)通常包括與硬件相關的底層驅(qū)動軟件、系統(tǒng)內(nèi)核、設備驅(qū)動接口、網(wǎng)絡協(xié)議、圖形界面、標準化瀏覽器等。嵌入式操作系統(tǒng)具有通用操作系統(tǒng)的基本特點,如能夠有效管理越來越復雜的系統(tǒng)資源;能夠把硬件虛擬化,使得開發(fā)人員從繁忙的驅(qū)動程序移植和維護中解脫出來;能夠提供庫函數(shù)、驅(qū)動程序、工具集,以及應用程序。與通用操作系統(tǒng)相比較,嵌入式操作系統(tǒng)在系統(tǒng)實時高效性、硬件的相關依賴性、軟件固態(tài)化,以及應用的專用性等方面具有較為突出的特點。 嵌入式操作系統(tǒng)伴隨著嵌入式系統(tǒng)的發(fā)展經(jīng)歷了4個比較明顯的階段。 第一階段:無操作系統(tǒng)的嵌入算法階段。以單芯片為核心的可編程控制器形式的系統(tǒng),具有與監(jiān)測、伺服、指示設備相配合的功能。應用于一些專業(yè)性極強的工業(yè)控制系統(tǒng)中,通過匯編語言編程對系統(tǒng)進行直接控制,運行結(jié)束后清除內(nèi)存。系統(tǒng)結(jié)構(gòu)和功能都相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。
編輯推薦
兼顧基礎,重在提高與技巧;解惑答疑,提升系統(tǒng)開發(fā)水平。 本套叢書對編程語言、語法等基礎知識講得很少,重點在對語言的運用能力上。讓讀者看完書后,有一種“豁然開朗”的感覺,不只是簡單地理解一種語言的語法,而是對一種技術的全面認識,并知道如何進行靈活運用。本書的目的主要是提升讀者項目編程的知識,展現(xiàn)代碼編寫中的技巧與經(jīng)驗,讓讀者能更便捷地獲取知識、積累經(jīng)驗,這也是本叢書的重要特色之一。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載