嵌入式Linux開發教程(上冊)

嵌入式Linux開發教程(上冊)

《嵌入式Linux開發教程(上冊)》是2016年3月北京航空航天大學出版社出版的圖書,作者是周立功、ZLG Linus開發團隊。

基本介紹

  • 書名:嵌入式Linux開發教程(上冊)
  • 作者:周立功、ZLG Linus開發團隊
  • 出版社:北京航空航天大學出版社
  • 出版時間:2016年3月
  • 定價:79 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787512419735
內容簡介,圖書目錄,

內容簡介

本書是面向嵌入式Linux學習和產品開發的入門教程,分3篇,共18章,圍繞嵌入式Linux產品開發的套用編程展開,內容涵蓋Linux作業系統介紹、安裝和基本使用、嵌入式Linux開發平台以及嵌入式Linux的套用編程.全面介紹了嵌入式Linux產品套用開發的方方面面,包括套用基礎、檔案和I/O操作、進程和執行緒、外圍硬體接口編程、串口編程、網路編程、Qt編程和Shell編程
本書由淺入深、結構合理、圖文並茂,可操作性強,讀者可跟著一步步進行操作和學習,非常適合嵌入式Linux開發初級工程師及準備往嵌入式Linux方向發展的電子工程師和單片機工程師使用,也可作為高校非計算機專業高年級學生學習嵌入式Linux的參考教材.

圖書目錄

第一篇 Linux基礎
第1章 Linux作業系統簡介…………………………………………………………… 3
1.1 Linux核心……………………………………………………………………… 3
1.1.1 簡 介……………………………………………………………………… 3
1.1.2 特 點……………………………………………………………………… 5
1.1.3 核心版本號………………………………………………………………… 7
1.1.4 組成部分…………………………………………………………………… 7
1.2 Linux發行版…………………………………………………………………… 11
1.3 嵌入式Linux ………………………………………………………………… 14
1.3.1 嵌入式Linux的特點…………………………………………………… 14
1.3.2 嵌入式Linux的產品形態……………………………………………… 14
第2章 安裝Linux作業系統………………………………………………………… 16
2.1 獲得Linux環境的三種方式………………………………………………… 16
2.2 發行版選擇和ISO下載……………………………………………………… 17
2.3 VMwarePlayer軟體………………………………………………………… 18
2.3.1 下載和安裝………………………………………………………………… 18
2.3.2 設定虛擬化支持…………………………………………………………… 20
2.4 使用現成的虛擬機……………………………………………………………… 21
2.5 創建和配置虛擬機……………………………………………………………… 25
2.5.1 創建虛擬機………………………………………………………………… 25
2.5.2 虛擬機設定………………………………………………………………… 28
2.6 安裝Ubuntu …………………………………………………………………… 30
2.6.1 實體機安裝前準備………………………………………………………… 30
2.6.2 虛擬機安裝前準備………………………………………………………… 32
2.6.3 正式安裝Ubuntu ………………………………………………………… 34
2.7 初識Ubuntu …………………………………………………………………… 38
2.7.1 Ubuntu桌面……………………………………………………………… 38
2.7.2 輸入法……………………………………………………………………… 39
2.7.3 系統設定…………………………………………………………………… 39
2.7.4 搜尋軟體和檔案…………………………………………………………… 40
2.7.5 打開終端…………………………………………………………………… 41
2.7.6 安裝軟體…………………………………………………………………… 42
第3章 開始使用Linux ……………………………………………………………… 44
3.1 LinuxShell …………………………………………………………………… 44
3.1.1 Shell是什麼……………………………………………………………… 44
3.1.2 Shell的種類和特點……………………………………………………… 45
3.2 Linux常見命令………………………………………………………………… 46
3.2.1 導航命令…………………………………………………………………… 47
3.2.2 目錄操作命令……………………………………………………………… 49
3.2.3 檔案操作命令……………………………………………………………… 53
3.2.4 網路操作命令……………………………………………………………… 63
3.2.5 安裝和卸載檔案系統……………………………………………………… 64
3.2.6 使用核心模組和驅動……………………………………………………… 66
3.2.7 重啟和關機………………………………………………………………… 69
3.2.8 其他命令…………………………………………………………………… 69
3.3 Shell檔案……………………………………………………………………… 72
3.4 Linux環境變數………………………………………………………………… 72
3.4.1 環境變數…………………………………………………………………… 72
3.4.2 修改環境變數……………………………………………………………… 73
第4章 Linux檔案系統……………………………………………………………… 75
4.1 Linux目錄結構………………………………………………………………… 75
4.1.1 Linux目錄樹……………………………………………………………… 75
4.1.2 Linux目錄樹標準………………………………………………………… 76
4.2 Linux的檔案…………………………………………………………………… 77
4.2.1 Linux檔案結構…………………………………………………………… 77
4.2.2 Linux檔案名稱稱…………………………………………………………… 78
4.2.3 檔案類型…………………………………………………………………… 79
4.3 Linux檔案系統………………………………………………………………… 80
4.3.1 Ext3檔案系統特點……………………………………………………… 80
4.3.2 Ext4檔案系統特點……………………………………………………… 81
4.3.3 其他檔案系統……………………………………………………………… 83
第5章 Vi編輯器……………………………………………………………………… 86
5.1 Vi/Vim 編輯器………………………………………………………………… 86
5.2 Vi的模式……………………………………………………………………… 86
5.3 Vim 的安裝…………………………………………………………………… 87
5.4 啟動和關閉Vi ………………………………………………………………… 87
5.5 游標移動………………………………………………………………………… 88
5.6 文本編輯………………………………………………………………………… 89
5.6.1 文本輸入…………………………………………………………………… 89
5.6.2 文本處理…………………………………………………………………… 90
5.7 配置Vi ………………………………………………………………………… 93
5.8 檔案對比………………………………………………………………………… 95
第6章 嵌入式Linux開發環境構建………………………………………………… 96
6.1 嵌入式Linux開發模型……………………………………………………… 96
6.1.1 交叉編譯…………………………………………………………………… 96
6.1.2 交叉編譯器………………………………………………………………… 97
6.2 安裝交叉編譯器………………………………………………………………… 97
6.2.1 解壓工具鏈壓縮檔………………………………………………………… 98
6.2.2 設定環境變數……………………………………………………………… 99
6.3 SSH 伺服器…………………………………………………………………… 102
6.3.1 SSH 能做什麼…………………………………………………………… 102
6.3.2 安裝SSH 伺服器………………………………………………………… 103
6.3.3 測試SSH 服務…………………………………………………………… 103
6.3.4 用Putty測試…………………………………………………………… 105
6.3.5 用SSHSecureShell測試……………………………………………… 107
6.4 NFS伺服器…………………………………………………………………… 110
6.4.1 NFS能做什麼…………………………………………………………… 110
6.4.2 安裝NFS軟體包………………………………………………………… 110
6.4.3 添加NFS已分享資料夾……………………………………………………… 110
6.4.4 啟動NFS服務…………………………………………………………… 112
6.4.5 測試NFS伺服器………………………………………………………… 112
6.5 TFTP伺服器………………………………………………………………… 113
6.5.1 TFTP能做什麼………………………………………………………… 113
6.5.2 安裝配置TFTP軟體…………………………………………………… 113
6.5.3 配置TFTP伺服器……………………………………………………… 114
6.5.4 啟動TFTP服務………………………………………………………… 114
6.5.5 測試TFTP伺服器……………………………………………………… 114
第二篇 EasyARM i.MX283A 開發平台
第7章 EasyARM i.MX283A 開發套件介紹……………………………………… 119
7.1 開發套件簡介………………………………………………………………… 119
7.2 硬體資源……………………………………………………………………… 120
7.3 軟體資源……………………………………………………………………… 121
7.4 開發所需配件………………………………………………………………… 122
7.5 產品組裝……………………………………………………………………… 122
7.6 AP 283Demo擴展板……………………………………………………… 124
7.6.1 硬體特性………………………………………………………………… 124
7.6.2 外設接口布局…………………………………………………………… 125
第8章 EasyARM i.MX283A 入門實操…………………………………………… 126
8.1 開機和登錄…………………………………………………………………… 126
8.1.1 啟動方式設定…………………………………………………………… 126
8.1.2 供電連線………………………………………………………………… 127
8.1.3 串口硬體連線…………………………………………………………… 127
8.1.4 Windows環境串口登錄………………………………………………… 130
8.1.5 Linux環境串口登錄…………………………………………………… 133
8.2 關機和重啟…………………………………………………………………… 138
8.3 查看系統信息………………………………………………………………… 138
8.3.1 查看系統核心版本……………………………………………………… 138
8.3.2 查看記憶體使用情況……………………………………………………… 139
8.3.3 查看磁碟使用情況……………………………………………………… 139
8.3.4 查看CPU的信息…………………………………………………… 139
8.4 設定開機自動啟動…………………………………………………………… 140
8.5 載入驅動模組………………………………………………………………… 141
8.5.1 在Shell終端上載入和使用驅動模組………………………………… 141
8.5.2 在腳本檔案中載入和使用驅動模組…………………………………… 141
8.6 網路設定……………………………………………………………………… 142
8.7 通過SSH 登錄系統…………………………………………………………… 145
8.8 TF卡的使用………………………………………………………………… 146
8.9 U 盤的使用…………………………………………………………………… 147
8.10 USBDevice的使用………………………………………………………… 148
8.10.1 把TF卡作為虛擬U 盤的儲存空間………………………………… 148
8.10.2 使用普通檔案作為虛擬U 盤的存儲空間…………………………… 149
8.11 LED使用…………………………………………………………………… 150
8.11.1 LED的操作接口……………………………………………………… 150
8.11.2 觸發條件設定…………………………………………………………… 150
8.12 蜂鳴器的使用………………………………………………………………… 152
8.13 LCD背光控制……………………………………………………………… 152
8.14 觸控螢幕的校準………………………………………………………………… 152
8.15 GPIO操作…………………………………………………………………… 153
8.16 進階操作……………………………………………………………………… 154
8.16.1 掛載NFS目錄………………………………………………………… 154
8.16.2 使用NFS根檔案系統………………………………………………… 154
8.16.3 使用TFTP啟動核心………………………………………………… 158
8.16.4 記憶體檔案系統…………………………………………………………… 159
第9章 系統固件的燒寫……………………………………………………………… 160
9.1 NandFlash存儲器分區……………………………………………………… 160
9.2 燒寫流程圖…………………………………………………………………… 160
9.3 格式化NandFlash…………………………………………………………… 161
9.3.1 通過USBBoot引導格式化NandFlash ……………………………… 161
9.3.2 通過SDBoot方式格式化NandFlash ……………………………… 164
9.4 TF卡燒寫方案……………………………………………………………… 165
9.4.1 TF卡燒寫用的固件…………………………………………………… 165
9.4.2 製作TF啟動卡………………………………………………………… 166
9.4.3 固件燒寫步驟…………………………………………………………… 167
9.5 USB燒寫方案………………………………………………………………… 168
9.6 使用網路升級核心或檔案系統……………………………………………… 172
9.6.1 網路升級用的固件……………………………………………………… 172
9.6.2 升級步驟………………………………………………………………… 172
9.6.3 故障排除………………………………………………………………… 174
第三篇 Linux套用編程
第10章 LinuxC編程環境………………………………………………………… 179
10.1 GCC ………………………………………………………………………… 180
10.1.1 GCC簡介……………………………………………………………… 180
10.1.2 GCC工具軟體………………………………………………………… 180
10.1.3 GCC基本使用方法…………………………………………………… 181
10.1.4 GCC編譯控制選項…………………………………………………… 187
10.1.5 創建靜態庫和共享庫…………………………………………………… 191
10.1.6 arm linux gcc ……………………………………………………… 192
10.2 GNU make ………………………………………………………………… 192
10.2.1 make和GNU make…………………………………………………… 192
10.2.2 給hello.c編寫一個Makefile ………………………………………… 193
10.2.3 Makefile的規則………………………………………………………… 194
10.2.4 make命令……………………………………………………………… 202
10.3 GDB ………………………………………………………………………… 203
10.3.1 GDB介紹……………………………………………………………… 203
10.3.2 GDB基本命令………………………………………………………… 203
10.3.3 GDB調試範例………………………………………………………… 205
10.3.4 GDB遠程調試………………………………………………………… 208
10.3.5 GDB圖形前端DDD …………………………………………………… 211
10.4 用於C/C++語言的EclipseIDE ………………………………………… 213
10.4.1 Eclipse簡介…………………………………………………………… 213
10.4.2 安裝用於C/C++語言的EclipseIDE ……………………………… 214
10.4.3 啟動Eclipse …………………………………………………………… 214
10.4.4 創建C工程…………………………………………………………… 215
10.4.5 本地編譯和調試………………………………………………………… 220
10.4.6 交叉編譯和遠程調試…………………………………………………… 221
10.4.7 Eclipse中的GCC設定……………………………………………… 228
10.4.8 導入已有的工程檔案…………………………………………………… 231
10.5 Windows下開發Linux應用程式………………………………………… 232
10.5.1 安裝交叉編譯器………………………………………………………… 232
10.5.2 安裝JDK ……………………………………………………………… 238
10.5.3 安裝用於C/C++Developers的EclipseIDE ……………………… 241
10.5.4 啟動Eclipse …………………………………………………………… 242
10.5.5 創建C工程…………………………………………………………… 244
10.5.6 交叉編譯工程…………………………………………………………… 247
10.5.7 建立遠程SSH 連線…………………………………………………… 248
10.5.8 遠程調試………………………………………………………………… 254
第11章 Linux檔案I/O …………………………………………………………… 259
第12章 進程與進程間通信………………………………………………………… 276
第13章 Linux多執行緒編程………………………………………………………… 312
第14章 嵌入式GUI編程…………………………………………………………… 337
第15章 特殊硬體接口編程………………………………………………………… 393
第16章 Linux串口編程…………………………………………………………… 458
第17章 C語言網路編程入門……………………………………………………… 473
第18章 Shell編程初步……………………………………………………………… 503
參考文獻 ……………………………………………………………………………… 528

相關詞條

熱門詞條

聯絡我們