當(dāng)前位置: 首頁 > 原創(chuàng)圖書 >嵌入式系統(tǒng)技術(shù)與設(shè)計(jì)(第2版)圖書介紹
· 以ARM9處理器為背景,以Realview MDK為主要開發(fā)環(huán)境
· 將嵌入式軟硬件理論講解和嵌入式實(shí)驗(yàn)實(shí)踐融合在一起
· 側(cè)重實(shí)踐,輔以代碼,從分析的角度來學(xué)習(xí)嵌入式開發(fā)的各種技術(shù)
《嵌入式系統(tǒng)技術(shù)與設(shè)計(jì)(第2版)》在全面介紹ARM處理器的體系結(jié)構(gòu)、編程模型、指令系統(tǒng)和最新的RealView MDK開發(fā)環(huán)境的同時(shí),以英蓓特公司的EduKit-Ⅲ實(shí)驗(yàn)教學(xué)系統(tǒng)為平臺(tái),以ARM9處理器S3C2410為核心,詳細(xì)介紹了系統(tǒng)的設(shè)計(jì)及相關(guān)接口的操作,并提供了大量的實(shí)驗(yàn)例程。本書最后詳細(xì)講解了嵌入式Linux系統(tǒng)各個(gè)組成部分在教學(xué)系統(tǒng)上的移植過程。
《嵌入式系統(tǒng)技術(shù)與設(shè)計(jì)(第2版)》可作為高等院校計(jì)算機(jī)、電子信息、通信工程、自動(dòng)化等專業(yè)嵌入式系統(tǒng)教程的教材,也可作為相關(guān)嵌入式系統(tǒng)開發(fā)人員的參考書。
嵌入式系統(tǒng)技術(shù)與設(shè)計(jì)(第2版)章節(jié):
第1章 嵌入式系統(tǒng)概述 1
1.1 嵌入式系統(tǒng)簡(jiǎn)介 1
1.2 嵌入式系統(tǒng)發(fā)展趨勢(shì) 1
1.3 嵌入式系統(tǒng)的硬件和軟件特征 2
1.4 ARM系列處理器簡(jiǎn)介 4
1.4.1 ARM7處理器系列 5
1.4.2 ARM9處理器系列 5
1.4.3 ARM9E處理器系列 6
1.4.4 ARM10處理器系列 6
1.4.5 ARM10E處理器系列 6
1.4.6 ARM11處理器系列 7
1.4.7 SecureCore處理器系列 7
1.4.8 StrongARM和Xscale處理器系列 7
1.4.9 Cortex和MPCore處理器系列 7
1.4.10 各種處理器系列之間的比較 7
本章小結(jié) 8
思考題 8
第2章 ARM體系結(jié)構(gòu)與指令集 9
2.1 ARM體系結(jié)構(gòu)的特點(diǎn) 9
2.2 ARM處理器工作模式 9
2.3 寄存器組織 10
2.3.1 通用寄存器 11
2.3.2 狀態(tài)寄存器 12
2.3.3 程序計(jì)數(shù)器 14
2.4 流水線 15
2.4.1 流水線的概念與原理 15
2.4.2 流水線的分類 15
2.4.3 影響流水線性能的因素 16
2.5 ARM存儲(chǔ)系統(tǒng) 17
2.5.1 協(xié)處理器 18
2.5.2 存儲(chǔ)管理單元 18
2.5.3 高速緩沖存儲(chǔ)器 19
2.6 異!19
2.6.1 異常的種類 19
2.6.2 異常的優(yōu)先級(jí) 20
2.6.3 構(gòu)建異常向量表 20
2.6.4 異常響應(yīng)流程 22
2.6.5 從異常處理程序中返回 23
2.7 ARM處理器的尋址方式 24
2.7.1 數(shù)據(jù)處理指令尋址方式 24
2.7.2 內(nèi)存訪問指令尋址方式 25
2.8 ARM處理器的指令集 28
2.8.1 數(shù)據(jù)操作指令 28
2.8.2 乘法指令 33
2.8.3 Load/Store指令 35
2.8.4 單數(shù)據(jù)交換指令 40
2.8.5 跳轉(zhuǎn)指令 41
2.8.6 狀態(tài)操作指令 43
2.8.7 協(xié)處理器指令 45
2.8.8 異常產(chǎn)生指令 46
本章小結(jié) 48
思考題 48
第3章 ARM匯編語言程序設(shè)計(jì) 49
3.1 ARM/Thumb混合編程 49
3.1.1 Thumb指令的特點(diǎn)及實(shí)現(xiàn) 49
3.1.2 ARM/Thumb交互工作基礎(chǔ) 50
3.1.3 ARM/Thumb交互子程序 52
3.2 ARM匯編器支持的偽操作 57
3.2.1 偽操作概述 57
3.2.2 符號(hào)定義偽操作 57
3.2.3 數(shù)據(jù)定義偽操作 60
3.2.4 匯編控制偽操作 64
3.2.5 雜項(xiàng)偽操作 68
3.3 ARM匯編器支持的偽指令 75
3.3.1 ADR偽指令 75
3.3.2 ADRL偽指令 75
3.3.3 LDR偽指令 76
3.4 匯編語言與C/C++的混合編程 77
3.4.1 內(nèi)聯(lián)匯編 77
3.4.2 嵌入型匯編 79
3.4.3 匯編代碼訪問C全局變量 82
3.4.4 C++中使用C頭文件 82
3.4.5 混合編程調(diào)用舉例 83
本章小結(jié) 87
思考題 87
第4章 嵌入式軟件基礎(chǔ)實(shí)驗(yàn) 88
4.1 Realview MDK簡(jiǎn)介 88
4.2 ULINK2仿真器簡(jiǎn)介 89
4.3 使用Realview MDK創(chuàng)建一個(gè)工程 89
4.3.1 選擇工具集 89
4.3.2 創(chuàng)建工程并選擇處理器 90
4.3.3 建立一個(gè)新的源文件 91
4.3.4 工程中文件的加入 91
4.3.5 工程基本配置 91
4.3.6 工程的編譯鏈接 96
4.4 嵌入式軟件開發(fā)基礎(chǔ)實(shí)驗(yàn) 96
4.4.1 ARM匯編指令實(shí)驗(yàn)一 96
4.4.2 ARM匯編指令實(shí)驗(yàn)二 101
4.4.3 Thumb匯編指令實(shí)驗(yàn) 102
4.4.4 ARM處理器工作模式實(shí)驗(yàn) 103
4.4.5 C語言實(shí)驗(yàn)程序一 106
4.4.6 C語言實(shí)驗(yàn)程序二 108
4.4.7 匯編語言與C語言相互調(diào)用
實(shí)例 111
本章小結(jié) 113
第5章 ARM應(yīng)用系統(tǒng)設(shè)計(jì) 114
5.1 SoC系統(tǒng)概述 114
5.2 S3C2410概述 114
5.3 S3C2410系統(tǒng)功能電路設(shè)計(jì) 115
5.3.1 概述 115
5.3.2 電源電路 117
5.3.3 時(shí)鐘電路 117
5.3.4 復(fù)位電路 118
5.3.5 JTAG接口電路 118
5.3.6 Nor Flash電路 119
5.3.7 Nand Flash電路 121
5.3.8 SDRAM電路 123
5.3.9 串行接口電路 125
5.3.10 以太網(wǎng)接口電路 126
5.3.11 蜂鳴器電路及其PWM電路 126
5.3.12 按鍵電路 126
5.3.13 實(shí)時(shí)時(shí)鐘 126
5.3.14 A/D轉(zhuǎn)換器電路 128
5.3.15 IIS音頻接口電路 128
5.3.16 SD卡接口電路 129
5.3.17 LCD電路 129
5.3.18 USB接口電路 130
5.3.19 印制電路板設(shè)計(jì)的注意事項(xiàng) 130
本章小結(jié) 131
思考題 131
第6章 S3C2410系統(tǒng)接口操作原理及實(shí)驗(yàn) 132
6.1 I/O接口實(shí)驗(yàn) 132
6.1.1 實(shí)驗(yàn)?zāi)康摹?32
6.1.2 實(shí)驗(yàn)設(shè)備 132
6.1.3 實(shí)驗(yàn)內(nèi)容 132
6.1.4 實(shí)驗(yàn)原理 133
6.1.5 實(shí)驗(yàn)操作步驟 134
6.1.6 實(shí)驗(yàn)參考程序 135
6.2 串口通信實(shí)驗(yàn) 136
6.2.1 實(shí)驗(yàn)?zāi)康摹?36
6.2.2 實(shí)驗(yàn)設(shè)備 136
6.2.3 實(shí)驗(yàn)內(nèi)容 136
6.2.4 實(shí)驗(yàn)原理 136
6.2.5 實(shí)驗(yàn)操作步驟 141
6.2.6 實(shí)驗(yàn)參考程序 142
6.3 中斷實(shí)驗(yàn) 142
6.3.1 實(shí)驗(yàn)?zāi)康摹?42
6.3.2 實(shí)驗(yàn)設(shè)備 143
6.3.3 實(shí)驗(yàn)內(nèi)容 143
6.3.4 實(shí)驗(yàn)原理 143
6.3.5 實(shí)驗(yàn)操作步驟 147
6.3.6 實(shí)驗(yàn)參考程序 149
6.4 鍵盤控制實(shí)驗(yàn) 151
6.4.1 實(shí)驗(yàn)?zāi)康摹?51
6.4.2 實(shí)驗(yàn)設(shè)備 151
6.4.3 實(shí)驗(yàn)內(nèi)容 151
6.4.4 實(shí)驗(yàn)原理 151
6.4.5 實(shí)驗(yàn)設(shè)計(jì) 153
6.4.6 實(shí)驗(yàn)操作步驟 154
6.4.7 實(shí)驗(yàn)參考程序 154
6.5 實(shí)時(shí)時(shí)鐘實(shí)驗(yàn) 155
6.5.1 實(shí)驗(yàn)?zāi)康摹?55
6.5.2 實(shí)驗(yàn)設(shè)備 155
6.5.3 實(shí)驗(yàn)內(nèi)容 156
6.5.4 實(shí)驗(yàn)原理 156
6.5.5 實(shí)驗(yàn)設(shè)計(jì) 157
6.5.6 實(shí)驗(yàn)操作步驟 158
6.5.7 實(shí)驗(yàn)參考程序 159
6.6 看門狗實(shí)驗(yàn) 160
6.6.1 實(shí)驗(yàn)?zāi)康摹?60
6.6.2 實(shí)驗(yàn)設(shè)備 160
6.6.3 實(shí)驗(yàn)內(nèi)容 160
6.6.4 實(shí)驗(yàn)原理 161
6.6.5 實(shí)驗(yàn)設(shè)計(jì) 162
6.6.6 實(shí)驗(yàn)操作步驟 163
6.6.7 實(shí)驗(yàn)參考程序 164
6.7 IIC串行通信實(shí)驗(yàn) 165
6.7.1 實(shí)驗(yàn)?zāi)康摹?65
6.7.2 實(shí)驗(yàn)設(shè)備 165
6.7.3 實(shí)驗(yàn)內(nèi)容 165
6.7.4 實(shí)驗(yàn)原理 165
6.7.5 實(shí)驗(yàn)設(shè)計(jì) 170
6.7.6 實(shí)驗(yàn)操作步驟 171
6.7.7 實(shí)驗(yàn)參考程序 171
6.8 A/D轉(zhuǎn)換實(shí)驗(yàn) 173
6.8.1 實(shí)驗(yàn)?zāi)康摹?73
6.8.2 實(shí)驗(yàn)設(shè)備 173
6.8.3 實(shí)驗(yàn)內(nèi)容 173
6.8.4 實(shí)驗(yàn)原理 174
6.8.5 實(shí)驗(yàn)設(shè)計(jì) 176
6.8.6 實(shí)驗(yàn)操作步驟 176
6.8.7 實(shí)驗(yàn)參考程序 177
6.9 Nand Flash讀寫實(shí)驗(yàn) 178
6.9.1 實(shí)驗(yàn)?zāi)康摹?78
6.9.2 實(shí)驗(yàn)設(shè)備 178
6.9.3 實(shí)驗(yàn)內(nèi)容 178
6.9.4 實(shí)驗(yàn)原理 178
6.9.5 實(shí)驗(yàn)設(shè)計(jì) 182
6.9.6 實(shí)驗(yàn)操作步驟 182
6.9.7 實(shí)驗(yàn)參考程序 182
本章小結(jié) 184
第7章 嵌入式操作系統(tǒng)及開發(fā)簡(jiǎn)述 185
7.1 嵌入式Linux簡(jiǎn)介 185
7.2 構(gòu)建嵌入式Linux開發(fā)環(huán)境 185
7.2.1 交叉開發(fā)環(huán)境介紹 186
7.2.2 安裝交叉開發(fā)工具 186
7.2.3 主機(jī)交叉開發(fā)環(huán)境配置 188
7.3 Bootloader 190
7.3.1 Bootloader的種類 191
7.3.2 U-Boot工程簡(jiǎn)介 192
7.3.3 U-Boot編譯 192
7.3.4 U-Boot的移植思路 195
7.3.5 U-Boot的燒寫 196
7.3.6 U-Boot的常用命令 197
7.4 Linux內(nèi)核與移植 202
7.4.1 Linux內(nèi)核結(jié)構(gòu) 203
7.4.2 Linux內(nèi)核配置系統(tǒng) 204
7.4.3 Linux內(nèi)核編譯選項(xiàng) 209
7.5 移植Linux 2.6內(nèi)核到S3C2410平臺(tái)簡(jiǎn)述 213
7.5.1 移植的概念 213
7.5.2 設(shè)備驅(qū)動(dòng)移植 217
7.5.3 Nand Flash移植 218
7.6 嵌入式文件系統(tǒng)構(gòu)建 220
7.6.1 文件系統(tǒng)簡(jiǎn)介 220
7.6.2 嵌入式文件系統(tǒng)的特點(diǎn)和種類 220
7.6.3 文件系統(tǒng)的組成 226
7.6.4 利用BusyBox構(gòu)建文件系統(tǒng) 229
7.6.5 利用NFS調(diào)試新建的文件系統(tǒng) 232
本章小結(jié) 234
思考題 234
第8章 嵌入式Linux實(shí)驗(yàn) 235
8.1 搭建嵌入式Linux開發(fā)環(huán)境 235
8.1.1 實(shí)驗(yàn)?zāi)康摹?35
8.1.2 實(shí)驗(yàn)環(huán)境 235
8.1.3 實(shí)驗(yàn)步驟 236
8.2 移植U-Boot實(shí)驗(yàn) 238
8.2.1 實(shí)驗(yàn)?zāi)康摹?38
8.2.2 實(shí)驗(yàn)環(huán)境 238
8.2.3 實(shí)驗(yàn)步驟 238
8.3 燒寫U-Boot實(shí)驗(yàn) 247
8.3.1 實(shí)驗(yàn)?zāi)康摹?47
8.3.2 實(shí)驗(yàn)環(huán)境 248
8.3.3 實(shí)驗(yàn)步驟 248
8.4 添加U-Boot命令實(shí)驗(yàn) 250
8.4.1 實(shí)驗(yàn)?zāi)康摹?50
8.4.2 實(shí)驗(yàn)環(huán)境 250
8.4.3 實(shí)驗(yàn)步驟 250
8.5 Linux內(nèi)核編譯與下載實(shí)驗(yàn) 250
8.5.1 實(shí)驗(yàn)?zāi)康摹?50
8.5.2 實(shí)驗(yàn)環(huán)境 250
8.5.3 實(shí)驗(yàn)步驟 251
8.6 Linux內(nèi)核移植實(shí)驗(yàn) 252
8.6.1 CS8900A網(wǎng)卡驅(qū)動(dòng)移植 252
8.6.2 Nand Flash驅(qū)動(dòng)移植 254
8.6.3 Yaffs2文件系統(tǒng)移植 256
8.6.4 LCD驅(qū)動(dòng)移植 257
8.6.5 USB驅(qū)動(dòng)移植 258
8.7 文件系統(tǒng)制作實(shí)驗(yàn) 259
8.7.1 實(shí)驗(yàn)?zāi)康摹?59
8.7.2 實(shí)驗(yàn)環(huán)境 259
8.7.3 實(shí)驗(yàn)步驟 259
8.8 編寫Linux內(nèi)核模塊實(shí)驗(yàn) 264
8.8.1 實(shí)驗(yàn)?zāi)康摹?64
8.8.2 實(shí)驗(yàn)環(huán)境 264
8.8.3 實(shí)驗(yàn)步驟 264
8.9 編寫帶參數(shù)的Linux內(nèi)核模塊實(shí)驗(yàn) 265
8.9.1 實(shí)驗(yàn)?zāi)康摹?65
8.9.2 實(shí)驗(yàn)環(huán)境 265
8.9.3 實(shí)驗(yàn)步驟 265
8.10 編寫Linux字符驅(qū)動(dòng)程序之LED實(shí)驗(yàn) 265
8.10.1 實(shí)驗(yàn)?zāi)康摹?65
8.10.2 實(shí)驗(yàn)環(huán)境 266
8.10.3 實(shí)驗(yàn)步驟 266
8.11 編寫Linux字符驅(qū)動(dòng)程序之PWM實(shí)驗(yàn) 269
8.11.1 實(shí)驗(yàn)?zāi)康摹?69
8.11.2 實(shí)驗(yàn)環(huán)境 269
8.11.3 實(shí)驗(yàn)步驟 270
8.12 編寫Linux字符驅(qū)動(dòng)程序之鍵盤掃描實(shí)驗(yàn) 272
8.12.1 實(shí)驗(yàn)?zāi)康摹?72
8.12.2 實(shí)驗(yàn)環(huán)境 273
8.12.3 實(shí)驗(yàn)步驟 273
本章小結(jié) 281
參考文獻(xiàn) 282