《ARM結構與程序開發入門》力求邏輯嚴謹,通俗易懂,采用模塊化和案例分析的方式進行內容的組織,介紹ARM處理器模式及其基本編程模型、ARM指令系統、ARM匯編語言程序設計、C/C++混合編程、ARM/Thumb混合編程、ARM存儲系統、異常中斷處理、ARM編譯器和連接器、ARM接口技術、ARM體系中的調試方法等。
《ARM結構與程序開發入門》旨在培養學生掌握ARM結構和程序開發的基本知識,為他們將來從事ARM嵌入式系統的開發提供基礎。
《ARM結構與程序開發入門》可作為高職高專院校計算機類專業的教材,也可作為本科生、碩士生計算機類專業的ARM入門教材,還可作為從事ARM嵌入式系統開發的工程技術人員的參考書。
嵌入式技術是近年來計算機學科中發展最迅猛的領域之一,而ARM是當前研究和應用最為廣泛的嵌入式處理芯片,越來越多的學校都認識到開設基于ARM的嵌入式教學課程的必要性和緊迫性。目前部分高校開設該課程的教材,大多采用國外原文教材或翻譯版教材,注重原理和學生理論知識的培養,輕視了學生的實踐動手能力的培養,相應的一些ARM專著也有類似弊端。
本書的特點是理論與實踐相結合,以ARM處理器作為嵌入式處理器的代表,著重講解ARM處理器的結構以及程序開發的入門知識,在理論學習的同時搭配以實訓練習,培養學生的實踐動手能力。本書共分11章。第1章ARM概述及其基本編程模型,主要介紹.ARM技術簡介及其特點,ARM處理器的結構,刪處理器模式,ARM的兩種工作狀態,ARM寄存器,ARM體系的異常中斷,ARM體系中存儲系統,ARM接口技術。
第2章ARM指令系統,主要介紹ARM指令,ARM指令尋址方式,ARM指令集和Thumb指令集。
第3章ARM匯編語言程序設計,主要介紹ARM匯編語言語句格式,ARM匯編語言偽操作,ARM匯編語言偽指令,ARM匯編語言中的符號,ARM匯編語言中的表達式,ARM匯編語言程序結構,匯編語言子程序調用。
第4章ARM存儲系統,主要介紹ARM中用于存儲管理的系統控制協處理器CPl5,存儲器管理單元(MMU),高速緩沖存儲器和寫緩沖區,快速上下文切換技術,與存儲系統相關的程序設計指南。
第5章異常中斷處理,主要介紹進入和退出異常中斷的過程,在應用程序中安裝異常中斷處理程序,SWI、FIQ、IRQ、復位、未定義指令、指令預取中止、數據訪問中止異常中斷處理程序。
第1章 ARM概述及其基本編程模型 1
1.1 ARM技術簡介及其特點 1
1.2 ARM體系結構的版本及命名方法 1
1.3 ARM處理器的結構 6
1.4 ARM處理器模式 7
1.5 ARM的兩種工作狀態 8
1.6 ARM寄存器 9
1.7 ARM體系的異常中斷 11
1.8 ARM體系中存儲系統 12
1.9 ARM接口技術 14
1.10 小結 14
習題 14
第2章 ARM指令系統 15
2.1 ARM指令介紹 15
2.2 ARM指令尋址方式 17
2.3 ARM指令集 20
2.4 Thumb指令介紹 34
2.5 小結 37
習題 37
第3章 ARM匯編語言程序設計 39
3.1 ARM匯編語言語句格式 39
3.2 ARM匯編語言偽操作 39
3.3 ARM匯編語言偽指令 50
3.4 ARM匯編語言中的符號 52
3.5 ARM匯編語言中的表達式 53
3.6 ARM匯編語言程序結構 56
3.7 匯編語言子程序調用 59
3.8 本章實訓 64
3.9 小結 67
習題 68
第4章 ARM存儲系統 69
4.1 ARM存儲系統概述 69
4.2 ARM中用于存儲管理的系統控制協處理器CP15 70
4.3 存儲器管理單元(MMU) 74
4.4 高速緩沖存儲器和寫緩沖區 82
4.5 快速上下文切換技術 89
4.6 與存儲系統相關的程序設計指南 89
4.7 小結 91
習題 91
第5章 異常中斷處理 92
5.1 ARM中異常中斷處理概述 92
5.2 進入和退出異常中斷的過程 94
5.3 在應用程序中安裝異常中斷處理程序 95
5.4 SWI異常中斷處理程序 98
5.5 FIQ和IRQ異常中斷處理程序 99
5.6 復位異常中斷處理程序 101
5.7 未定義指令異常中斷 101
5.8 指令預取中止異常中斷處理程序 102
5.9 數據訪問中止異常中斷處理程序 102
5.10 本章實訓 102
5.11 小結 111
習題 111
第6章 嵌入式C/C++語言程序設計基礎及混合編程 113
6.1 嵌入式C/C++語言程序設計基本語法介紹 113
6.2 嵌入式C/C++語言程序設計技巧 118
6.3 C/C++與匯編語言混合編程 121
6.4 本章實訓 127
6.5 小結 140
習題 140
第7章 ARM程序和Thumb程序混合使用 142
7.1 概述 142
7.2 在匯編語言程序中通過用戶代碼支持interwork 143
7.3 在C/C++程序中實現interwork 147
7.4 在匯編語言程序中通過連接器支持interwork 149
7.5 本章實訓 151
7.6 小結 154
習題 154
第8章 ARM C/C++編譯器 156
8.1 ARM C/C++編譯器概述 156
8.2 ARM編譯器命令行格式 157
8.3 ARM編譯器中的pragmas 167
8.4 ARM編譯器特定的關鍵詞 167
8.5 ARM編譯器支持的基本數據類型 170
8.6 ARM編譯器中預定義宏 171
8.7 ARM中C/C++運行時庫概述 172
8.8 小結 174
習題 174
第9章 ARM連接器 175
9.1 ARM映像文件 175
9.2 ARM連接器介紹 176
9.3 ARM連接器生成的符號 176
9.4 連接器的優化功能 178
9.5 運行時庫的使用 178
9.6 從一個映像文件中使用另一個映像文件中的符號 180
9.7 隱藏或者重命名全局符號 182
9.8 ARM連接器命令行選項 183
9.9 使用scatter文件定義映像文件的地址映射 188
9.10 小結 191
習題 191
第10章 ARM接口技術 192
10.1 鍵盤、顯示接口 192
10.2 串口 194
10.3 D/A、A/D轉換 195
10.4 總線接口 200
10.5 RTC實時時鐘 204
10.6 其他接口 205
10.7 小結 207
習題 207
第11章 ARM體系中的調試方法 208
11.1 ARM體系中調試系統概述 208
11.2 基于JTAG的調試系統 209
11.3 基于RVD的調試系統 210
11.4 CodeWarrior使用介紹 216
11.5 本章實訓 220
11.6 小結 225
習題 225
參考文獻 226
1.1 ARM技術簡介及其特點
ARM(Advanced RISC Machines)公司是微處理器領域的一家知名企業,設計了大量高性能、廉價、耗能低的R[SC處理器、相關技術及軟件。其技術具有性能高、成本低和能耗省的特點。ARM技術適用于多種領域,比如嵌入控制、消費/教育類多媒體、DSP和移動式應用等。
ARM公司既不生產芯片也不銷售芯片,它只出售芯片技術授權。它將其技術授權給世界上許多著名的半導體、軟件和OEM廠商,每個廠商得到的都是一套獨一無二的ARM相關技術及服務。利用這種合伙關系,ARM很快成為許多全球性RISC標準的締造者。
目前,總共有30家半導體公司與ARM簽訂了硬件技術使用許可協議,其中包括。Intel、IBM、LG半導體、NEC、SONY、菲利浦和國民半導體這樣的大公司。至于軟件系統的合伙人,則包括微軟、升陽和MRI等一系列知名公司。
ARM架構是面向低預算市場設計的第一款RISC微處理器。
刪處理器具有RISC體系的一般特點,如:
(1)擁有大量的寄存器;
(2)絕大多數操作都在寄存器中進行,通過Load/Store的體系結構在內存和寄存器間傳遞數據;
(3)尋址方式簡單;
(4)采用固定長度的指令格式。