第1章 ARM微處理器概述 1
1.1 ARM簡介 1
1.2 ARM微處理器的應用領域及特點 2
1.2.1 ARM微處理器的應用領域 2
1.2.2 ARM微處理器的特點 2
1.3 ARM微處理器係列 2
1.3.1 ARM7微處理器係列 3
1.3.2 ARM9微處理器係列 4
1.3.3 ARM9E微處理器係列 4
1.3.4 ARM10E微處理器係列 5
1.3.5 SecurCore微處理器係列 5
1.3.6 StrongARM微處理器係列 6
1.3.7 Xscale處理器 6
1.4 ARM微處理器的結構 6
1.4.1 RISC體係結構 6
1.4.2 ARM微處理器的寄存器結構 7
1.4.3 ARM微處理器的指令結構 7
1.5 ARM微處理器的應用選型 7
1.6 本章小結 8
第2章 ARM微處理器的編程模型 9
2.1 ARM微處理器的工作狀態 9
2.2 ARM體係結構的存儲器格式 10
2.3 指令長度及數據類型 11
2.4 處理器模式 11
2.5 寄存器組織 12
2.5.1 ARM狀態下的寄存器組織 12
2.5.2 Thumb狀態下的寄存器組織 14
2.5.3 程序狀態寄存器 16
2.6 異常 18
2.6.1 ARM體係結構所支持的異常類型 18
2.6.2 對異常的響應 19
2.6.3 從異常返迴 19
2.6.4 各類異常的具體描述 20
2.6.5 異常進入/退齣小結 21
2.6.6 異常嚮量 22
2.6.7 異常優先級 22
2.6.8 應用程序中的異常處理 23
2.7 本章小結 23
第3章 ARM微處理器的指令係統 24
3.1 ARM微處理器的指令集概述 24
3.1.1 ARM微處理器的指令的分類與格式 24
3.1.2 指令的條件域 25
3.2 ARM指令的尋址方式 26
3.2.1 立即尋址 26
3.2.2 寄存器尋址 27
3.2.3 寄存器間接尋址 27
3.2.4 基址變址尋址 27
3.2.5 多寄存器尋址 28
3.2.6 相對尋址 28
3.2.7 堆棧尋址 28
3.3 ARM指令集 29
3.3.1 跳轉指令 29
3.3.2 數據處理指令 30
3.3.3 乘法指令與乘加指令 35
3.3.4 程序狀態寄存器訪問指令 38
3.3.5 加載/存儲指令 39
3.3.6 批量數據加載/存儲指令 41
3.3.7 數據交換指令 42
3.3.8 移位指令(操作) 43
3.3.9 協處理器指令 44
3.3.10 異常産生指令 46
3.4 Thumb指令及應用 47
3.5 本章小結 48
第4章 ARM程序設計基礎 49
4.1 ARM匯編器所支持的僞指令 49
4.1.1 符號定義(Symbol Definition)僞指令 49
4.1.2 數據定義(Data Definition)僞指令 51
4.1.3 匯編控製(Assembly Control)僞指令 54
4.1.4 其他常用的僞指令 56
4.2 匯編語言的語句格式 61
4.2.1 在匯編語言程序中常用的符號 61
4.2.2 匯編語言程序中的錶達式和運算符 62
4.3 匯編語言的程序結構 65
4.3.1 匯編語言在程序中的結構 65
4.3.2 匯編語言的子程序調用 66
4.3.3 匯編語言程序示例 67
4.3.4 匯編語言與C/C++的混閤編程 69
4.4 本章小結 70
第5章 應用係統設計與調試 71
5.1 係統設計概述 71
5.2 S3C4510B概述 72
5.2.1 S3C4510B及片內外圍簡介 72
5.2.2 S3C4510B的引腳分布及信號描述 76
5.2.3 CPU內核概述及特殊功能寄存器 81
5.2.4 S3C4510B的係統管理器 87
5.3 係統的硬件選型與單元電路設計 99
5.3.1 S3C4510B芯片及引腳分析 99
5.3.2 電源電路 100
5.3.3 晶振電路與復位電路 101
5.3.4 Flash存儲器接口電路 102
5.3.5 SDRAM接口電路 107
5.3.6 串行接口電路 110
5.3.7 IIC接口電路 112
5.3.8 JTAG接口電路 113
5.3.9 10M/100M以太網接口電路 114
5.3.10 通用I/O接口電路 118
5.4 硬件係統的調試 119
5.4.1 電源、晶振及復位電路 119
5.4.2 S3C4510B及JTAG接口電路 119
5.4.3 SDRAM接口電路的調試 121
5.4.4 Flash接口電路的調試 123
5.4.5 10M/100M以太網接口電路 124
5.5 印刷電路闆的設計注意事項 124
5.5.1 電源質量與分配 125
5.5.2 同類型信號綫的分布 125
5.6 本章小結 126
第6章 部件工作原理與編程示例 127
6.1 嵌入式係統的程序設計方法 127
6.2 部件工作原理與編程示例 128
6.2.1 通用I/O口工作原理與編程示例 128
6.2.2 串行通信工作原理與編程示例 133
6.2.3 中斷控製器工作原理與編程示例 144
6.2.4 定時器工作原理與編程示例 148
6.2.5 GDMA工作原理與編程示例 153
6.2.6 IIC總綫控製器工作原理 160
6.2.7 以太網控製器工作原理 166
6.2.8 Flash存儲器工作原理與編程示例 195
6.3 BootLoader簡介 201
6.4 本章小結 201
第7章 嵌入式uClinux及其應用開發 202
7.1 嵌入式uClinux係統概況 202
7.2 開發工具GNU的使用 205
7.2.1 GCC編譯器 205
7.2.2 GNU Make 207
7.2.3 使用GDB調試程序 214
7.3 建立uClinux開發環境 219
7.3.1 建立交叉編譯器 219
7.3.2 uClinux針對硬件的改動 224
7.3.3 編譯uClinux內核 225
7.3.4 內核的加載運行 228
7.4 在uClinux下開發應用程序 228
7.4.1 串行通信 232
7.4.2 Socket編程 238
7.4.3 添加用戶應用程序到uClinux 246
7.4.4 通過網絡添加應用程序到目標係統 250
7.5 本章小結 253
第8章 ARM ADS集成開發環境的使用 255
8.1 ADS集成開發環境組成介紹 255
8.1.1 命令行開發工具 255
8.1.2 ARM運行時庫 267
8.1.3 GUI開發環境(Code Warrior和AXD) 269
8.1.4 實用程序 271
8.1.5 支持的軟件 272
8.2 使用ADS創建工程 272
8.2.1 建立一個工程 272
8.2.2 編譯和鏈接工程 276
8.2.3 使用命令行工具編譯應用程序 280
8.3 用AXD進行代碼調試 282
8.4 本章小結 286
附錄A 參考文獻 287
附錄B 相關術語 288
· · · · · · (
收起)