-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

嵌入式Linux系統開發教程

( 簡體 字)
作者:華清遠見嵌入式學院,姜先剛,袁祖剛類別:1. -> 作業系統 -> Linux
   2. -> 電腦組織與體系結構 -> 嵌入式系統
譯者:
出版社:電子工業出版社嵌入式Linux系統開發教程 3dWoo書號: 44792
詢問書籍請說出此書號!

缺書
NT售價: 295

出版日:7/1/2016
頁數:333
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121293733
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

隨著嵌入式及物聯網技術的快速發展,ARM 處理器已經廣泛地應用到了工業控制、智能儀表、汽車電子、醫療電子、軍工電子、網絡設備、消費類電子、智能終端等領域。而較新的ARM Cortex-A9 架構的四核處理器,更是由于其優越的性能被廣泛應用在中高端的電子產品市場。比如基于ARM Cortex-A9 的三星Exynos 4412 處理器就被應用在三星GALAXY Note II 智能手機上。
另一方面,Linux 內核由于其高度的穩定性和可裁剪性等特點,被廣泛地應用到嵌入式系統中,其中Android 系統就是一個典型的例子。這樣,ARM 處理器和Linux 操作系統緊密地聯系在一起。所以,基于ARM 和Linux 的嵌入式系統得到了快速的發展。
目前,針對上述兩方面完整涵蓋的書籍較少,或者就是相對較老的ARM 體系結構及較低版本的Linux 內核。為了能夠跟上嵌入式Linux 技術發展的步伐,促進嵌入式技術的推廣,華清遠見研發中心自主研發了一套基于Exynos 4412 處理器的開發板FS4412,并組織編寫了本書。本書注重實踐、實用,本著從解決問題的角度出發,既給出了解決問題的方法,又給出了如何逐步解決問題的過程。
本書將ARM 處理器和嵌入式Linux 系統融為一體,形成了一套較完整的嵌入式Linux 系統開發教程。全書共11 章,循序漸進地講解了嵌入式Linux 系統開發所涉及的核心技術和一些經驗、方法。本書主要分四個部分,第一部分(第1 章和第2 章)介紹了嵌入式系統和ARM 處理器的概況;第二部分(第3 章和第4 章)介紹Linux 下的軟件開發;第三部分(第5 章)介紹U-Boot 的移植;第四部分(第6∼11 章)介紹Linux內核、驅動的移植,根文件系統的制作及Qt 的移植。各章節的主要內容如下。
第1 章對嵌入式系統有一個整體的概述,主要介紹當前比較流行的嵌入式操作系統,并著重介紹嵌入式Linux 系統。
第2 章介紹ARM 處理器的整體情況,主要介紹ARM 處理器的家族系列、常用的指令、尋址方式和常見的基于ARM 的SoC,重點介紹Exynos 4412 處理器及FS4412 開發板。
第3 章講解常用的Linux 命令、Shell 腳本、正則表達式、Makefile、GNU 工具集和Linux 編程庫。
第4 章講解交叉開發環境,包括交叉編譯工具鏈的安裝、串口終端的安裝和使用、TFTP 和NFS 服務器的安裝和配置、根文件系統掛載、交叉調試和FS4412 開發板的開發環境的搭建實例。
第5 章講解常見的Bootloader、U-Boot 常用命令、U-Boot 的啟動過程及U-Boot 的移植過程。
第6 章講解Linux 內核的配置及編譯,包括Linux 內核源碼下載、配置、Makefile、Kconfig、配置選項、編譯等內容。
第7 章講解Linux 內核的移植基礎內容,包括內核移植的基本工作、Linux 設備樹、Linux 啟動過程的詳細講解。
第8 章講解FS4412 開發板上Linux 內核的移植實例,包括內核的基礎移植、網卡驅動移植、SD/eMMC 驅動移植、USB 主機控制器驅動移植和LCD 驅動移植的詳細講解。
第9 章講解Linux 內核的調試技術,包括常用調試方法的介紹、調試相關的配置選項、內核打印函數分析、系統請求鍵、proc 和sys 接口、oops 及panic 信息分析、KGDB源碼級內核調試等。
第10 章講解根文件系統的制作和固化,包括根文件系統目錄結構、init 系統初始化過程、利用Busybox 制作根文件系統的過程和根文件系統的固化等。
第11 章講解Qt 的移植,包括Qt 的下載、配置、編譯、安裝和在根文件系統中的添加,Qt 集成開發環境的安裝,在集成開發環境中加入ARM 平臺的構建環境,Qt 應用程序的編譯和在開發板上的運行測試等。
本書由華清遠見成都中心的姜先剛和袁祖剛編寫,其中第1∼5 章由袁祖剛編寫,第6∼11 章由姜先剛編寫,北京中心的劉洪濤完成本書的統稿及審校工作。本書的內容是華清遠見嵌入式培訓中心所有老師心血的結晶,是多年教學成果的積累。他們認真閱讀了書稿,提出了大量的建議,并糾正了書稿中的很多錯誤,在此表示感謝。由于作者水平有限,書中不妥之處在所難免,懇請讀者批評、指正。
編 者
內容簡介:

