嵌入式系統原理與應用-基於Cortex-A53微處理器

鄭洪慶 程蔚 陳冬冬

  • 出版商: 機械工業
  • 出版日期: 2024-09-25
  • 售價: $330
  • 貴賓價: 9.5$314
  • 語言: 簡體中文
  • ISBN: 7111761103
  • ISBN-13: 9787111761105
  • 相關分類: 嵌入式系統
  • 立即出貨 (庫存 < 3)

相關主題

商品描述

作為信息領域的核心技術之一—嵌入式技術已經對我國各行各業產生了深遠影響。為了促進嵌入式系統設計理論和技術的提高,本書以當前嵌入式系統領域里具有代表性的Cortex-A53微處理器為核心,以Linux操作系統為基礎,從嵌入式系統的特點和應用出發,介紹了嵌入式系統的發展歷程、開發環境安裝與配置、Linux常用編程工具、裸機開發、系統移植、設備驅動程序設計、Qt界面設計、嵌入式應用開發等,內容涵蓋了完整的嵌入式產品開發過程。本書內容由淺入深,循序漸進,圖文並茂,采用項目式教學,操作過程翔實,能夠使讀者很快掌握相應的知識,以實用技術為主,通俗易懂,實例豐富,特別適合初學者和從事嵌入式系統設計工作的讀者使用。 本書配套豐富的實例源代碼,每個代碼都在GEC6818開發板上調試通過。書中用到的所有軟件工具、程序源代碼、文檔學習資料,以及所有的GEC6818的裸機程序、內核代碼、根文件系統等學習資源都可以提供給選用本書作為教材的老師。 本書可作為應用型高校、職業技術大學的物聯網工程、人工智能工程、電子信息工程等與嵌入式相關專業本科生、專科生的教材,同時適合嵌入式系統初級開發者使用。

目錄大綱

