第1章嵌入式系統(tǒng)概論1
1.1嵌入式系統(tǒng)簡介1
1.1.1嵌入式系統(tǒng)的定義1
1.1.2嵌入式系統(tǒng)的組成2
1.1.3嵌入式系統(tǒng)的應(yīng)用與發(fā)展5
1.2嵌入式微處理器7
1.2.1嵌入式微處理器分類7
1.2.2ARM嵌入式微處理器10
1.2.3嵌入式微處理器選型14
1.3嵌入式操作系統(tǒng)15
1.3.1概況15
1.3.2Windows
CE簡介16
1.3.3嵌入式Linux簡介17
1.3.4C/OSⅡ簡介18
習(xí)題20
第2章ARM體系結(jié)構(gòu)21
2.1ARM9嵌入式微處理器21
2.1.1ARM9的結(jié)構(gòu)特點21
2.1.2ARM9指令集特點24
2.1.3ARM9工作模式26
2.2ARM9存儲器組織結(jié)構(gòu)28
2.2.1大端存儲和小端存儲28
2.2.2I/O端口的訪問方式30
2.2.3內(nèi)部寄存器30
2.3ARM9異常35
2.3.1異常的類型及向量地址36
2.3.2異常的優(yōu)先級38
2.3.3進入和退出異常38
2.4S3C2410嵌入式微處理器42
2.4.1S3C2410及片內(nèi)外圍簡介42
2.4.2S3C2410引腳信號44
2.4.3S3C2410專用寄存器49
2.4.4ARM920T總線接口單元簡介55
2.5ARM
Cortex55
2.6GPIO端口57
2.6.1簡介57
2.6.2GPIO端口操作舉例58
習(xí)題60
第3章ARM指令系統(tǒng)61
3.1ARM指令集61
3.1.1ARM指令分類及格式61
3.1.2ARM指令尋址方式63
3.1.3常用ARM指令69
3.2ARM匯編偽指令與偽操作84
3.2.1常用ARM匯編偽指令84
3.2.2常用ARM匯編偽操作86
3.3Thumb和Thumb2指令集簡介91
3.4ARM編程基礎(chǔ)92
3.4.1ARM程序常用文件格式92
3.4.2ARM預(yù)定義變量93
3.4.3C語言與匯編混合編程93
3.4.4ARM系統(tǒng)引導(dǎo)程序簡介97
3.5使用RealView MDK設(shè)計I/O接口應(yīng)用程序99
3.5.1RealView
MDK集成開發(fā)工具及實驗平臺簡介99
3.5.2使用RealView MDK設(shè)計I/O接口程序舉例101
習(xí)題109
第4章時鐘及電源管理110
4.1S3C2410時鐘結(jié)構(gòu)110
4.2S3C2410電源管理模式110
4.3相關(guān)特殊功能寄存器115
4.4常用單元電路設(shè)計119
4.4.1電源電路設(shè)計119
4.4.2晶振電路設(shè)計121
4.4.3復(fù)位電路設(shè)計122
習(xí)題122
第5章存儲器與人機接口原理123
5.1存儲器概述123
5.1.1SRAM和DRAM124
5.1.2NOR Flash和NAND Flash130
5.2存儲系統(tǒng)機制134
5.2.1存儲器接口方式135
5.2.2高速緩存機制(Cache)135
5.2.3存儲管理單元(MMU)137
5.3S3C2410存儲系統(tǒng)139
5.3.1S3C2410存儲空間139
5.3.2S3C2410存儲器接口設(shè)計142
5.4典型的人機接口147
5.4.1鍵盤接口147
5.4.2LED顯示器150
5.4.3LCD接口152
5.4.4ADC和觸摸屏接口154
習(xí)題165
第6章中斷與定時技術(shù)167
6.1中斷概述167
6.1.1中斷向量167
6.1.2中斷優(yōu)先級168
6.1.3中斷屏蔽169
6.2S3C2410中斷系統(tǒng)170
6.2.1概述170
6.2.2中斷控制寄存器173
6.2.3中斷舉例183
6.3定時器工作原理186
6.3.1概述186
6.3.2工作原理186
6.4S3C2410定時器187
6.4.1定時器及PWM187
6.4.2看門狗定時器197
6.4.3RTC199
習(xí)題209
第7章DMA技術(shù)210
7.1DMA概述210
7.1.1DMA簡介210
7.1.2DMA傳輸過程210
7.2S3C2410
DMA212
7.2.1DMA請求源212
7.2.2DMA模式213
7.2.3DMA操作過程214
7.2.4DMA時序215
7.3S3C2410 DMA寄存器217
7.3.1傳輸控制寄存器217
7.3.2狀態(tài)寄存器221
7.4DMA操作編程222
7.4.1DMA操作初始化222
7.4.2DMA操作編程舉例222
習(xí)題224
第8章串行通信接口225
8.1串行通信基礎(chǔ)知識225
8.1.1串行數(shù)據(jù)傳送模式225
8.1.2串行通信方式226
8.1.3RS232C串行通信接口228
8.1.4RS422和RS485標準230
8.2S3C2410串行接口230
8.2.1S3C2410
UART結(jié)構(gòu)231
8.2.2S3C2410
UART工作原理232
8.2.3S3C2410
UART專用寄存器234
8.3串行通信舉例241
8.3.1RS232C接口設(shè)計241
8.3.2串口初始化242
8.3.3發(fā)送/接收程序舉例243
8.4IIS串行數(shù)字音頻接口245
8.4.1IIS接口總線格式249
8.4.2IIS接口應(yīng)用舉例250
習(xí)題253
第9章網(wǎng)絡(luò)接口254
9.1網(wǎng)絡(luò)接口技術(shù)概述254
9.1.1分布嵌入式系統(tǒng)結(jié)構(gòu)254
9.1.2分布嵌入式網(wǎng)絡(luò)通信方式256
9.2IIC接口257
9.2.1IIC總線257
9.2.2S3C2410
IIC接口261
9.3以太網(wǎng)接口268
9.3.1嵌入式以太網(wǎng)基礎(chǔ)知識268
9.3.2S3C2410以太網(wǎng)接口275
9.3.3socket網(wǎng)絡(luò)編程281
9.3.4嵌入式Web服務(wù)器程序設(shè)計291
習(xí)題297
第10章ARM Linux程序設(shè)計基礎(chǔ)298
10.1Linux操作系統(tǒng)298
10.1.1Linux的特點298
10.1.2Linux內(nèi)核的結(jié)構(gòu)299
10.1.3Linux設(shè)備管理307
10.2Linux操作系統(tǒng)安裝與使用313
10.2.1環(huán)境搭建313
10.2.2Linux的使用316
10.3Linux程序設(shè)計323
10.3.1Bootloader引導(dǎo)程序323
10.3.2Linux的移植332
10.3.3驅(qū)動程序開發(fā)334
10.3.4應(yīng)用程序開發(fā)336
10.4ARM Linux驅(qū)動程序設(shè)計實例341
10.4.1S3C2440上LED驅(qū)動開發(fā)342
10.4.2S3C2440上ADC驅(qū)動開發(fā)350
習(xí)題359
附錄1ARM指令表360
附錄2ARM匯編程序上機實驗舉例363
實驗一ARM匯編程序的上機過程實驗363
實驗二ARM指令尋址方式實驗367
參考文獻371