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