嵌入式系統設計與應用 — 基於 ARM Cortex-A8 和 Linux
內容描述
本書選擇當前嵌入式系統領域裡具有代表性的ARM Cortex-A8處理器和嵌入式Linux操作系統作為分析對象,
從嵌入式系統的特點和應用出發,包括走進嵌入式系統、搭建嵌入式開發環境、學習使用Linux常用編程工具、
S5PV210微處理器與接口技術、系統移植、嵌入式應用開發與移植6個項目,內容涵蓋了完整的嵌入式產品開發過程。
本書按照任務劃分學習內容,圖文並茂,操作過程翔實,力爭做到既有針對性,
又能夠使讀者通過完成相應的任務很快掌握相應的知識。
本書可作為高職高專院校物聯網應用技術、人工智能技術應用、
電子信息工程技術等專業的學生用書,也可作為專業設計人員的技術參考用書。
目錄大綱
項目1 走進嵌入式系統 1
任務1.1 認識嵌入式系統 2
1.1.1 嵌入式系統定義 2
1.1.2 嵌入式系統的特點 3
1.1.3 嵌入式系統的組成 3
1.1.4 嵌入式系統的應用 4
任務1.2 認識典型的嵌入式處理器 8
1.2.1 嵌入式微處理器簡介 8
1.2.2 主流的嵌入式處理器 10
任務1.3 認識典型的嵌入式操作系統 13
1.3.1 嵌入式操作系統簡介 13
1.3.2 主流的嵌入式操作系統 14
任務1.4 熟悉嵌入式系統設計方法 16
1.4.1 嵌入式系統開發流程 16
1.4.2 嵌入式應用軟件開發 18
知識梳理 21
知識鞏固 21
項目2 搭建嵌入式開發環境 23
任務2.1 安裝Linux操作系統 24
2.1.1 VMware的安裝 24
2.1.2 Ubuntu的安裝與啟動 26
2.1.3 安裝VMwareTools 34
任務2.2 了解Linux文件系統 37
2.2.1 Linux文件系統 37
2.2.2 Linux文件及屬性 38
2.2.3 Linux系統目錄結構 39
任務2.3 學習Linux常用命令的使用 40
2.3.1 用戶管理命令 40
2.3.2 文件和目錄操作命令 42
2.3.3 文件內容及權限管理命令 47
2.3.4 壓縮打包命令 51
2.3.5 磁盤管理命令 53
2.3.6 網絡配置命令 55
任務2.4 配置嵌入式常用開發服務 56
2.4.1 配置NFS服務 56
2.4.2 配置Samba服務 58
2.4.3 配置SSH服務 61
任務2.5 安裝交叉工具編譯鏈 63
2.5.1 了解交叉編譯環境 63
2.5.2 交叉編譯器的安裝 64
知識梳理 65
知識鞏固 66
項目3 學習使用Linux常用編程工具 68
任務3.1 Vim編輯工具的使用 69
3.1.1 Vim的工作模式 69
3.1.2 Vim的簡易使用 69
3.1.3 Vim命令及運用 71
任務3.2 GCC編譯器的使用 76
3.2.1 GCC編譯流程 76
3.2.2 GCC編譯選項 78
3.2.3 GCC編譯實例 79
任務3.3 Make工程管理器的使用 81
3.3.1 Makefile基本結構 81
3.3.2 Makefile變量 83
3.3.3 Makefile規則 86
3.3.4 使用autotools 87
知識梳理 90
知識鞏固 91
項目4 S5PV210微處理器與接口技術 94
任務4.1 認識S5PV210處理器 95
4.1.1 S5PV210處理器簡介 95
4.1.2 S5PV210存儲系統 99
4.1.3 S5PV210啟動流程 100
4.1.4 S5PV210的時鐘系統 102
4.1.5 Mini210S開發板介紹 102
任務4.2 GPIO的應用 104
4.2.1 GPIO概述 104
4.2.2 GPIO寄存器 105
4.2.3 GPIO應用實例 107
任務4.3 串口的應用 110
4.3.1 UART通信簡介 110
4.3.2 S5PV210的異步串行通信接口 111
4.3.3 S5PV210的UART寄存器 112
4.3.4 3S5PV210串行通信實例 117
任務4.4 中斷的應用 120
4.4.1 S5PV210中斷體系簡介 120
4.4.2 S5PV210中斷控制寄存器 121
4.4.3 S5PV210中斷控制實例 126
任務4.5 PWM定時器的應用 129
4.5.1 S5PV210 PWM定時器概述 129
4.5.2 PWM寄存器 130
4.5.3 PWM定時器實例 133
知識梳理 135
知識鞏固 136
項目5 系統移植 137
任務5.1 移植U-Boot 138
5.1.1 認識BootLoader 138
5.1.2 U-Boot分析 140
5.1.3 移植U-Boot 141
任務5.2 移植Linux內核 142
5.2.1 認識Linux內核 142
5.2.2 移植Linux內核 145
任務5.3 製作Linux根文件系統 146
5.3.1 認識Linux根文件系統 146
5.3.2 製作YAFFS2文件系統 147
知識梳理 149
知識鞏固 149
項目6 嵌入式應用開發與移植 150
任務6.1 了解Qt開發步驟 151
6.1.1 認識Qt Creator開發環境 151
6.1.2 編寫第一個程序 152
任務6.2 用戶登錄程序設計 159
6.2.1 登錄程序功能描述 159
6.2.2 用戶登錄程序設計 159
任務6.3 簡易電子相冊的設計 165
6.3.1 電子相冊功能描述 165
6.3.2 電子相冊程序設計 165
任務6.4 LED流水燈 172
6.4.1 功能描述 172
6.4.2 LED燈程序設計 172
任務6.5 按鍵監測 179
6.5.1 功能描述 179
6.5.2 按鍵監測程序設計 179
任務6.6 模擬量採集 184
6.6.1 功能描述 184
6.6.2 模擬量採集程序設計 184
知識梳理 186
知識鞏固 186
參考文獻 188