本書結合大量實例,在基于ARM Cortex-A9 四核處理器的硬件教學平臺上,全面詳細地講解了ARM處理器及在其上的嵌入式Linux 系統開發。本書主要內容包括ARM 處理器及常用指令介紹,Linux 編程環境,交叉開發環境,Boot Loader 介紹U-Boot 啟動過程及移植,Linux 內核配置、編譯及Qt 移植等。其中移植相關的內容不僅給出了移植的方法和步驟,還講解了為什么要這么做。重視實踐,實用是本書的最大特點,同時,本書配合大量的習題,讀者能快速地掌握嵌入式Linux 系統開發的要點。本書可作為大學院校電子、通信、計算機、自動化等專業的“嵌入式Linux 系統開發”課程的教材,也可作為嵌入式開發人員的參考用書。

目錄:

第1 章 嵌入式系統概述 ························· 1
1.1 嵌入式系統 ............. 2
1.2 嵌入式操作系統............ 3
1.3 嵌入式Linux 歷史 ............ 5
1.4 嵌入式Linux 開發環境 .......... 6
1.5 嵌入式Linux 系統開發要點 .......... 8
第2 章 ARM處理 ································· 9
2.1 ARM 處理器簡介 ........... 10
2.1.1 ARM 公司簡介 .......... 11
2.1.2 ARM 處理器體系結構 ........ 12
2.1.3 Linux 與ARM 處理器 ........ 17
2.2 ARM 指令集 ........... 18
2.2.1 ARM 微處理器的指令集概述 ........ 18
2.2.2 ARM 指令尋址方式 .......... 19
2.2.3 Thumb 指令 ........... 21
2.2.4 Thumb-2 指令 .......... 22
2.2.5 ThumbEE 指令 .......... 22
2.3 典型ARM 處理器簡介 .......... 22
2.3.1 Atmel AT91RM9200 ......... 22
2.3.2 Samsung S3C2410 ......... 23
2.3.3 TI OMAP5 系列 ........... 25
2.3.4 Freescale i.Max6 .......... 26
2.3.5 Intel Xscale PXA 系列 ......... 27
2.3.6 Cortex-A 系列的Exynos4412 ....... 29
2.4 華清遠見 FS4412 開發板 .......... 30
2.4.1 華清遠見 FS4412 開發板介紹 ....... 30
2.4.2 眾多的開發板供應商 .......... 34
2.5 習題 ............. 34
第3 章 Linux 編程環境 ·························· 35
3.1 Linux 常用工具 ........... 36
3.1.1 Shell 簡介 ........... 36
3.1.2 常用的Shell 命令 .......... 38
3.1.3 編寫Shell 腳本 .......... 46
3.1.4 正則表達式 .......... 50
3.1.5 程序編輯器 .......... 53
3.2 Makefile ............. 57
3.2.1 GNU make............ 57
3.2.2 Makefile 規則語法 .......... 59
3.2.3 Makefile 文件中變量的使用 ....... 60
3.3 二進制代碼工具的使用 .......... 62
3.3.1 GNU Binutils 工具介紹 ......... 62
3.3.2 Binutils 工具軟件使用 ........ 63
3.4 GCC 編譯器的使用 .......... 64
3.4.1 GCC 編譯器簡介 ......... 64
3.4.2 GCC 編譯選項解析 ......... 66
3.5 調試器GDB 的使用技巧 ......... 70
3.5.1 GDB 調試器介紹 .......... 70
3.5.2 GDB 調試命令 .......... 71
3.6 Linux 編程庫 ........... 75
3.6.1 Linux 編程庫介紹 ......... 75
3.6.2 Linux 系統調用 ........... 76
3.6.3 Linux 線程庫 ........... 78
3.7 習題 ............. 81
第4 章 交叉開發環境 ··························· 82
4.1 交叉開發環境介紹 .......... 83
4.1.1 交叉開發概念模型 .......... 83
4.1.2 目標板與主機之間的連接 ........ 84
4.1.3 文件傳輸 ............ 86
4.1.4 網絡文件系統 .......... 87
4.2 安裝交叉編譯工具 .......... 87
4.2.1 獲取交叉開發工具鏈 .......... 87
4.2.2 主機安裝工具鏈 .......... 88
4.3 主機開發環境配置 .......... 88
4.3.1 主機環境配置 .......... 88
4.3.2 串口控制臺工具 .......... 89
4.3.3 TFTP 服務............ 93
4.3.4 NFS 服務 ........... 93
4.4 啟動目標板 ............. 95
4.4.1 系統引導過程 .......... 95
4.4.2 內核解壓啟動 .......... 96
4.4.3 掛接根文件系統 .......... 98
4.5 應用程序的遠程交叉調試 .......... 99
4.5.1 交叉調試的模型 .......... 99
4.5.2 交叉調試程序實例 .......... 100
4.6 實例:FS4412 嵌入式開發環境搭建 ........ 102
4.6.1 開發主機安裝 .......... 102
4.6.2 聯調測試 ............ 110
4.7 習題 ............. 113
第5 章 Bootloader ····························· 114
5.1 Bootloader 簡介 ............ 115
5.1.1 Bootloader 介紹 ......... 115
5.1.2 Bootloader 的啟動 ......... 115
5.1.3 Bootloader 的種類 ......... 118
5.2 U-Boot 簡介 ............ 120
5.2.1 U-Boot 介紹 ........... 120
5.2.2 U-Boot 的常用命令 ......... 120
5.2.3 U-Boot 的環境變量 ......... 124
5.2.4 U-Boot 源碼結構 ......... 126
5.3 U-Boot 源碼分析 ........... 127
5.3.1 配置編譯 ............ 127
5.3.2 U-Boot 啟動過程 ......... 132
5.3.3 U-Boot 與內核的關系 ......... 136
5.4 U-Boot 移植實例 ........... 138
5.4.1 收集移植相關資源 .......... 138
5.4.2 選擇U-Boot 源碼版本 ......... 139
5.4.3 u-Boot 配置編譯 ......... 139
5.4.4 串口能輸出信息 .......... 140
5.4.5 移植網卡實現Ping 和TFTP 的功能 ....... 145
5.5 習題 ............. 151
第6 章 配置編譯內核 ························· 153
6.1 Linux 內核特點 ........... 154
6.1.1 Linux 內核版本介紹 ......... 154
6.1.2 Linux 內核特點 ......... 155
6.2 配置編譯內核源碼 .......... 156
6.2.1 內核源碼的下載方法和結構 ........ 157
6.2.2 內核配置系統 .......... 160
6.2.3 Kbuild Makefiles .......... 167
6.2.4 內核編譯 ............ 178
6.2.5 內核編譯結果 .......... 185
6.3 內核配置選項 ........... 187
6.3.1 使用配置菜單 .......... 187
6.3.2 基本配置選項 .......... 189
6.3.3 驅動程序配置選項 .......... 191
6.4 習題 ............. 192
第7 章 內核移植基礎 ························· 193
7.1 移植內核源碼 ........... 194
7.1.1 移植的基本工作 .......... 194
7.1.2 移植后的工作 .......... 196
7.2 Linux 設備樹 ........... 197
7.2.1 Linux 設備樹的由來 ......... 197
7.2.2 Linux 設備樹的目的 ......... 197
7.2.3 Linux 設備樹的使用 ......... 199
7.3 Linux 內核啟動過程分析 ......... 206
7.3.1 內核啟動流程介紹 .......... 206
7.3.2 內核啟動加載程序 .......... 209
7.3.3 內核主體程序入口 .......... 215
7.3.4 Linux 系統初始化 ......... 218
7.3.5 初始化驅動模型 .......... 224
7.3.6 掛載根文件系統 .......... 225
7.4 習題 ............. 227
第8 章 內核移植實例 ························· 229
8.1 基本內核移植 ........... 230
8.2 網卡驅動移植 ........... 234
8.2.1 網卡原理圖分析 .......... 234
8.2.2 網卡驅動移植 .......... 235
8.2.3 以NFS 掛載根文件系統 ......... 237
8.3 SD/eMMC 驅動移植 ........... 238
8.4 USB 主機控制器驅動移植 ......... 240
8.5 LCD 驅動移植........... 244
8.6 習題 ............. 249
第9 章 內核調試技術 ························· 250
9.1 內核調試方法 ........... 251
9.1.1 內核調試介紹 .......... 251
9.1.2 學會分析內核源程序 ........ 252
9.1.3 調試方法介紹 .......... 252
9.2 內核打印函數 ........... 255
9.2.1 內核映像解壓前的串口輸出函數 ...... 255
9.2.2 內核映像解壓后的串口輸出函數 ...... 257
9.2.3 printk ............ 258
9.3 獲取內核信息 ........... 263
9.3.1 系統請求鍵 .......... 263
9.3.2 通過/proc 接口 ........... 264
9.3.3 通過/sys 接口 ........... 265
9.4 處理出錯信息 ........... 268
9.4.1 oops 信息 ........... 268
9.4.2 panic ........... 269
9.4.3 通過ioctl 方法 ...... 271
9.5 內核源代碼調試............ 272
9.6 習題 ............. 275
第10 章 制作Linux 根文件系統 ··················· 276
10.1 根文件系統目錄結構 .......... 277
10.2 init 系統初始化過程 ........... 280
10.2.1 inittab 文件 ........... 281
10.2.2 System V init 啟動過程 ......... 284
10.2.3 Busybox init 啟動過程分析 ........ 285
10.3 制作根文件系統 .......... 287
10.3.1 配置并編譯Busybox ......... 287
10.3.2 添加共享庫文件和內核模塊 ........ 289
10.3.3 添加其他目錄和文件 ........ 290
10.4 固化根文件系統 .......... 293
10.4.1 制作image 格式的initrd 根文件系統鏡像 .... 293
10.4.2 固化ext2 格式的根文件系統 ....... 295
10.5 習題 ............. 297
第11 章 Qt 移植 ································ 299
11.1 Qt 源碼配置、編譯及安裝 ......... 300
11.2 在根文件系統中添加Qt ......... 309
11.3 安裝Qt 集成開發環境 .......... 309
11.4 添加ARM 平臺的構建環境 ......... 313
11.5 編寫并運行Qt 測試程序 .......... 316
11.6 習題 ............. 320
參考文獻 ···················· 322
附錄 習題答案 ················· 323
序: