第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)的應用與發(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
習題20
第2章ARM體系結構21
2.1ARM9嵌入式微處理器21
2.1.1ARM9的結構特點21
2.1.2ARM9指令集特點24
2.1.3ARM9工作模式26
2.2ARM9存儲器組織結構28
2.2.1大端存儲和小端存儲28
2.2.2I/O端口的訪問方式30
2.2.3內部寄存器30
2.3ARM9異常35
2.3.1異常的類型及向量地址36
2.3.2異常的優(yōu)先級38
2.3.3進入和退出異常38
2.4S3C2410嵌入式微處理器42
2.4.1S3C2410及片內外圍簡介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
習題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編程基礎92
3.4.1ARM程序常用文件格式92
3.4.2ARM預定義變量93
3.4.3C語言與匯編混合編程93
3.4.4ARM系統(tǒng)引導程序簡介97
3.5使用RealView MDK設計I/O接口應用程序99
3.5.1RealView
MDK集成開發(fā)工具及實驗平臺簡介99
3.5.2使用RealView MDK設計I/O接口程序舉例101
習題109
第4章時鐘及電源管理110
4.1S3C2410時鐘結構110
4.2S3C2410電源管理模式110
4.3相關特殊功能寄存器115
4.4常用單元電路設計119
4.4.1電源電路設計119
4.4.2晶振電路設計121
4.4.3復位電路設計122
習題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存儲器接口設計142
5.4典型的人機接口147
5.4.1鍵盤接口147
5.4.2LED顯示器150
5.4.3LCD接口152
5.4.4ADC和觸摸屏接口154
習題165
第6章中斷與定時技術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
習題209
第7章DMA技術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
習題224
第8章串行通信接口225
8.1串行通信基礎知識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結構231
8.2.2S3C2410
UART工作原理232
8.2.3S3C2410
UART專用寄存器234
8.3串行通信舉例241
8.3.1RS232C接口設計241
8.3.2串口初始化242
8.3.3發(fā)送/接收程序舉例243
8.4IIS串行數(shù)字音頻接口245
8.4.1IIS接口總線格式249
8.4.2IIS接口應用舉例250
習題253
第9章網(wǎng)絡接口254
9.1網(wǎng)絡接口技術概述254
9.1.1分布嵌入式系統(tǒng)結構254
9.1.2分布嵌入式網(wǎng)絡通信方式256
9.2IIC接口257
9.2.1IIC總線257
9.2.2S3C2410
IIC接口261
9.3以太網(wǎng)接口268
9.3.1嵌入式以太網(wǎng)基礎知識268
9.3.2S3C2410以太網(wǎng)接口275
9.3.3socket網(wǎng)絡編程281
9.3.4嵌入式Web服務器程序設計291
習題297
第10章ARM Linux程序設計基礎298
10.1Linux操作系統(tǒng)298
10.1.1Linux的特點298
10.1.2Linux內核的結構299
10.1.3Linux設備管理307
10.2Linux操作系統(tǒng)安裝與使用313
10.2.1環(huán)境搭建313
10.2.2Linux的使用316
10.3Linux程序設計323
10.3.1Bootloader引導程序323
10.3.2Linux的移植332
10.3.3驅動程序開發(fā)334
10.3.4應用程序開發(fā)336
10.4ARM Linux驅動程序設計實例341
10.4.1S3C2440上LED驅動開發(fā)342
10.4.2S3C2440上ADC驅動開發(fā)350
習題359
附錄1ARM指令表360
附錄2ARM匯編程序上機實驗舉例363
實驗一ARM匯編程序的上機過程實驗363
實驗二ARM指令尋址方式實驗367
參考文獻371