《ARM嵌入式常用模組與綜合系統設計實例精講》針對目前通用流行的ARM嵌入式處理器,通過實例精講的形式,詳細介紹了ARM嵌入式常用模組與綜合套用系統設計的方法及技巧。《ARM嵌入式常用模組與綜合系統設計實例精講》配有一張光碟,包含了全書所有實例的硬體原理圖和程式原始碼,方便讀者學習和使用。《ARM嵌入式常用模組與綜合系統設計實例精講》適合廣大計算機、自動化、電子及硬體等相關專業的大學生,以及從事ARM開發的科研人員使用。
基本介紹
介紹,版權資訊,內容簡介,作者簡介,目錄,
介紹
版權資訊
ISBN: 9787121070358開本: 16
定價: 59.00 元
內容簡介
《ARM嵌入式常用模組與綜合系統設計實例精講》是暢銷書《ARM嵌入式常用模組與綜合系統設計實例精講》的第2版。全書針對目前通用流行的ARM嵌入式處理器,通過實例精講的形式,詳細介紹了ARM嵌入式常用模組與綜合套用系統設計的方法及技巧。全書共分3篇33章,第一篇為基礎知識篇,簡要介紹了ARM處理器及系統結構、ARM編程基礎、ARM開發環境及調試系統;第二篇為常用模組設計實例篇,通過23個模組設計實例,詳細介紹了ARM嵌入式的各種開發技術和使用技巧,這些模組實例基礎、實用,易學易懂,全部調試通過,幾乎涵蓋了所有的ARM開發技術;第三篇為綜合套用系統設計實例篇,通過6個綜合系統實例,對前面的ARM常用模組進行了綜合套用設計,經過此篇學習,讀者將快速提高ARM綜合系統設計的能力,步入高級工程師的行列。
《ARM嵌入式常用模組與綜合系統設計實例精講》配有一張光碟,包含了全書所有實例的硬體原理圖和程式原始碼,方便讀者學習和使用。《ARM嵌入式常用模組與綜合系統設計實例精講》適合廣大計算機、自動化、電子及硬體等相關專業的大學生,以及從事ARM開發的科研人員使用。
作者簡介
張綺文,男,高級研發工程師,碩士學歷,具有20年工作經驗,長期從事ARM、Linux的嵌入式系統開發。現在為公司電子設備質量監督主管。
其主要負責開發並投入商業套用的項目有:
ARM指紋脫機模組、VidioCapture、指紋門鎖、寄包櫃、指紋滑鼠、保險箱、電子監管網等。
座右銘:求知若飢,虛心若愚。
目錄
第一篇基礎知識篇
第1章ARM處理器及系統結構2
1.1ARM處理器概述2
1.1.1ARM公司簡介2
1.1.2ARM特點3
1.1.3ARM套用領域3
1.2ARM處理器系列5
1.3ARM核心基本結構9
1.3.1ARM核心9
1.3.2ARM擴展功能塊10
1.3.3ARM啟動方式13
1.4ARM處理器運行模式14
1.5ARM暫存器14
1.5.1通用暫存器14
1.5.2程式狀態暫存器16
1.5.3ARM狀態下的暫存器18
1.5.4Thumb狀態下的暫存器19
1.6ARM存儲系統20
1.6.1ARM存儲方法20
1.6.2存儲空間管理單元(MMU)21
1.7ARM流水線與時序23
1.7.1ARM流水線23
1.7.2ARM時序23
1.8ARM中斷與異常24
1.8.1ARM異常類型25
1.8.2異常的回響及返回25
1.8.3異常的描述26
1.8.4異常的處理28
第2章ARM編程基礎29
2.1ARM指令系統29
2.1.1ARM指令介紹29
2.1.2ARM指令定址方式31
2.1.3ARM指令集34
2.2ARM彙編語言設計46
2.2.1ARM彙編器所支持的偽指令46
2.2.2彙編語言的語句格式53
2.2.3彙編語言的程式結構57
2.3ARMC語言設計58
2.3.1最佳化C語言編程58
2.3.2C語言與彙編混合編程64
2.3.3ARMC/C++編譯器69
第3章ARM開發環境與調試系統76
3.1ADS開發環境76
3.1.1CodeWarrior的使用76
3.1.2AXD的使用83
3.2SDT開發環境86
3.2.1SDT開發環境及特點86
3.2.2SDT調試環境86
3.2.3利用SDT軟體編程實例87
3.3ARM體系中調試系統概述90
3.4用仿真器調試系統92
3.4.1初始化存儲器92
3.4.2線上仿真92
3.4.3常見問題94
3.5基於Angel的調試系統95
3.5.1基於Angel的調試系統概述95
3.5.2使用Angel開發應用程式98
3.5.3Angel執行的操作103
3.5.4將Angel移植到特定的
3.5.4目標系統105
3.6基於JTAG的調試系統122
3.6.1調試接口JTAG介紹122
3.6.2基於JTAG的調試系統的
3.6.2特點125
3.6.3基於JTAG的調試系統
3.6.3結構126
3.6.4目標系統中的調試功能擴展
3.6.2部件127
3.6.5基於JTAG的調試過程128
第二篇常用模組設計實例篇
第4章ARM嵌入式開發平台的
第4章構建130
4.1實例說明130
4.2ARM系統體系結構130
4.2.1硬體體系結構131
4.2.2軟體體系結構133
4.3硬體平台實現方法134
4.3.1硬體電路板設計134
4.3.2ARM硬體設計原則136
4.4軟體開發方法137
4.4.1軟體開發流程137
4.4.2軟體開發環境構建138
4.5實例總結139
第5章DMA模組套用設計140
5.1實例內容和目標140
5.2DMA數據傳輸原理140
5.2.1DMA操作原理141
5.2.2外部DMA請求/應答協定142
5.2.3DMA傳送方式143
5.2.4DMA的暫存器介紹144
5.3軟體設計145
5.4實例總結148
第6章RTC模組套用設計149
6.1實例內容和目標149
6.2RTC工作原理149
6.2.1RTC的特性149
6.2.2RTC相關暫存器150
6.3硬體設計153
6.4軟體設計153
6.4.1RTC初始化154
6.4.2RTC顯示控制程式154
6.5實例總結156
第7章PWM模組套用設計157
7.1實例內容和目標157
7.2PWM工作原理158
7.2.1PWM的特性158
7.2.2PWM的工作原理158
7.2.3PWM的定時操作159
7.2.4PWM的特殊暫存器160
7.3實例軟體設計163
7.3.1PWM啟動163
7.3.2調製PWM164
7.3.3程式代碼164
7.4實例總結165
第8章看門狗定時器模組設計166
8.1實例說明166
8.2看門狗工作原理166
8.2.1看門狗定時器操作166
8.2.2看門狗定時器特殊功能
8.2.2暫存器167
8.3實例軟體設計168
8.4實例總結169
第9章中斷處理模組設計170
9.1實例說明170
9.2中斷處理與暫存器設定171
9.2.1ARM中斷處理類型171
9.2.2ARM中斷及相關暫存器172
9.3中斷硬體模組圖173
9.4軟體程式設計174
9.4.1中斷處理流程174
9.4.2中斷程式設計174
9.4.3中斷處理程式最佳化175
9.5實例總結176
第10章復位模組設計177
10.1實例說明177
10.2ARM復位原理177
10.2.1ARM復位源類型177
10.2.2復位工作原理178
10.3硬體電路設計179
10.3.1復位電路原理圖179
10.3.2復位電路的調試180
10.4看門狗軟體復位181
10.5實例總結183
第11章A/D變換模組設計184
11.1實例說明184
11.2A/D變換原理185
11.2.1A/D變換類型185
11.2.2A/D轉換過程187
11.3硬體電路設計188
11.3.1A/D模組188
11.3.2D/A模組189
11.4A/D採樣軟體設計190
11.5實例總結192
第12章電源模組設計193
12.1實例說明193
12.2電源工作原理193
12.2.1系統工作狀態193
12.2.2外設耗電考慮194
12.3電源線與地線設計196
12.4硬體電路設計198
12.4.1直流電壓產生方法198
12.4.2電源模組電路原理圖198
12.5電源的軟體管理200
12.6實例總結201
第13章SDRAM模組設計202
13.1實例說明202
13.2SDRAM特點202
13.2.1SDRAM狀態202
13.2.2SDRAM控制203
13.2.3SDRAM時序特點204
13.2.4地址空間分配205
13.3硬體電路設計206
13.3.1SDRAM晶片206
13.3.2SDRAM模組原理圖207
13.4軟體設計208
13.4.1SDRAM讀寫208
13.4.2SDRAM軟體測試209
13.5實例總結216
第14章Nand-Flash/Nor-Flash
第14章存儲模組設計217
14.1實例說明217
14.2Flash原理218
14.2.1Nand-Flash與Nor-Flash
14.3.3區別218
14.2.2Flash驅動220
14.3硬體電路設計220
14.3.1Nor-Flash的設計220
14.3.2Nand-Flash的設計..222
14.3.3Nor-Flash/Nand-Flash
14.3.3跳線選擇223
14.4軟體設計224
14.4.1Flash數據存儲操作流程224
14.4.2程式代碼說明224
14.5實例總結228
第15章通用I/O模組設計229
15.1實例說明229
15.2GPIO原理229
15.2.1GPIO設備驅動原理229
15.2.2如何驅動GPIO及對應
14.3.3設備231
15.3GPIO套用舉例231
15.4GPIO設備程式開發232
15.4.1開發步驟232
15.4.2GPIO連線埠編程233
15.5實例總結234
第16章鍵盤模組設計235
16.1實例說明235
16.2鍵盤工作原理235
16.2.1常用鍵盤接口235
16.2.2行列式鍵盤工作原理236
16.2.3鍵盤掃描流程237
16.3硬體電路設計237
16.3.1ARM鍵盤接口237
16.3.2鍵盤電路原理圖237
16.4軟體設計238
16.4.1鍵盤掃描程式238
16.4.2鍵盤測試程式242
16.4.3鍵盤驅動243
16.5實例總結244
第17章LCD模組設計245
17.1實例說明245
17.2LCD工作原理246
17.2.1LCD顯示模式246
17.2.2LCD顯示地址247
17.2.3LCD讀寫時序247
17.3硬體電路設計249
17.3.1LCD顯示電路249
17.3.2電路原理圖250
17.4軟體設計251
17.4.1LCD顯示定位.結構與
14.3.3驅動251
17.4.2LCD顯示流程253
17.4.3LCD顯示與測試253
17.4.4LCD字模顯示程式257
17.5實例總結259
第18章USB設備模組設計260
18.1實例說明260
18.2設計思路分析260
18.2.1USB工作原理260
18.2.2USB特點262
18.2.3USB傳輸方式263
18.3硬體電路設計263
18.3.1USB接口內部結構263
18.3.2連線埠描述265
18.3.3USB硬體原理圖266
18.4軟體設計267
18.4.1固件程式的設計268
18.4.2驅動程式設計268
18.5實例總結271
第19章乙太網控制器模組設計272
19.1實例說明272
19.2乙太網口工作原理273
19.3硬體電路設計274
19.3.1電路原理圖274
19.3.2網卡晶片調試275
19.4軟體設計276
19.4.1乙太網口存儲及初始化276
19.4.2傳送數據包277
19.4.3接收數據包278
19.4.4程式代碼279
19.5實例總結286
第20章I2C匯流排串列接口套用
第20章設計287
20.1實例說明287
20.2I2C設計原理287
20.2.1I2C主從模式287
20.2.2I2C工作原理288
20.3I2C硬體電路設計289
20.3.1I2C串口存儲器289
20.3.2電路原理圖290
20.4軟體設計290
20.4.1I2C讀寫過程設計290
20.4.2程式代碼說明292
20.5實例總結300
第21章UART異步串列接口模組
第21章設計301
21.1實例說明301
21.2串列通信原理301
21.2.1異步串列通信301
21.2.2同步串列通信302
21.2.3RS-232-C接口302
21.3硬體電路設計304
21.4軟體設計305
21.4.1串口中斷程式305
21.4.2串口調試程式代碼306
21.5實例總結308
第22章ARP網路定址模組設計309
22.1實例說明309
22.2ARP設計310
22.2.1ARP協定工作原理310
22.2.2硬體ARP實現311
22.3軟體設計311
22.3.1ARP實現流程311
22.3.2ARP程式設計313
22.4實例總結317
第23章Boot-loader模組設計318
23.1實例說明318
23.2設計思路分析319
23.2.1Boot-loader原理320
23.2.2Boot-loader的stage1322
23.2.3Boot-loader的stage2323
23.3實現方法326
23.3.1Boot-loader的設定326
23.3.2Boot-loader程式設計327
23.3.3Boot-loader程式燒寫330
23.4實例總結331
第24章基於Nand-Flash的檔案
第24章系統設計332
24.1實例說明332
24.2根檔案系統原理332
24.2.1Linux源檔案的組織結構332
24.2.2檔案系統指標334
24.2.3檔案系統分類334
24.3根檔案創建過程336
24.3.1配置NFS336
24.3.2創建根檔案系統336
24.3.3檔案系統的頁面管理340
24.4實例總結342
第25章GUI系統的移植與套用
第25章設計343
25.1實例說明343
25.2GUI系統原理343
25.2.1常用的GUI系統343
25.2.2GUI設計要求346
25.3不同GUI平台的移植配置347
25.3.1MicroWindows的移植配置347
25.3.2MiniGUI的移植配置348
25.3.3Qt/Embedded的移植配置348
25.4GUI圖形顯示的實現349
25.4.1GUI系統的移植過程349
25.4.2基於Frame-buffer的GUI
25.4.2圖形顯示350
25.5實例總結352
第26章ARMLinux的移植與套用
第26章設計353
26.1實例說明353
26.2Linux系統移植原理354
26.2.1系統移植類型354
26.2.2系統移植的啟動階段354
26.3ARMLinux的移植過程355
26.3.1建立Linux交叉編譯環境355
26.3.2剪裁和配置ARMLinux
25.4.2核心357
26.3.3引導核心啟動流程362
26.3.4編寫嵌入式Linux的設備
25.4.2驅動程式364
26.4實例總結367
第27章?C/OS-Ⅱ移植與套用設計368
27.1?C/OS-Ⅱ實例內容368
27.2?C/OS-Ⅱ概述368
27.2.1?C/OS-II簡介368
27.2.2?C/OS-II的特點369
27.3?C/OS-Ⅱ移植371
27.3.1?C/OS-II檔案體系結構371
27.3.2?C/OS-II移植條件371
27.3.3?C/OS-II在S3C44B0X
25.4.2上的移植372
27.4?C/OS-Ⅱ實例軟體設計373
27.5實例總結375
第三篇綜合套用系統設計實例篇
第28章餐廳手持電子點菜系統
第28章設計378
28.1實例說明378
28.2設計思路分析378
28.2.1系統工作原理378
28.2.2系統功能模組379
28.3系統硬體設計379
28.4系統軟體設計380
28.4.1系統初始化程式代碼380
28.4.2主程式部分385
28.5實例總結390
第29章UDP數據報與TCP傳輸
第29章套用系統設計391
29.1實例說明391
29.2UDP與TCP數據傳輸原理391
29.2.1UDP工作原理391
29.2.2TCP工作原理392
29.3層間接口設計393
29.4軟體設計396
29.4.1UDP數據報傳輸396
29.4.2TCP數據傳輸的實現401
29.5實例總結409
第30章音頻編解碼套用系統設計410
30.1實例說明410
30.2音頻編解碼原理411
30.2.1音頻編解碼框圖411
30.2.2音頻編碼過程412
30.2.3IIS音頻匯流排414
30.2.4IIS音頻時鐘與傳輸方式415
30.3硬體電路設計416
30.3.1音頻A/D單元416
30.3.2與ARM音頻接口417
30.4軟體設計417
30.5實例總結421
第31章數字視頻監控套用系統
第31章設計422
31.1實例說明422
31.2設計思路分析422
31.2.1監控系統實現方案422
31.2.2監控系統套用舉例424
31.3硬體電路設計425
31.3.1ARM視頻監控平台425
31.3.2VGA接口與權電阻網路426
31.3.3CMOS圖像採集模組427
31.4軟體設計429
31.4.1監控主程式流程429
31.4.2程式代碼說明430
31.5實例總結447
第32章指紋識別套用系統設計448
32.1實例說明448
32.2指紋識別448
32.2.1基本概念449
32.2.2指紋識別的基本原理449
32.2.3指紋識別的方法450
32.3硬體電路設計454
32.3.1指紋硬體電路454
32.3.2電路原理圖455
32.4軟體設計456
32.4.1指紋識別驅動456
32.4.2指紋處理程式設計456
32.5實例總結464
第33章車載信息系統設計466
33.1實例說明466
33.2設計思路分析467
33.2.1車載系統的結構467
33.2.2車載系統的基本原理468
33.2.3車載系統開發平台468
33.2.4系統軟體體系結構469
33.3硬體電路設計469
33.3.1硬體電路470
33.3.2硬體模組說明470
33.4軟體設計472
33.4.1相關驅動說明473
33.4.2模組程式設計474
33.4.3整體設計476
33.4.4部分源程式476
33.5實例總結485
……