ARM嵌入式系統設計與實踐

ARM嵌入式系統設計與實踐

《ARM嵌入式系統設計與實踐》是2015年清華大學出版社出版的圖書,作者是於紅旗、徐欣、刁節濤、孫兆林。

基本介紹

  • 書名:ARM嵌入式系統設計與實踐
  • 作者:於紅旗、徐欣、刁節濤、孫兆林
  • 出版社:清華大學出版社
  • 出版時間:2015年6月1日
  • 定價:38 元
  • 裝幀:平裝
  • ISBN:9787302385875
  • 印次:1-1
  • 印刷日期:2015年5月8日
內容簡介,圖書目錄,

內容簡介

本書結合Proteus仿真工具、Keil MDK集成開發環境,以Keil C為開發語言,介紹了嵌入式系統的基本概念、ARM核心的分類、ARM核心開發流程、定時器、中斷、GPIO、常見外設、作業系統、RLARM嵌入式實時作業系統等基本概念、基本套用,另外還描述了如何將μC/OS-II移植到LPC ARM上,用Keil MDK進行編譯,通過Proteus進行仿真,講述了μC/GUI的基礎知識,以及如何將μC/GUI移植到Keil MDK平台,使用LPC ARM控制12864液晶顯示的內容。
NXP公司推出的LPC系列ARM核心微處理器在工業控制等領域得到了廣泛的套用,LPC ARM是嵌入式系統中常用的較容易入門的ARM嵌入式處理器,掌握LPC ARM微處理器的軟硬體開發技術是嵌入式軟硬體開發人員應掌握的一種基本技能。

圖書目錄

