本書基于ARM9處理器內(nèi)核,以三星S3C2440芯片為藍(lán)本,介紹了嵌入式系統(tǒng)相關(guān)概念、嵌入式微處理器、ARM尋址方式和指令系統(tǒng)、簡單嵌入式應(yīng)用的軟件和硬件設(shè)計(jì)。全書共9章,第1章嵌入式基礎(chǔ)知識,第2章ARM處理器及系統(tǒng)結(jié)構(gòu),第3章ARM尋址方式和指令系統(tǒng),第4章ARM偽指令,第5章ARM編程基礎(chǔ),第6章S3C2440基礎(chǔ)部分及應(yīng)用,第7章S3C2440存儲器部分及應(yīng)用,第8章S3C2440外部設(shè)備部分,第9章基于S3C2440綜合應(yīng)用。
1.面向嵌入式底層開發(fā)
本書重點(diǎn)圍繞嵌入式底層來介紹,如CPU內(nèi)資源、ARM匯編等。
2.高階與低階融合
嵌入式應(yīng)用中關(guān)于硬件的啟動、初始化一般都是用匯編語言來完成,其他內(nèi)容用高級語言編寫(如C語言)。本書中包括大量實(shí)用的匯編語言程序,匯編中調(diào)用C語言中的變量、C語言函數(shù),C語言調(diào)用匯編語言中的函數(shù)等。
3.案例實(shí)用性強(qiáng)
書中所選案例有代表性、實(shí)用性。
4.系統(tǒng)性
本書從系統(tǒng)的角度介紹了嵌入式基本概念、微處理器、尋址方式、指令系統(tǒng)、簡單硬件設(shè)計(jì)、簡單軟件設(shè)計(jì)、簡單的軟硬件綜合應(yīng)用,將一個(gè)復(fù)雜的系統(tǒng)分解為許多子功能來介紹、并給出具體的設(shè)計(jì)與實(shí)現(xiàn)。
何興高,男,碩士、高級工程師,1988年畢業(yè)于電子科學(xué)技術(shù)大學(xué)計(jì)算機(jī)硬件專業(yè),畢業(yè)后一直在電子科技大學(xué)從事科研、教學(xué)、實(shí)驗(yàn)工作。長期承擔(dān)本科生“51單片機(jī)”“ARM微處理器”等嵌入式硬件開發(fā)課程的教學(xué)任務(wù);承擔(dān)研究生“現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)”“逆向工程實(shí)踐”的教學(xué)任務(wù);先后負(fù)責(zé)了多項(xiàng)自動控制項(xiàng)目、廣域網(wǎng)應(yīng)用項(xiàng)目、網(wǎng)絡(luò)安全應(yīng)用項(xiàng)目的研究與開發(fā)工作。獲省科技進(jìn)步二等獎(jiǎng)1次,省科技進(jìn)步三等獎(jiǎng)1次,工程經(jīng)驗(yàn)豐富,熟悉計(jì)算機(jī)軟件和硬件開發(fā)。
第1章 嵌入式基礎(chǔ)知識 1
1.1 嵌入式的相關(guān)概念 1
1.1.1 嵌入式系統(tǒng) 1
1.1.2 嵌入式系統(tǒng)的組成 1
1.1.3 嵌入式系統(tǒng)的分類 4
1.1.4 嵌入式處理器 5
1.1.5 嵌入式計(jì)算機(jī)系統(tǒng)與通用計(jì)算機(jī)系統(tǒng) 6
1.1.6 ISP和IAP概念 6
1.1.7 嵌入式系統(tǒng)的特點(diǎn) 6
1.1.8 嵌入式系統(tǒng)的應(yīng)用 7
1.1.9 微處理器的體系結(jié)構(gòu) 7
1.1.10 RISC與CISC 8
1.2 嵌入式處理器的選擇 9
1.2.1 明確應(yīng)用需求 9
1.2.2 對上市的嵌入式處理器供應(yīng)商
進(jìn)行調(diào)查 9
1.2.3 選擇時(shí)應(yīng)注意的問題 9
1.3 嵌入式系統(tǒng)開發(fā)流程 10
1.3.1 軟件開發(fā)工具 11
1.3.2 硬件開發(fā)工具 13
1.3.3 嵌入式系統(tǒng)的調(diào)試 13
1.4 常用嵌入式操作系統(tǒng) 14
1.4.1 μC/OS-II 15
1.4.2 嵌入式Linux 16
1.4.3 Windows Embeded 16
1.4.4 VxWorks 18
1.4.5 Android 18
1.4.6 iOS 19
思考題 19
第2章 ARM處理器及系統(tǒng)結(jié)構(gòu) 20
2.1 ARM公司簡介 20
2.2 ARM處理器版本系列 22
2.2.1 ARM處理器簡介 22
2.2.2 ARM9系列 22
2.2.3 ARM版本系列及產(chǎn)品介紹 23
2.3 ARM9系列處理器內(nèi)核 23
2.3.1 ARM9系列處理器內(nèi)核簡介 23
2.3.2 ARM處理器的工作模式 26
2.3.3 ARM的寄存器組織 27
2.3.4 ARM存儲系統(tǒng)的組織 31
2.4 ARM處理器的中斷(異常) 32
2.4.1 中斷和異常的基本概念 32
2.4.2 中斷的處理過程 36
2.4.3 ARM的中斷(異常)向量表 36
2.4.4 ARM中斷(異常)的管理 37
2.4.5 ARM中斷(異常)運(yùn)行
模式 39
思考題 43
第3章 ARM尋址方式和指令
系統(tǒng) 44
3.1 ARM尋址方式 44
3.1.1 基本概念 44
3.1.2 尋址方式 45
3.2 ARM指令系統(tǒng) 47
3.2.1 相關(guān)概念 47
3.2.2 指令系統(tǒng) 48
3.2.3 指令集 52
思考題 71
第4章 ARM偽指令 72
4.1 偽指令 72
4.2 ARM中的宏和宏指令 72
4.2.1 什么是宏 72
4.2.2 ARM中的宏和宏指令及其
用法 73
4.3 ARM匯編器所支持的偽指令 77
4.3.1 變量定義或賦值偽指令 77
4.3.2 定義寄存器列表偽指令 78
4.3.3 數(shù)據(jù)定義偽指令 79
4.3.4 控制程序流向偽指令 82
4.3.5 其他偽指令 83
4.4 匯編語言編程規(guī)范 88
思考題 94
第5章 ARM編程基礎(chǔ) 95
5.1 程序設(shè)計(jì)的基本概念 95
5.2 ARM工程 96
5.3 ARM程序框架 98
5.4 ARM匯編語言程序設(shè)計(jì) 99
5.4.1 段 99
5.4.2 IF分支程序設(shè)計(jì) 100
5.4.3 SWITCH分支程序設(shè)計(jì) 103
5.4.4 帶ARM/Thumb狀態(tài)切換的分支程序設(shè)計(jì) 104
5.4.5 循環(huán)程序設(shè)計(jì) 105
5.4.6 子程序及其調(diào)用 106
5.4.7 C語言程序與匯編語言程序之間的函數(shù)調(diào)用 108
5.5 排序程序設(shè)計(jì) 115
5.5.1 排序的概念 115
5.5.2 濾波的概念及種類 116
5.5.3 中值濾波及程序設(shè)計(jì) 116
5.5.4 均值濾波及程序設(shè)計(jì) 118
5.6 數(shù)制轉(zhuǎn)換及程序設(shè)計(jì) 120
5.6.1 數(shù)制轉(zhuǎn)換 120
5.6.2 程序設(shè)計(jì) 122
5.7 編碼轉(zhuǎn)換及程序設(shè)計(jì) 124
5.7.1 編碼轉(zhuǎn)換 124
5.7.2 BCD碼轉(zhuǎn)換為LED碼程序
設(shè)計(jì) 125
思考題 128
第6章 S3C2440A微處理器基礎(chǔ)及應(yīng)用 129
6.1 S3C2440A微處理器概述 129
6.2 電源子系統(tǒng) 132
6.2.1 S3C2440A微處理器電源引腳
介紹 132
6.2.2 S3C2440A微處理器電源子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 133
6.3 復(fù)位子系統(tǒng) 138
6.3.1 復(fù)位的概念及作用 138
6.3.2 S3C2440A微處理器復(fù)位引腳
介紹 139
6.3.3 S3C2440A微處理器復(fù)位電路的設(shè)計(jì)與實(shí)現(xiàn) 139
6.4 時(shí)鐘和功率管理子系統(tǒng) 142
6.4.1 S3C2440A微處理器時(shí)鐘和功率管理引腳介紹 143
6.4.2 時(shí)鐘源選擇電路 143
6.4.3 時(shí)鐘發(fā)生器 144
6.4.4 時(shí)鐘發(fā)生器和功率模塊特殊
寄存器 150
6.4.5 S3C2440A微處理器時(shí)鐘電路的設(shè)計(jì)與實(shí)現(xiàn) 153
6.5 I/O端口 154
6.5.1 GPA端口控制描述 154
6.5.2 GPB端口控制描述 156
6.5.3 GPC端口控制描述 157
6.5.4 GPD端口控制描述 159
6.5.5 GPE端口控制描述 161
6.5.6 GPF端口控制描述 162
6.5.7 GPG端口控制描述 164
6.5.8 GPH端口控制描述 166
6.5.9 GPJ端口控制描述 167
6.5.10 上拉電阻/下拉電阻 168
6.6 簡單應(yīng)用實(shí)例 170
思考題 171
第7章 S3C2440A微處理器存儲器部分及應(yīng)用 172
7.1 存儲器控制器及應(yīng)用 172
7.1.1 概述 172
7.1.2 存儲器類型 174
7.1.3 存儲器控制器簡介 177
7.1.4 存儲器控制器功能描述 180
7.1.5 S3C2440A微處理器存儲器控制器寄存器 187
7.1.6 存儲器擴(kuò)展實(shí)例及編程應(yīng)用 192
7.2 NAND Flash控制器及應(yīng)用 197
7.2.1 NAND Flash控制器的特性 197
7.2.2 NAND Flash配置寄存器 202
7.2.3 NAND Flash控制寄存器 203
7.2.4 NAND Flash命令寄存器 205
7.2.5 NAND Flash地址寄存器 205
7.2.6 NAND Flash數(shù)據(jù)寄存器 205
7.2.7 NAND Flash狀態(tài)寄存器 206
7.2.8 K9F2G08U0C NAND Flash
存儲器 206
7.2.9 K9F2G08U0C NAND Flash
存儲器應(yīng)用 212
思考題 218
第8章 S3C2440A微處理器外圍
電路部分 219
8.1 DMA 219
8.1.1 DMA簡介 219
8.1.2 DMA工作原理 219
8.1.3 DMA特殊功能寄存器 221
8.2 中斷控制器 228
8.2.1 中斷控制器的操作 228
8.2.2 中斷優(yōu)先級 229
8.2.3 中斷控制器的特殊功能
寄存器 230
8.3 PWM定時(shí)器 239
8.3.1 PWM概念 239
8.3.2 PWM定時(shí)器結(jié)構(gòu)與功能 240
8.3.3 PWM定時(shí)器操作 241
8.3.4 PWM定時(shí)器的特殊功能
寄存器 245
8.4 UART端口 251
8.4.1 UART端口概述 251
8.4.2 UART端口的操作 252
8.4.3 UART特殊功能寄存器 256
8.4.4 對外引腳 264
思考題 264
第9章 基于S3C2440A微處理器
的綜合應(yīng)用 265
9.1 S3C2440A微處理器引導(dǎo) 265
9.2 輸入/輸出設(shè)備 275
9.2.1 基本概念 275
9.2.2 鍵盤 275
9.2.3 數(shù)碼顯示器 278
9.3 綜合應(yīng)用實(shí)例 280
9.3.1 流水燈控制系統(tǒng)的設(shè)計(jì)與
實(shí)現(xiàn) 280
9.3.2 模擬打乒乓球系統(tǒng)的設(shè)計(jì)與
實(shí)現(xiàn) 282
參考文獻(xiàn) 288