第1章嵌入式系統(tǒng)概論1
1.1嵌入式系統(tǒng)簡(jiǎn)介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簡(jiǎn)介16
1.3.3嵌入式Linux簡(jiǎn)介17
1.3.4C/OSⅡ簡(jiǎn)介18
習(xí)題20
第2章ARM體系結(jié)構(gòu)21
2.1ARM9嵌入式微處理器21
2.1.1ARM9的結(jié)構(gòu)特點(diǎn)21
2.1.2ARM9指令集特點(diǎn)24
2.1.3ARM9工作模式26
2.2ARM9存儲(chǔ)器組織結(jié)構(gòu)28
2.2.1大端存儲(chǔ)和小端存儲(chǔ)28
2.2.2I/O端口的訪問(wèn)方式30
2.2.3內(nèi)部寄存器30
2.3ARM9異常35
2.3.1異常的類型及向量地址36
2.3.2異常的優(yōu)先級(jí)38
2.3.3進(jìn)入和退出異常38
2.4S3C2410嵌入式微處理器42
2.4.1S3C2410及片內(nèi)外圍簡(jiǎn)介42
2.4.2S3C2410引腳信號(hào)44
2.4.3S3C2410專用寄存器49
2.4.4ARM920T總線接口單元簡(jiǎn)介55
2.5ARM
Cortex55
2.6GPIO端口57
2.6.1簡(jiǎn)介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指令集簡(jiǎn)介91
3.4ARM編程基礎(chǔ)92
3.4.1ARM程序常用文件格式92
3.4.2ARM預(yù)定義變量93
3.4.3C語(yǔ)言與匯編混合編程93
3.4.4ARM系統(tǒng)引導(dǎo)程序簡(jiǎn)介97
3.5使用RealView MDK設(shè)計(jì)I/O接口應(yīng)用程序99
3.5.1RealView
MDK集成開發(fā)工具及實(shí)驗(yàn)平臺(tái)簡(jiǎn)介99
3.5.2使用RealView MDK設(shè)計(jì)I/O接口程序舉例101
習(xí)題109
第4章時(shí)鐘及電源管理110
4.1S3C2410時(shí)鐘結(jié)構(gòu)110
4.2S3C2410電源管理模式110
4.3相關(guān)特殊功能寄存器115
4.4常用單元電路設(shè)計(jì)119
4.4.1電源電路設(shè)計(jì)119
4.4.2晶振電路設(shè)計(jì)121
4.4.3復(fù)位電路設(shè)計(jì)122
習(xí)題122
第5章存儲(chǔ)器與人機(jī)接口原理123
5.1存儲(chǔ)器概述123
5.1.1SRAM和DRAM124
5.1.2NOR Flash和NAND Flash130
5.2存儲(chǔ)系統(tǒng)機(jī)制134
5.2.1存儲(chǔ)器接口方式135
5.2.2高速緩存機(jī)制(Cache)135
5.2.3存儲(chǔ)管理單元(MMU)137
5.3S3C2410存儲(chǔ)系統(tǒng)139
5.3.1S3C2410存儲(chǔ)空間139
5.3.2S3C2410存儲(chǔ)器接口設(shè)計(jì)142
5.4典型的人機(jī)接口147
5.4.1鍵盤接口147
5.4.2LED顯示器150
5.4.3LCD接口152
5.4.4ADC和觸摸屏接口154
習(xí)題165
第6章中斷與定時(shí)技術(shù)167
6.1中斷概述167
6.1.1中斷向量167
6.1.2中斷優(yōu)先級(jí)168
6.1.3中斷屏蔽169
6.2S3C2410中斷系統(tǒng)170
6.2.1概述170
6.2.2中斷控制寄存器173
6.2.3中斷舉例183
6.3定時(shí)器工作原理186
6.3.1概述186
6.3.2工作原理186
6.4S3C2410定時(shí)器187
6.4.1定時(shí)器及PWM187
6.4.2看門狗定時(shí)器197
6.4.3RTC199
習(xí)題209
第7章DMA技術(shù)210
7.1DMA概述210
7.1.1DMA簡(jiǎn)介210
7.1.2DMA傳輸過(guò)程210
7.2S3C2410
DMA212
7.2.1DMA請(qǐng)求源212
7.2.2DMA模式213
7.2.3DMA操作過(guò)程214
7.2.4DMA時(shí)序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ǔ)知識(shí)225
8.1.1串行數(shù)據(jù)傳送模式225
8.1.2串行通信方式226
8.1.3RS232C串行通信接口228
8.1.4RS422和RS485標(biāo)準(zhǔn)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è)計(jì)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ǔ)知識(shí)268
9.3.2S3C2410以太網(wǎng)接口275
9.3.3socket網(wǎng)絡(luò)編程281
9.3.4嵌入式Web服務(wù)器程序設(shè)計(jì)291
習(xí)題297
第10章ARM Linux程序設(shè)計(jì)基礎(chǔ)298
10.1Linux操作系統(tǒng)298
10.1.1Linux的特點(diǎn)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è)計(jì)323
10.3.1Bootloader引導(dǎo)程序323
10.3.2Linux的移植332
10.3.3驅(qū)動(dòng)程序開發(fā)334
10.3.4應(yīng)用程序開發(fā)336
10.4ARM Linux驅(qū)動(dòng)程序設(shè)計(jì)實(shí)例341
10.4.1S3C2440上LED驅(qū)動(dòng)開發(fā)342
10.4.2S3C2440上ADC驅(qū)動(dòng)開發(fā)350
習(xí)題359
附錄1ARM指令表360
附錄2ARM匯編程序上機(jī)實(shí)驗(yàn)舉例363
實(shí)驗(yàn)一ARM匯編程序的上機(jī)過(guò)程實(shí)驗(yàn)363
實(shí)驗(yàn)二ARM指令尋址方式實(shí)驗(yàn)367
參考文獻(xiàn)371