嵌入式Linux開發詳解――基於AT91RM9200和Linux 2.6
劉慶敏 張小亮
買這商品的人也買了...
-
$296AutoCAD2021實用教程
-
$1,008$958
相關主題
商品描述
基本信息
本書介紹了嵌入式Linux開發需要掌握的基礎知識,採用分層的方法對關鍵技術進行了詳細的講解,且輔以大量實例。共分為7章。第1、2章介紹嵌入式系統和Linux的基礎知識。第3~7章從實踐的角度分層次介紹嵌入式Linux開發的流程和關鍵技術。其中,第3章介紹硬件平臺;第4章介紹Boot Loader的基礎理論,對Uboot的移植、代碼分析、關鍵技術情景分析等進行了深入探討;第5章介紹了Linux內核移植需要具備的知識,重點分析了內核映像格式以及Boot Loader與內核的通信機制;第6章在介紹嵌入式文件系統的基礎上,設計並實現了一個嵌入式混合文件系統;第7章介紹了嵌入式開發環境的搭建,並簡單介紹了一個數據網關的實例。本書內容可操作性強,適合嵌入式Linux開發初學者參考,也可以作為高等院校有關嵌入式系統開發與應用的實驗參考書。
目錄大綱
目錄
第1章 嵌入式系統設計概述11.1嵌入式系統的定義1
1.1.1嵌入式系統的發展歷史2
1.1.2嵌入式系統的組成3
1.1.3嵌入式系統的特點4
1.2嵌入式系統設計概述5
1.3嵌入式系統的學習方法6
本章總結6
第2章 磨刀不誤砍柴工7
2.1 Linux概述7
2.2 Linux的安裝8
2.2.1創建一個新的虛擬機9
2.2.2在虛擬機上安裝Red Hat
Linux 911
2.3 Red Hat Linux 9的初步設置
18
2.3.1 VMware tools的安裝20
2.3.2網絡設置22
2.4使用shell提高效率24
2.4.1 shell初始化文件配置24
2.4.2 常用的腳本26
2.5學習開發工具的使用30
2.5.1 Vim高級技巧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
本章總結57
第3章 走馬觀花58
3.1本書基於的硬件平臺58
3.1.1 ARM概述59
3.1.2 ARM命名規則60
3.1.3 AT91RM9200簡介61
3.1.4 K9I開發板概述63
3.2讓系統先跑起來65
3.2.1準備工作65
3.2.2下載Boot Loader71
3.2.3內核和文件系統72
3.2.4搭建交叉編譯環境75
3.2.5應用程序測試76
3.3深入理解硬件平臺78
3.3.1最小系統組成78
3.3.2時鐘系統78
3.3.3 NVM82
3.3.4 JTAG接口87
本章總結91
第4章Boot Loader92
4.1準備工作92
4.1.1整合資源92
4.1.2代碼閱讀工具93
4.2 Boot Loader概述94
4.2.1 Boot Loader概念94
4.2.2 Boot Loader在嵌入式系統
中的必要性95
4.2.3 Boot Loader的啟動流程
96
4.2.4 Boot Loader如何固化97
4.3 AT91RM9200的啟動機制98
4.3.1片內啟動98
4.3.2片外啟動101
4.3.3 3種啟動場景102
4.4 Boot Loader的移植103
4.4.1 Loader和Boot104
4.4.2 Uboot的移植108
4.5 Uboot的3種啟動方式無關性
設計114
4.5.1背景介紹115
4.5.2重映射的理論模型115
4.5.3 Uboot的不合理性分析
116
4.5.4解決方案116
4.6 Boot Loader深入分析119
4.6.1將ELF文件轉換為BIN
119
4.6.2 Uboot源代碼分析123
4.6.3 Uboot的命令機制129
4.6.4 Uboot的source實現133
本章總結139
第5章 Linux內核移植140
5.1嵌入式操作系統的選擇140
5.2 Linux 2.6介紹142
5.3 Makefile體系144
5.4內核的移植150
5.4.1基本移植151
5.4.2出現的問題155
5.5內核映像格式159
5.5.1生成過程160
5.5.2 zImage自解壓引導過程
163
5.6 Boot Loader與內核的通信機制
168
5.6.1基本模型168
5.6.2 tagged list組織方式169
5.6.3 Boot Loader實現173
5.6.4 Linux內核實現179
本章總結186
第6章 文件系統187
6.1概述187
6.2庫191
6.2.1庫的概述191
6.2.2庫的命名191
6.2.3庫的製作方法192
6.3一個最簡單的根文件系統193
6.4基本功能完備的根文件系統201
6.4.1修改現有的文件系統映像
201
6.4.2從零開始製作根文件系統
204
6.4.3網絡功能213
6.5嵌入式混合文件系統――EFS
226
6.5.1問題提出226
6.5.2系統設計方案226
6.5.3組件實現229
6.5.4系統集成設計231
6.5.5輔映像製作236
本章總結237
第7章 應用程序238
7.1應用開發環境的建立238
7.1.1嵌入式Linux的GDB調試
環境建立238
7.1.2嵌入式Linux的NFS開發
環境建立239
7.1.3嵌入式Linux的TFTP開
發環境建立241
7.1.4嵌入式Linux的DHCP開
發環境建立242
7.2串行/網絡數據網關244
7.2.1基本原理244
7.2.2數據幀的設計245
7.2.3網絡異常