第1章嵌入式系統概述 1
1.1身邊的嵌入式系統 1
1.2嵌入式系統概述 2
1.2.1嵌入式系統的定義 2
1.2.2嵌入式系統的特點 2
1.2.3嵌入式系統與通用計算機系統的區別 3
1.3嵌入式系統的基本結構 4
1.3.1嵌入式系統的硬體組成 4
1.3.2嵌入式系統的軟體 7
1.3.3嵌入式軟體系統的設計方法 8
1.3.4嵌入式系統的開發模式 11
1.3.5嵌入式項目開發流程 11
1.4嵌入式系統的發展 12
1.4.1嵌入式系統的歷史 12
1.4.2嵌入式系統的發展現狀 13
1.4.3嵌入式系統的發展趨勢 13
1.5小結 14
第2章ARM微處理器核心分類及開發流程 15
2.1ARM處理器簡介 15
2.1.1ARM處理器概述 15
2.1.2ARM微處理器的套用領域 15
2.1.3ARM微處理器的特點 16
2.2ARM核心分類 17
2.2.1ARM7 18
2.2.2ARM9 20
2.2.3SecurCore微處理器系列 21
2.2.4ARM10 22
2.2.5ARM11 22
2.2.6StrongARM微處理器系列 23
2.2.7Xscale處理器 23
2.2.8ARMCortex 23
2.2.9ARM流水線 28
2.3ARM微處理器的套用選型 30
2.3.1ARM微處理器核心的選擇 31
2.3.2系統的工作頻率 31
2.3.3晶片記憶體儲器的容量 31
2.3.4片內外圍電路的選擇 31
2.3.5多芯核ARM系列的選擇 31
2.3.6根據套用選型 31
2.4ARM程式設計基礎 32
2.4.1系統的初始化過程 32
2.4.2定義程式入口點 33
2.4.3設定異常向量 33
2.4.4初始化存儲器系統 33
2.4.5初始化堆疊指針暫存器 34
2.4.6初始化臨界I/O設備 36
2.4.7初始化C代碼的運行環境 36
2.4.8改變處理器的運行模式和狀態 36
2.4.9使能中斷 36
2.4.10進入C代碼運行 37
2.5RealViewMDK簡介 37
2.5.1RealViewMDK概述 37
2.5.2產品模組介紹 38
2.5.3ULINK2仿真器 40
2.6LPC2000系列ARM晶片GPIO簡介 42
2.6.1GPIO(通用I/O口)簡介 42
2.6.2I/O口連線模組簡介 43
2.6.3GPIO基本控制暫存器 44
2.6.4GPIO套用示例 45
2.6.5Proteus原理圖 46
2.6.6如何控制LED 46
2.6.7如何編程 47
2.7RealViewMDK開發流程 47
2.8其他常見的ARM開發環境及工具 49
2.9小結 50
第3章ARM嵌入式微處理器體系結構及最小系統開發 51
3.1ARM微處理器體系結構 51
3.1.2ARM微處理器工作模式 53
3.1.3ARM微處理器的暫存器結構 53
3.1.4ARM微處理器工作狀態 58
3.1.5ARM微處理器的異常處理 58
3.1.6ARM處理器存儲結構 59
3.1.7ARM處理器的存儲映射I/O 61
3.1.8ARM處理器的內部匯流排 61
3.2LPC214X系列ARM晶片套用開發 62
3.2.1LPC214X系列ARM晶片簡介 62
3.2.2LPC2148管腳描述 64
3.2.3LPC2148最小系統設計 69
3.2.4LPC2148內置Flash的燒寫 73
3.3小結 77
第4章LPC21XX系列ARM晶片GPIO及其套用 78
4.1LPC21XX管腳功能設定 78
4.2LPC21XXGPIO相關暫存器 80
4.3LPC21XXGPIO基本套用 82
4.3.1GPIO控制LED閃爍 82
4.3.2通過GPIO由按鍵控制LED 84
4.3.3軟體解碼點亮單個7段數碼管 85
4.3.4硬體解碼點亮單個7段數碼管 87
4.3.5LPC控制多個7段數碼管 88
4.4小結 91
第5章LPC213X系列ARM晶片中斷及套用 92
5.1什麼是中斷 92
5.2為什麼需要中斷 92
5.3與中斷有關的幾個概念 93
5.4從一個中斷例子講起 94
5.4.1管腳功能設定 94
5.4.2中斷初始化 95
5.4.3主程式 95
5.5LPC213X中斷及相關暫存器 96
5.5.1中斷結構 96
5.5.2中斷源及其VIC中斷號 96
5.5.3外部中斷相關暫存器 98
5.5.4中斷處理流程 105
5.5.5中斷使用注意事項 107
5.6中斷基本套用 107
5.6.1實例一:兩個外部中斷控制兩個LED閃爍 107
5.6.2實例二:3個外部中斷控制數碼管加減、復位 109
5.7小結 110
第6章 LPC21XX控制1602液晶套用初步 111
6.1液晶顯示器概述 111
6.21602液晶顯示模組概述 112
6.31602液晶顯示模組管腳定義 114
6.41602液晶顯示模組和LPC接口 115
6.5LPC對1602的4種操作模式 116
6.5.1讀操作時序 116
6.5.2寫操作時序 119
6.61602液晶內部顯示存儲器 122
6.71602液晶指令 123
6.7.1顯示功能設定 124
6.7.2顯示開關及游標設定 124
6.7.3清屏 125
6.7.4設定顯示屏或游標移動方向指令 126
6.7.5AC值控制及螢幕移動設定 127
6.7.6游標歸位指令 128
6.7.7指令小結及編程技巧 128
6.81602液晶的初始化 128
6.91602液晶綜合套用 129
6.9.1LCD顯示字元串 129
6.9.2按鍵控制顯示內容 131
6.10小結 132
第7章 LPC21XX控制12864液晶套用初步 133
7.112864液晶模組概述 133
7.1.1HD61202的特點 134
7.1.2HD61202的引腳功能 135
7.1.3HD61202顯示RAM地址 136
7.212864液晶模組管腳定義 137
7.3LPC對12864液晶模組的操作時序 138
7.3.1寫操作時序 138
7.3.2讀操作時序 139
7.412864液晶模組的指令 140
7.4.1讀狀態指令 140
7.4.2行設定指令 141
7.4.3頁設定指令 142
7.4.4列地址設定指令 142
7.4.5顯示開/關指令 145
7.512864液晶模組的初始化 145
7.612864液晶模組綜合套用 145
7.6.1字模軟體 145
7.6.212864液晶模組顯示數字 146
7.6.312864液晶模組顯示漢字 148
7.6.412864顯示圖片 148
7.6.512864液晶模組的繪圖 149
7.7小結 152
第8章 μC/GUI及其在LPC21XX上的基本套用 153
8.1μC/GUI基礎知識 153
8.1.1μC/GUI簡介 153
8.1.2μC/GUI目標硬體 153
8.1.3開發環境(編譯程式) 154
8.1.4?C/GUI的特點 154
8.1.5螢幕和坐標 156
8.1.6數據類型 156
8.2μC/GUI入門指南 156
8.2.1?C/GUI檔案結構 156
8.2.2向目標程式加入?C/GUI 157
8.2.3將?C/GUI的“C”檔案加入工程中 157
8.2.4配置?C/GUI 157
8.2.5初始化?C/GUI 158
8.2.6在目標硬體上使用?C/GUI 158
8.2.7“HelloWorld”範例程式 159
8.3μC/GUI在LPC單片機上的套用 160
8.3.1獲取μC/GUI3.98源碼 160
8.3.2新建工程 160
8.3.3修改配置檔案 160
8.3.4複製作業系統支持檔案 161
8.3.5代碼移植 161
8.3.6設定include路徑 168
8.3.7其他修改 169
8.3.8Proteus仿真 170
8.3.9顯示其他內容 171
8.3.10文本顯示相關函式 171
8.3.11數值顯示函式 175
8.3.12繪圖函式 177
8.3.13字型相關函式 180
8.3.14顏色相關函式 183
8.4Keil編譯庫的使用方法 183
8.4.1去掉主函式檔案 184
8.4.2Lib檔案的使用 184
8.5小結 185
第9章 LPC21XX系列ARM晶片時鐘管理與定時器套用 186
9.1LPC21XX系列ARM處理器外部時鐘連線 186
9.1.1ARM處理器內部時鐘結構 186
9.1.2ARM處理器內部時鐘及相互關係 187
9.1.3外設時鐘相關暫存器 188
9.1.4PLL相關暫存器 188
9.1.5PLL設定過程 190
9.1.6PLL操作方法 191
9.1.7PLL使用注意事項 191
9.1.8PLL設定實例 191
9.2LPC21XXARM定時器 192
9.2.1定時器/計數器概述 192
9.2.2相關暫存器 194
9.2.3定時器工作流程 199
9.2.4定時器操作方法 200
9.3定時器綜合套用 200
9.3.1使用查詢方式使LED閃爍 200
9.3.2使用中斷方式使LED閃爍 202
9.3.3使用中斷方式使數碼管顯示時間 203
9.3.4使用中斷刷新方式使數碼管顯示時間 206
9.4小結 207
第10章LPC串列口通信及套用 208
10.1串列通信基本概念 208
10.1.1同步通信方式 208
10.1.2異步通信方式 209
10.1.3串列通信的數據傳送方式 209
10.1.4串列通信的奇偶校驗 210
10.1.5異步串列通信的波特率 210
10.2RS-232C接口 210
10.2.1接口信號 210
10.2.2技術指標 212
10.2.3RS-232的幀結構 212
10.2.4RS-232的編程和使用 213
10.3LPCARM串口的編程與套用 213
10.3.1LPC21XX的串口管腳 213
10.3.2串口基本結構 213
10.3.3相關的暫存器及其作用 215
10.4LPC串口通信套用舉例 219
10.4.1實例一:串口向PC傳送字元串 219
10.4.2實例二:串口將接收到的數據傳送給PC(查詢方式) 223
10.5LPC21XXARM處理器串口通信(中斷方式) 225
10.5.1相關向量中斷控制暫存器設定 225
10.5.2串口相關暫存器 225
10.5.3串口通信中斷方式示例 229
10.5.4實例三:串口將接收到的數據發給PC(中斷方式) 229
10.6小結 230
第11章RTX-51實時多任務作業系統 231
11.1作業系統基礎知識 231
11.1.1什麼是計算機作業系統 231
11.1.2作業系統的功能 231
11.1.3進程和執行緒的基本概念 232
11.2實時作業系統基礎知識 235
11.2.1實時系統及其特點 235
11.2.2計算機實時作業系統 236
11.2.3嵌入式實時作業系統 240
11.2.4常見的嵌入式實時作業系統 244
11.3RL-ARM嵌入式實時作業系統及基本套用 246
11.3.1多任務系統簡介 246
11.3.2RL-ARM實時多任務系統任務狀態及任務間通信 248
11.3.3如何使用RTX核心 249
11.3.4RTX的配置 249
11.3.5RTX套用入門 250
11.4小結 254
第12章μC/OS-II嵌入式實時作業系統及基本套用仿真 255
12.1μC/OS-II檔案結構 255
12.2μC/OS-II任務狀態及其轉換關係 257
12.3μC/OS-II任務控制塊 258
12.4任務調度器 259
12.4.1任務切換 259
12.4.2就緒表 260
12.4.3中斷服務 260
12.4.4時鐘節拍 260
12.5μC/OS-II的初始化和啟動 260
12.6任務管理 261
12.7μC/OS-II任務間通信方式 263
12.7.1信號量 263
12.7.2互斥型信號量 264
12.7.3事件標誌組 265
12.7.4訊息信箱 265
12.7.5訊息佇列 266
12.8μC/OS-II在LPC上的移植 267
12.9小結 271
參考文獻 272

相關詞條

熱門詞條

聯絡我們