ARM嵌入式體系結構與接口技術(Cortex-A9版)(微課版)
華清遠見嵌入式學院 劉洪濤 秦山虎
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
作為一種32位高性能、低成本的嵌入式RISC微處理器,ARM已經成為應用**廣泛的嵌入式處理器。目前Cortex-A系列處理器已經占據了大部分的中高端產品市場。
本書在全面介紹Cortex-A9處理器的體系結構、編程模型、指令系統及Eclipse For ARM開發環境搭建的同時,以基於Cortex-A9為核心的應用處理器Exynos4412為核心,詳細介紹了ARM系統設計及相關接口技術。接口技術涵蓋了GPIO、GIC、UART、PWM、RTC、WDT、A/D、I2C、SPI等,並提供了大量的實驗例程和視頻講解,通過練習和操作實踐,幫助讀者鞏固所學的內容。
本書可以作為院校嵌入式相關專業和電腦相關專業的教材,也可以作為電腦軟硬件培訓班教材,還可以作為嵌入式研究方向的專業人才和廣大電腦愛好者的自學教材。
作者簡介
劉洪濤,北京華清遠見科技信息有限公司技術總監,ARM公司全球認證講師。參與編寫過幾十本專業圖書;國內知名物聯網方向技術顧問;首批高校物聯網專業建設教學指導委員會專家委員會成員;豐富的嵌入式及物聯網系統軟、硬件產品開發經驗;主持開發過多個大型嵌入式及物聯網項目,涉及工業控制、網絡、通訊、消費電子等眾多領域。
目錄大綱
第 1章 嵌入式ARM技術概論 1
1.1 ARM體系結構的技術特徵及發展 2
1.1.1 ARM公司簡介 2
1.1.2 ARM技術特徵 2
1.1.3 ARM體系架構的發展 3
1.2 ARM微處理器簡介 4
1.2.1 ARM9處理器系列 5
1.2.2 ARM9E處理器系列 5
1.2.3 ARM11處理器系列 6
1.2.4 SecurCore處理器系列 6
1.2.5 StrongARM和Xscale處理器系列 6
1.2.6 MPCore處理器系列 6
1.2.7 Cortex處理器系列 6
1.2.8 ARM應用處理器發展現狀與趨勢 8
1.3 ARM微處理器架構 9
1.4 ARM微處理器的應用選型 10
1.4.1 ARM芯片選擇的一般原則 10
1.4.2 選擇一款適合ARM教學的CPU 10
1.5 Cortex-A9內部功能及特點 12
1.6 數據類型 13
1.6.1 ARM的基本數據類型 13
1.6.2 浮點數據類型 13
1.6.3 存儲器大/小端 14
1.7 Cortex-A9內核工作模式 14
1.8 Cortex-A9存儲系統 15
1.8.1 協處理器(CP15) 16
1.8.2 存儲管理單元(MMU) 17
1.8.3 高速緩沖存儲器(Cache) 17
1.9 流水線 17
1.9.1 流水線的概念與原理 17
1.9.2 流水線的分類 18
1.9.3 影響流水線性能的因素 19
1.10 寄存器組織 19
1.11 程序狀態寄存器 21
1.12 三星Exynos4412處理器介紹 24
1.13 FS4412開發平臺介紹 25
1.14 本章小結 29
1.15 練習題 29
第 2章 ARM開發環境搭建 30
2.1 模擬器簡介 31
2.2 開發環境搭建 31
2.2.1 Windows XP環境安裝FS-JTAG工具 32
2.2.2 Windows 7/Windows 8環境安裝FS-JTAG工具 34
2.2.3 Windows8.1環境安裝FS-JTAG工具 39
2.2.4 連接硬件平臺 42
2.2.5 USB轉串口驅動安裝 42
2.2.6 Putty串口終端配置 43
2.3 Eclipse for ARM使用 45
2.4 導入一個已有工程 45
2.5 調試工程 49
2.5.1 配置FS-JTAG調試工具 49
2.5.2 配置調試工具 49
2.5.3 查看變量及寄存器的方法 53
2.5.4 斷點設置方法 54
2.5.5 查看內存數據信息方法 54
2.5.6 調試結束後的處理 55
2.6 創建一個新工程 56
2.7 編譯工程 58
2.8 64位eclipse編譯常見問題及解決 60
2.9 本章小結 62
2.10 練習題 62
第3章 ARM指令 63
3.1 ARM指令集 64
3.1.1 數據處理指令尋址方式 64
3.1.2 乘法指令 69
3.1.3 跳轉指令 71
3.1.4 Load/Store指令 74
3.1.5 狀態寄存器傳輸指令 79
3.1.6 協處理器指令 81
3.1.7 異常產生指令 82
3.2 ARM指令的尋址方式 84
3.2.1 數據處理指令的操作數的尋址方式 84
3.2.2 字及無符號字節的Load/Store指令的尋址方式 85
3.2.3 批量Load/Store指令的尋址方式 86
3.2.4 相對尋址 88
3.3 本章小結 88
3.4 練習題 88
第4章 ARM匯編程序設計 89
4.1 GNU ARM匯編器的偽操作 90
4.1.1 符號定義偽操作 90
4.1.2 數據定義偽操作 91
4.1.3 匯編控制偽操作 93
4.1.4 雜項偽操作 94
4.2 ARM匯編器支持的偽指令 96
4.2.1 ADR偽指令 96
4.2.2 ADRL偽指令 97
4.2.3 LDR偽指令 97
4.3 ARM匯編語言的程序結構 98
4.3.1 匯編語言的程序格式 98
4.3.2 匯編語言的子程序調用 99
4.3.3 匯編語言程序設計舉例 99
4.4 匯編語言與C語言的混合編程 100
4.4.1 GNU內聯匯編 100
4.4.2 C和匯編的相互調用 103
4.4.3 過程調用標準AAPCS/ATPCS 104
4.5 本章小結 105
4.6 練習題 105
第5章 GPIO編程 106
5.1 GPIO功能介紹 107
5.2 Exynos4412-GPIO控制器詳解 107
5.2.1 GPIO功能描述 107
5.2.2 GPIO特性 107
5.2.3 GPIO分組預覽 108
5.2.4 Exynos4412-GPIO常用寄存器分類 108
5.2.5 Exynos4412-GPIO接口常用寄存器詳解 109
5.2.6 GPIO寄存器封裝 110
5.3 GPIO控制實驗 112
5.3.1 實驗目的 112
5.3.2 實驗原理 112
5.3.3 實驗內容 113
5.3.4 實驗代碼 113
5.3.5 實驗現象 114
5.4 本章小結 114
5.5 練習題 114
第6章 ARM異常及中斷處理 115
6.1 ARM異常中斷處理概述 116
6.2 ARM體系異常種類 116
6.3 ARM異常的優先級 121
6.4 ARM處理器模式和異常 121
6.5 ARM異常響應和處理程序返回 122
6.5.1 中斷響應的概念 122
6.5.2 ARM異常響應流程 122
6.5.3 從異常處理程序中返回 123
6.6 ARM的SWI異常中斷處理程序設計 124
6.7 ARM中斷控制器簡介 126
6.7.1 中斷軟件分支處理(NVIC和GIC) 126
6.7.2 硬件支持的分支處理(VIC) 127
6.8 通用中斷控制器(GIC) 128
6.8.1 GIC功能模塊 129
6.8.2 GIC中斷控制器中斷類型 130
6.8.3 GIC中斷控制器中斷狀態 130
6.8.4 GIC中斷處理流程 130
6.9 Exynos4412中斷源 131
6.10 Exynos4412-GIC寄存器詳解 131
6.11 GIC中斷實驗 135
6.11.1 實驗目的 135
6.11.2 實驗原理 135
6.11.3 實驗內容 136
6.11.4 實驗代碼 137
6.11.5 實驗現象 140
6.12 本章小結 140
6.13 練習題 140
第7章 串行通信接口 141
7.1 串行通信概述 142
7.1.1 串行通信與並行通信概念 142
7.1.2 異步串行方式的特點 142
7.1.3 異步串行方式的數據格式 142
7.1.4 同步串行方式的特點 142
7.1.5 同步串行方式的數據格式 143
7.1.6 波特率、波特率因子與位周期 143
7.1.7 RS-232C串口規範 143
7.1.8 RS-232C接線方式 145
7.2 Exynos4412異步串行通信 145
7.2.1 Exynos4412串口控制器概述 145
7.2.2 UART寄存器詳解 146
7.3 串口通信實驗 151
7.3.1 實驗目的 151
7.3.2 實驗原理 151
7.3.3 實驗內容 152
7.3.4 實驗代碼 152
7.3.5 實驗現象 154
7.4 本章小結 155
7.5 練習題 155
第8章 PWM定時器 156
8.1 定時器和PWM簡介 157
8.1.1 定時器概述 157
8.1.2 脈沖寬度調制(PWM)概述 157
8.2 Exynos4412-PWM定時器詳解 157
8.2.1 PWM定時器概述 157
8.2.2 PWM定時器寄存器詳解 158
8.2.3 PWM定時器雙緩沖功能 161
8.2.4 PWM定時器PWM信號輸出 162
8.3 PWM定時器實驗—定時觸發 163
8.3.1 實驗目的 163
8.3.2 實驗原理 163
8.3.3 實驗代碼 163
8.3.4 實驗現象 165
8.4 PWM定時器實驗—PWM輸出 166
8.4.1 實驗目的 166
8.4.2 實驗原理 166
8.4.3 實驗代碼 166
8.4.4 實驗現象 167
8.5 本章小結 167
8.6 練習題 167
第9章 看門狗定時器 168
9.1 看門狗簡介 169
9.2 Exynos4412看門狗定時器詳解 169
9.2.1 看門狗定時器概述 169
9.2.2 看門狗定時器寄存器詳解 170
9.3 看門狗定時器實驗 171
9.3.1 實驗目的 171
9.3.2 實驗原理 171
9.3.3 實驗內容 171
9.3.4 實驗代碼 171
9.3.5 實驗現象 172
9.4 本章小結 173
9.5 練習題 173
第 10章 RTC定時器 174
10.1 RTC簡介 175
10.2 Exynos4412-RTC定時器詳解 175
10.2.1 RTC定時器概述 175
10.2.2 RTC定時器寄存器詳解 175
10.2.3 BCD碼 177
10.3 實時時鐘RTC實驗 177
10.3.1 實驗目的 177
10.3.2 實驗原理 177
10.3.3 實驗內容 178
10.3.4 實驗代碼 178
10.3.5 實驗現象 179
10.4 本章小結 180
10.5 練習題 180
第 11章 A/D轉換器 181
11.1 A/D 轉換器原理 182
11.1.1 A/D轉換基礎 182
11.1.2 A/D轉換的技術指標 182
11.1.3 A/D轉換器類型 183
11.1.4 A/D轉換的一般步驟 186
11.2 Exynos4412-A/D轉換器詳解 186
11.2.1 Exynos4412-A/D轉換器概述 186
11.2.2 Exynos4412-A/D轉換器寄存器詳解 187
11.3 A/D實驗 188
11.3.1 實驗目的 188
11.3.2 實驗原理 188
11.3.3 實驗內容 188
11.3.4 實驗代碼 189
11.3.5 實驗現象 191
11.4 本章小結 191
11.5 練習題 192
第 12章 I2C接口 193
12.1 I2C總線協議 194
12.1.1 I2C總線協議簡介 194
12.1.2 I2C總線協議內容 194
12.2 Exynos4412-I2C控制器詳解 197
12.2.1 I2C總線控制器概述 197
12.2.2 I2C總線控制器寄存器詳解 197
12.2.3 I2C控制器操作流程 200
12.3 I2C重力感應/陀螺儀實驗 201
12.3.1 實驗目的 201
12.3.2 實驗原理 201
12.3.3 實驗內容 202
12.3.4 實驗代碼 203
12.3.5 實驗現象 206
12.4 本章小結 207
12.5 練習題 207
第 13章 SPI接口 208
13.1 SPI總線協議 209
13.1.1 協議簡介 209
13.1.2 協議內容 209
13.2 Exynos4412-SPI控制器詳解 212
13.2.1 SPI控制器簡介 212
13.2.2 SPI控制器時鐘源控制 212
13.2.3 SPI控制器寄存器詳解 215
13.3 SPI/CAN總線實驗 218
13.3.1 實驗目的 218
13.3.2 實驗原理 218
13.3.3 實驗內容 219
13.3.4 實驗代碼 220
13.3.5 實驗現象 223
13.4 本章小結 224
13.5 練習題 224

