ARM-Linux嵌入式系統開發基礎

ARM-Linux嵌入式系統開發基礎

《ARM-Linux嵌入式系統開發基礎》是2015年西安電子科技大學出版社出版的圖書,作者是孫弋。

基本介紹

  • 書名:ARM-Linux嵌入式系統開發基礎
  • 作者:孫弋
  • ISBN:978-7-5606-2072-5/TP.1067
  • 定價:29.75元
  • 出版社:西安電子科技大學出版社
  • 出版時間:2015-02
內容簡介,目錄,

內容簡介

本書針對ARM-Linux嵌入式系統開發進行了系統的介紹,並從產品開發的角度詳細介紹了嵌入式產品開發的流程及相關基礎知識。內容主要包括嵌入式產品開發流程、嵌入式開發環境、編程原理、Bootloader、核心配置及啟動流程、檔案系統等,並在最後一章以串口和A/D接口套用為例簡述了數據傳送設備的開發過程。
本書內容翔實豐富、結構合理,可作為高等院校嵌入式系統相關課程用書,同時也可以作為嵌入式認證的培訓教材
★本書配有電子教案,需要的老師可與出版社聯繫,免費提供。

目錄

第1章 嵌入式系統開發基礎 1
1.1 嵌入式系統概述 2
1.1.1 典型的嵌入式作業系統 2
1.1.2 Linux系統 3
1.2 嵌入式系統設計基礎 6
1.2.1 嵌入式系統設計的特點 6
1.2.2 嵌入式系統的設計流程 7
1.2.3 嵌入式系統的軟/硬體劃分 10
1.2.4 嵌入式系統的產品硬體詳細設計 10
1.2.5 嵌入式系統的軟體設計 11
1.2.6 嵌入式開發電路基礎 14
1.2.7 電子電路抗干擾設計基礎 18
1.2.8 嵌入式系統電源管理技術 21
第2章 嵌入式微處理器及ARM9硬體開發平台 23
2.l 嵌入式微處理器 23
2.1.1 嵌入式微處理器的類型 23
2.1.2 典型32位ARM微處理器的結構和特點 25
2.2 ARM9微處理器簡介 29
2.2.1 ARM9與ARM7處理器的比較 29
2.2.2 三星 S3C2410X ARM9處理器暫存器詳解 30
第3章 Linux C編譯調試基礎 63
3.1 Linux下C語言編程概述 63
3.2 Vi編輯器的使用 64
3.3 Emacs使用簡介 65
3.3.1 Emacs的基本操作 65
3.3.2 Emacs編譯概述 67
3.4 使用GNU CC編程 68
3.4.1 Linux C源程式的編譯 68
3.4.2 “Hello,World!” 70
3.4.3 GCC的主要選項 72
3.5 使用GNU make 73
3.5.1 初識Makefile 73
3.5.2 Makefile規則 74
3.5.3 Makefile中的變數 75
3.5.4 簡單的Makefile檔案內容 76
3.5.5 假想目標 77
3.5.6 條件語句 77
3.5.7 依賴關係 78
3.5.8 函式 79
3.5.9 Makefile的擴展變數 80
3.5.10 Makefile中的替換 81
3.6 使用autoconf 83
3.6.1 創建configure腳本 83
3.6.2 編寫configure.in檔案 84
3.6.3 通過autoconf創建configure 85
3.6.4 更新configure腳本 85
3.7 使用automake 86
3.8 GDB調試工具 89
3.8.1 GDB概述 89
3.8.2 GDB使用示例 90
3.8.3 啟動GDB 92
3.8.4 GDB模式的設定 93
3.8.5 退出GDB 93
3.8.6 shell命令的使用 94
3.9 在GDB下運行程式 94
3.9.1 命令輸入的技巧 94
3.9.2 調試程式時的注意事項 95
3.9.3 調試程式環境設定 96
3.9.4 運行程式 97
3.10 調試程式 97
3.10.1 子進程結束 97
3.10.2 調試多執行緒程式 98
3.10.3 調試多進程程式 98
3.10.4 調試的停止和繼續 98
3.11 設定斷點、觀測點和異常 99
第4章 Linux C編程基礎 105
4.1 Linux下的C語言編程——執行緒操作 105
4.2 Linux下的進程控制 105
4.2.1 fork()函式 105
4.2.2 exec()函式族 107
4.3 多執行緒編程入門 108
4.3.1 創建執行緒 109
4.3.2 pthread join()和pthread exit()函式
4.3.3 取消執行緒 113
4.3.4 執行緒私有數據 114
4.3.5 互斥鎖 116
4.3.6 信號燈 122
4.3.7 執行緒終止 124
第5章 Bootloader開發基礎 126
5.1 Bootloader基礎 126
5.1.1 Bootloader的啟動 126
5.1.2 Bootloader的種類 129
5.1.3 Bootloader的基本原理 130
5.2 U-Boot 140
5.2.1 U-Boot工程簡介 140
5.2.2 U-Boot源碼結構 140
5.2.3 U-Boot的編譯 141
5.2.4 U-Boot的移植 144
5.2.5 添加U-Boot命令 145
5.2.6 U-Boot的調試 147
5.2.7 U-Boot的使用 164
5.3 ViVi 173
5.3.1 ViVi簡介 173
5.3.2 ViVi的配置與編譯 174
5.3.3 ViVi代碼分析 175
5.3.4 ViVi的運行 176
第6章 嵌入式Linux核心 188
6.1 嵌入式Linux概述 188
6.1.1 嵌入式作業系統的分類 188
6.1.2 嵌入式Linux 188
6.2 嵌入式Linux的版本控制 189
6.3 嵌入式Linux的代碼結構 190
6.4 ARM嵌入式Linux的記憶體管理 191
6.4.1 記憶體管理單元MMU 191
6.4.2 ARM嵌入式Linux的存儲管理機制 191
6.4.3 ARM嵌入式Linux存儲機制的建立 192
6.4.4 ARM嵌入式Linux對進程虛擬空間的管理 195
6.5 ARM嵌入式Linux的進程管理與調度 197
6.5.1 task_struct數據結構 197
6.5.2 Linux進程的創建、執行和終止 201
6.5.3 ARM嵌入式Linux的進程調度 204
6.6 ARM嵌入式Linux的中斷回響與處理 205
6.6.1 ARM的異常中斷種類 205
6.6.2 ARM處理器對異常中斷的回響及返回過程 206
6.7 嵌入式 Linux的模組化機制 209
6.7.1 Linux的模組化 209
6.7.2 模組的載入 209
6.7.3 模組的卸載 211
6.8 嵌入式Linux核心的配置 211
6.8.1 Makefile 212
6.8.2 配置檔案 216
6.8.3 Linux核心配置選項 219
6.8.4 配置實例 224
6.9 嵌入式Linux核心啟動分析 226
第7章 嵌入式檔案系統 246
7.1 檔案系統基本概念 246
7.1.1 嵌入式根檔案系統 246
7.1.2 嵌入式系統存儲設備及其管理機制分析 247
7.1.3 嵌入式Linux中的MTD驅動層 249
7.1.4 常見的嵌入式檔案系統 254
7.2 虛擬檔案系統VFS 258
7.2.1 VFS概述 259
7.2.2 檔案系統的註冊 259
7.2.3 VFS目錄樹的建立 260
7.2.4 VFS下目錄的建立 262
7.2.5 在VFS樹中掛載檔案系統 264
7.3 基於Flash的檔案系統 268
7.3.1 JFFS2 268
7.3.2 YAFFS 273
7.3.3 CramFS 278
7.4 基於RAM的檔案系統 280
7.5 Busybox 288
7.5.1 Busybox命令的工作原理 288
7.5.2 配置並編譯 Busybox 289
第8章 ARM-Linux串列接口通信程式設計 295
8.1 串列接口 295
8.1.1 串列接口的原理 295
8.1.2 程式分析 298
8.2 A/D接口 303
8.2.1 A/D接口原理 303
8.2.2 ARM自帶的10位A/D轉換器 305
8.2.3 程式分析 307
8.3 瓦斯信息採集系統套用實例 310
8.3.1 瓦斯信息採集系統硬體設計 311
8.3.2 瓦斯信息採集系統軟體設計 313
參考文獻 319

相關詞條

熱門詞條

聯絡我們