本書圍繞嵌入式系統(tǒng)的電子設計與應用展開,在簡要介紹嵌入式系統(tǒng)基礎、嵌入式系統(tǒng)硬件體系結構、嵌入式系統(tǒng)架構的基礎上,對嵌入式系統(tǒng)應用程序設計、嵌入式Linux程序開發(fā)基礎、嵌入式設備驅(qū)動程序設計等內(nèi)容進行了講解,并提供了設備驅(qū)動程序設計實例。
本書重點突出、語言簡練、內(nèi)容全面,適用于嵌入式系統(tǒng)開發(fā)人員,以及電子科學與技術、信息工程、通信工程等相關專業(yè)的師生閱讀參考。
第1章 嵌入式系統(tǒng)基礎 001
1.1 嵌入式系統(tǒng)簡介 001
1.1.1 嵌入式系統(tǒng)的基本概念 001
1.1.2 嵌入式系統(tǒng)的體系結構 001
1.1.3 嵌入式系統(tǒng)的特點 003
1.2 常見嵌入式操作系統(tǒng) 003
1.2.1 VxWorks 004
1.2.2 Windows CE 004
1.2.3 嵌入式Linux 004
1.2.4 μC/OS-Ⅱ 005
1.2.5 Android 006
1.3 嵌入式系統(tǒng)的開發(fā)過程 006
1.4 嵌入式系統(tǒng)的應用案例 007
1.4.1 基于嵌入式系統(tǒng)的視頻網(wǎng)絡監(jiān)控系統(tǒng) 007
1.4.2 基于嵌入式系統(tǒng)的鍋爐控制方案 009
1.4.3 基于嵌入式系統(tǒng)的網(wǎng)關實現(xiàn)方案 012
第2章 嵌入式系統(tǒng)硬件體系結構 015
2.1 硬件相關基礎知識 015
2.1.1 嵌入式微處理器 015
2.1.2 嵌入式微處理器的流水線技術 016
2.1.3 寄存器與存儲器 017
2.1.4 總線 019
2.1.5 I/O端口 022
2.1.6 中斷 023
2.1.7 數(shù)據(jù)編碼 024
2.2 嵌入式系統(tǒng)硬件平臺 025
2.2.1 嵌入式處理器 026
2.2.2 嵌入式系統(tǒng)中的存儲設備 026
2.2.3 JTAG接口 028
2.3 ARM 微處理器體系 029
2.3.1 ARM 體系結構 029
2.3.2 ARM 系列微處理器簡介 031
2.4 微處理器的結構 032
2.4.1 RISC體系結構和ARM 設計思想 032
2.4.2 ARM Cortex微處理器結構的最小系統(tǒng)設計 033
2.4.3 Cortex-A8核心開發(fā)板 033
2.4.4 Cortex-A8的GPIO端口 035
第3章 嵌入式系統(tǒng)架構 040
3.1 S3C44B0X處理器 040
3.1.1 功能模塊與總線結構 040
3.1.2 設備控制器 042
3.1.3 設備控制器設備側接口 043
3.1.4 設備控制器寄存器 043
3.2 嵌入式系統(tǒng)硬件結構 044
3.2.1 單總線結構 044
3.2.2 多總線結構 045
3.3 嵌入式系統(tǒng)軟件結構 047
3.3.1 單任務結構 048
3.3.2 多任務結構 051
第4章 嵌入式系統(tǒng)應用程序設計 053
4.1 可執(zhí)行文件的產(chǎn)生 053
4.2 鏈接與裝入程序 055
4.2.1 程序在RAM 中時的鏈接與裝入程序 055
4.2.2 程序燒進Flash后的鏈接與裝入程序 056
4.3 啟動程序Bootloader 060
4.4 單任務應用程序 060
4.5 多任務應用程序 064
第5章 嵌入式Linux程序開發(fā)基礎 067
5.1 嵌入式Linux編譯器 067
5.1.1 Linux下C語言編譯過程 067
5.1.2 GCC編譯器及基本使用方法 068
5.2 “文件包含” 處理 070
5.2.1 頭文件 070
5.2.2 “文件包含” 處理過程 070
5.3 make命令和Makefile工程管理 071
5.3.1 認識make 071
5.3.2 Makefile變量 074
5.3.3 Makefile規(guī)則 076
5.3.4 make命令的使用 077
5.4 嵌入式Linux匯編語言程序設計 077
5.4.1 嵌入式Linux匯編語言格式 078
5.4.2 嵌入式Linux匯編程序示例 079
5.4.3 編譯嵌入式Linux匯編程序 081
5.5 嵌入式Linux shell編程 081
5.5.1 shell的語法基礎 082
5.5.2 shell的流程控制語句 083
5.5.3 shell編程示例 084
第6章 嵌入式設備驅(qū)動程序設計 085
6.1 嵌入式設備驅(qū)動程序基礎 085
6.1.1 設備驅(qū)動程序概述 085
6.1.2 設備驅(qū)動程序的框架 088
6.1.3 設備驅(qū)動程序的動態(tài)加載過程 088
6.1.4 設備驅(qū)動程序的功能接口函數(shù)模塊 091
6.1.5 設備驅(qū)動程序的重要數(shù)據(jù)結構體 093
6.2 字符設備驅(qū)動程序設計 096
6.2.1 字符設備驅(qū)動程序 096
6.2.2 用戶調(diào)用設備驅(qū)動程序 100
6.3 簡單字符驅(qū)動程序設計示例 106
6.4 塊設備驅(qū)動程序設計 112
6.4.1 塊設備的基本概念 112
6.4.2 塊設備的驅(qū)動程序設計方法 113
第7章 設備驅(qū)動程序設計實例 118
7.1 鍵盤驅(qū)動程序的設計 118
7.1.1 鍵盤原理介紹 118
7.1.2 鍵盤驅(qū)動程序設計思路分析 120
7.1.3 鍵盤驅(qū)動程序設計 124
7.1.4 鍵盤用戶應用程序設計 128
7.1.5 編譯和運行鍵盤程序 129
7.2 直流電機驅(qū)動程序設計 130
7.2.1 直流電機控制電路設計 130
7.2.2 直流電機驅(qū)動程序 132
7.2.3 直流電機用戶應用程序 136
7.2.4 編譯和運行程序 138
參考文獻 140