內容介紹
本書主要以AVR單片機中ATmega8為典型,圍繞套用BASCOM-AVR進行AVR單片機的學習、編程、開發而展開。AVR單片機是一種性能卓越的8位通用型單片機,是RISC精簡指令集的通用暫存器陣列,使CPU具有高速的數據處理能力,片上集成有功能強大的外圍器件,為用戶在各個複雜環境的套用提供了有力的保障和支持,特別是它的FLASH程式存儲器和ISP程式下載技術,使單片機的學習、實驗、開發和產品升級,變得廉價、安全、高效。BASCOM-AVR編程軟體為開發AVR單片機提供了功能強大、簡潔方便的軟體平台,其與QB高度兼容的BASIC語言易懂好學;功能齊備的硬體仿真平台,使單片機的學習、實驗、開發,顯得簡單、容易而富有樂趣,許多設計在計算機仿真中就可得知結果。有了BASCOM-AVR,使大規模地推廣普及AVR單片機成為可能。為了配合本書的出版,雙龍電子網站htto://www.avr.com.cn,專門開設了BASCOM-AVR專欄,作為本書的補充及與讀者交流的場所。本書通過大量的典型實例和練習題,由淺入深地論述,可作為單片機愛好者的自學讀本,也可作為高職、技校和大專院校自動化、計算機、電子等專業的教材或參考書,亦可作為電子套用技術的培訓教材。
作品目錄
第1章ARM微處理器概述 11.1ARM簡介 1
1.2ARM微處理器的套用領域及特點 2
1.2.1ARM微處理器的套用領域 2
1.2.2ARM微處理器的特點 2
1.3ARM微處理器系列 2
1.3.1ARM7微處理器系列 3
1.3.2ARM9微處理器系列 4
1.3.3ARM9E微處理器系列 4
1.3.4ARM10E微處理器系列 5
1.3.5SecurCore微處理器系列 5
1.3.6StrongARM微處理器系列 6
1.3.7Xscale處理器 6
1.4ARM微處理器的結構 6
1.4.1RISC體系結構 6
1.4.2ARM微處理器的暫存器結構 7
1.4.3ARM微處理器的指令結構 7
1.5ARM微處理器的套用選型 7
1.6本章小結 8
第2章ARM微處理器的編程模型 9
2.1ARM微處理器的工作狀態 9
2.2ARM體系結構的存儲器格式 10
2.3指令長度及數據類型 11
2.4處理器模式 11
2.5暫存器組織 12
2.5.1ARM狀態下的暫存器組織 12
2.5.2Thumb狀態下的暫存器組織 14
2.5.3程式狀態暫存器 16
2.6異常 18
2.6.1ARM體系結構所支持的異常類型 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.1ARM微處理器的指令集概述 24
3.1.1ARM微處理器的指令的分類與格式 24
3.1.2指令的條件域 25
3.2ARM指令的定址方式 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.3ARM指令集 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.4Thumb指令及套用 47
3.5本章小結 48
第4章ARM程式設計基礎 49
4.1ARM彙編器所支持的偽指令 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.2S3C4510B概述 72
5.2.1S3C4510B及片內外圍簡介 72
5.2.2S3C4510B的引腳分布及信號描述 76
5.2.3CPU核心概述及特殊功能暫存器 81
5.2.4S3C4510B的系統管理器 87
5.3系統的硬體選型與單元電路設計 99
5.3.1S3C4510B晶片及引腳分析 99
5.3.2電源電路 100
5.3.3晶振電路與復位電路 101
5.3.4Flash存儲器接口電路 102
5.3.5SDRAM接口電路 107
5.3.6串列接口電路 110
5.3.7IIC接口電路 112
5.3.8JTAG接口電路 113
5.3.910M/100M乙太網接口電路 114
5.3.10通用I/O接口電路 118
5.4硬體系統的調試 119
5.4.1電源、晶振及復位電路 119
5.4.2S3C4510B及JTAG接口電路 119
5.4.3SDRAM接口電路的調試 121
5.4.4Flash接口電路的調試 123
5.4.510M/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.5GDMA工作原理與編程示例 153
6.2.6IIC匯流排控制器工作原理 160
6.2.7乙太網控制器工作原理 166
6.2.8Flash存儲器工作原理與編程示例 195
6.3BootLoader簡介 201
6.4本章小結 201
第7章嵌入式uClinux及其套用開發 202
7.1嵌入式uClinux系統概況 202
7.2開發工具GNU的使用 205
7.2.1GCC編譯器 205
7.2.2GNU Make 207
7.2.3使用GDB調試程式 214
7.3建立uClinux開發環境 219
7.3.1建立交叉編譯器 219
7.3.2uClinux針對硬體的改動 224
7.3.3編譯uClinux核心 225
7.3.4核心的載入運行 228
7.4在uClinux下開發應用程式 228
7.4.1串列通信 232
7.4.2Socket編程 238
7.4.3添加用戶應用程式到uClinux 246
7.4.4通過網路添加應用程式到目標系統 250
7.5本章小結 253
第8章ARM ADS集成開發環境的使用 255
8.1ADS集成開發環境組成介紹 255
8.1.1命令行開發工具 255
8.1.2ARM運行時庫 267
8.1.3GUI開發環境(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