前言
第1章 緒論 1
1.1 嵌入式系統簡介 1
1.1.1 嵌入式系統的定義 1
1.1.2 嵌入式系統的結構 2
1.1.3 嵌入式系統的特點 3
1.1.4 嵌入式系統的發展 4
1.2 嵌入式微處理器 4
1.2.1 嵌入式處理器的分類 5
1.2.2 典型的嵌入式處理器 6
1.3 嵌入式操作系統 7
1.3.1 嵌入式操作系統簡述 7
1.3.2 主流嵌入式操作系統 8
1.4 開發軟件的安裝 10
1.4.1 虛擬機安裝 10
1.4.2 Ubuntu安裝 12
習題與練習 19
第2章 Linux基本操作 20
2.1 Linux文件系統結構 20
2.1.1 Linux目錄結構 20
2.1.2 文件類型和文件屬性 21
2.2 Linux常用命令 23
2.2.1 文件管理相關命令 23
2.2.2 壓縮打包相關命令 28
2.2.3 用戶系統相關命令 30
2.2.4 網絡相關命令 32
2.2.5 其他常用命令 34
2.3 vi編輯器 35
2.3.1 Linux下C語言編程環境概述 35
2.3.2 vi的模式 36
2.3.3 vi的基本流程 36
2.3.4 vi各模式功能鍵 37
2.4 gcc編譯器 39
2.4.1 gcc編譯流程 39
2.4.2 gcc編譯選項 40
2.5 gdb調試器 44
2.5.1 gdb基本命令 44
2.5.2 gdb使用流程 45
2.6 make工程管理器 48
2.6.1 Makefile結構 48
2.6.2 Makefile變量 50
2.7 開發環境的搭建 51
2.7.1 VMware Tools安裝 51
2.7.2 設置共享文件夾 52
2.7.3 文本編輯器vim的安裝 53
2.7.4 g++和make的安裝 53
2.7.5 TFTP服務的安裝 53
2.7.6 NFS服務的安裝 54
2.7.7 交叉編譯工具的安裝 55
習題與練習 57
第3章 文件I/O編程 58
3.1 系統調用 58
3.1.1 基本概念 58
3.1.2 系統調用實現文件I/O操作 59
3.2 標準C庫完成文件I/O操作 67
3.2.1 文件打開和關閉 68
3.2.2 錯誤處理 69
3.2.3 文件定位 69
3.2.4 文件讀寫 70
3.3 S5P6818文件操作實例 75
3.3.1 顯示圖片 75
3.3.2 獲取觸摸屏坐標 77
習題與練習 79
第4章 進程與線程 80
4.1 進程 80
4.1.1 進程的定義 80
4.1.2 進程控制塊 81
4.1.3 進程的標識 81
4.1.4 進程狀態 81
4.2 進程控制編程 82
4.2.1 創建進程 82
4.2.2 exec系列函數 84
4.2.3 等待進程結束 87
4.2.4 進程終止 91
4.3 進程間通信 92
4.3.1 進程間通信概述 92
4.3.2 管道通信 93
4.3.3 消息隊列 99
4.3.4 信號 104
4.3.5 共享內存 114
4.3.6 信號量 117
4.3.7 網絡通信 121
4.4 多線程編程 137
4.4.1 多線程概述 137
4.4.2 線程的基本操作 138
習題與練習 141
第5章 基於Cortex-A53處理器的
硬件平台 142
5.1 Cortex-A53處理器 142
5.1.1 功能及特點 142
5.1.2 支持的數據類型 143
5.1.3 內核工作模式 144
5.1.4 存儲系統 145
5.1.5 指令流水線 146
5.1.6 寄存器組織 148
5.1.7 基於Cortex-A53的S5P6818
處理器 151
5.2 GEC6818開發平台簡介 152
5.3 通用I/O接口 154
5.3.1 GPIO功能簡介 154
5.3.2 S5P6818處理器的GPIO控制器
詳解 154
5.3.3 GPIO控制器案例 156
5.4 外部中斷 160
5.4.1 ARM異常中斷簡介 160
5.4.2 S5P6818中斷機制分析 160
5.4.3 按鍵中斷電路與程序設計 163
5.5 UART串口通信 169
5.5.1 異步串行通信原理 169
5.5.2 S5P6818 UART控制器 170
5.5.3 UART電路與程序設計 171
習題與練習 176
第6章?設備驅動程序設計 178
6.1 Linux驅動開發概述 178
6.1.1 設備驅動的作用 178
6.1.2 設備驅動的分類 179
6.1.3 Linux設備驅動與整個軟硬件
系統的關系 179
6.2 內核模塊 180
6.2.1 第一個內核模塊程序 181
6.2.2 模塊的編譯 182
6.2.3 模塊的加載與卸載 182
6.3 字符設備驅動 183
6.3.1 字符設備驅動結構 183
6.3.2 LED驅動開發 187
6.3.3 直流電機驅動 193
6.3.4 PWM驅動 199
習題與練習 204
第7章 Linux系統移植 205
7.1 U-Boot編譯與移植 205
7.1.1 BootLoader基本概念 206
7.1.2 U-Boot編譯 208
7.1.3 U-Boot命令 211
7.1.4 U-Boot啟動編譯鏈接過程 216
7.1.5 U-Boot啟動代碼分析 222
7.2 Linux編譯與移植 226
7.2.1 Linux基本概念 226
7.2.2 Makefile與Kconfig分析 229
7.2.3 內核編譯與下載 239
7.2.4 Linux內核配置選項 242
7.2.5 Linux內核啟動過程描述 246
7.2.6 基於設備樹的LED配置 254
7.3 Linux文件系統制作 256
7.3.1 文件系統概念 256
7.3.2 制作根文件系統 257
習題與練習 263
第8章 Qt圖形編程 264
8.1 Qt簡介 264
8.2 Qt安裝 265
8.2.1 Qt安裝 265
8.2.2 創建第一個Qt工程 267
8.2.3 安裝移植好的Qt Embedded庫 273
8.3 設計Qt界面實現LED燈控制 274
8.3.1 新建工程led_control_cw 274
8.3.2 添加led.h 274
8.3.3 添加led.cpp 274
8.3.4 設計界面 276
8.3.5 編輯代碼 276
8.3.6 編譯下載 278
習題與練習 279
第9章 嵌入式項目實戰 280
9.1 系統功能要求 280
9.2 部分硬件電路 281
9.3 系統程序設計 283
習題與練習 297
參考文獻 298