《基於32位ColdFire構建嵌入式系統》是2009年7月1日電子工業出版社出版的圖書。本書以Freescale 32位微控制器ColdFire系列的MCF52233為藍本闡述嵌入式系統的軟體與硬體設計。
基本介紹
- 書名:基於32位ColdFire構建嵌入式系統
- 出版社:電子工業出版社
- 出版時間:2009年7月1日
- 版次:第一版
圖書信息,內容簡介,目錄,
圖書信息
叢書名: 嵌入式技術與套用叢書,飛思卡爾系列
平裝: 434頁
正文語種: 簡體中文
開本: 16
ISBN: 9787121092121
條形碼: 9787121092121
尺寸: 25.8 x 18.2 x 2 cm
重量: 680 g
內容簡介
全書共18章,《基於32位ColdFire構建嵌入式系統》配有網路光碟,包含了ColdFire系列微控制器開發環境的安裝檔案、書中提供的所有實例源程式、輔助資料、相關晶片資料及常用軟體工具。《基於32位ColdFire構建嵌入式系統》可供大學有關專業的高年級學生和研究生用作教材或參考讀物,也可供嵌入式系統開發與研究人員用作參考和進修資料。
讀者對象:
可供大學有關專業的高年級學生和研究生用作教材或參考讀物,也可供嵌入式系統開發與研究人員用作參考和進修資料。
目錄
第1章 概述 1
1.1 嵌入式系統定義、由來及特點 1
1.1.1 嵌入式系統的定義 1
1.1.2 嵌入式系統的由來及其與微控制器的關係 2
1.1.3 嵌入式系統的特點 3
1.2 嵌入式系統的知識體系、學習誤區及學習建議 4
1.2.1 嵌入式系統的知識體系 4
1.2.2 嵌入式系統的學習誤區 5
1.2.3 基礎階段的學習建議 8
1.3 嵌入式系統常用術語 9
1.3.1 與硬體相關的術語 9
1.3.2 與通信相關的術語 11
1.3.3 與功能模組及軟體相關的術語 12
1.4 嵌入式系統常用的標準C語言基本語法概要 13
1.5 本書學習與實踐資料索引 22
第2章 ColdFire概述與MCF52233硬體最小系統 24
2.1 ColdFire系列微處理器概述 24
2.2 MCF5223x系列微控制器存儲器映像與編程結構 26
2.2.1 MCF5223x性能概述與內部結構簡圖 26
2.2.2 MCF5223x存儲器映像 28
2.2.3 編程模式與定址方式 28
2.2.4 ColdFire異常和中斷控制 31
2.3 MCF52233的引腳功能與硬體最小系統 33
2.3.1 MCF52233的引腳功能 33
2.3.2 MCF52233的硬體最小系統 35
2.3.3 硬體最小系統測試方法 38
第3章 第一個樣例程式及ColdFire工程組織 41
3.1 通用I/O接口基本概念及連線方法 41
3.2 MCF52233的GPIO 43
3.2.1 MCF52233GPIO編程的基本原理 43
3.2.2 GPIO模組暫存器與GPIO的編程基本方法 44
3.3 開發套件CodeWarrior開發環境與ColdFire寫入器 46
3.3.1 CodeWarrior開發環境簡介與基本使用方法 46
3.3.2 WA-Ⅰ型32位ColdFire寫入器 47
3.3.3 MCF52233EVB硬體評估板 48
3.4 CW工程檔案組織 48
3.4.1 工程檔案的組織 48
3.4.2 初始化相關檔案 50
3.4.3 主程式、中斷程式及其他檔案 53
3.4.4 連結檔案及機器碼檔案 56
3.5 第一個套用實例:控制小燈閃爍 59
3.5.1 GPIO構件 60
3.5.2 Light構件 65
3.5.3 Light測試工程主程式 67
3.6 理解第一個C工程的執行過程 68
第4章 異步串列通信與直接存儲器訪問 71
4.1 異步串列通信的基礎知識 71
4.1.1 基本概念 71
4.1.2 RS-232C匯流排標準 73
4.1.3 電平轉換電路原理 74
4.2 MCF52233的UART模組的物理結構 76
4.3 MCF52233的UART模組的編程結構 79
4.4 基於構件方法的UART編程 82
4.4.1 UART構件的函式原型設計 82
4.4.2 UART構件的頭檔案 83
4.4.3 UART構件的源程式檔案 86
4.4.4 UART構件的測試工程 91
4.5 ColdFire第一個帶有中斷功能的實例 92
4.6 MCF52233的四通道DMA控制器 95
4.6.1 DMA概述 95
4.6.2 MCF52233四通道DMA特點 95
4.6.3 MCF52233的DMA控制器編程結構 96
4.7 MCF52233的DMA編程要點 99
4.7.1 DMA初始化 100
4.7.2 DMA啟動序列與重啟序列 100
4.8 基於構件的帶DMA的UART編程實例 101
4.8.1 DMA構件的函式原型設計 101
4.8.2 DMA構件的頭檔案 101
4.8.3 DMA構件的源程式檔案 105
4.8.4 DMA方式收/發測試實例 108
4.9 進一步討論 110
4.9.1 流控制與Break信號 110
4.9.2 延長串口通信的距離 111
4.9.3 串口的擴展 111
第5章 GPIO的套用實例——鍵盤、LED與LCD 113
5.1 鍵盤 113
5.1.1 鍵盤模型及接口 113
5.1.2 鍵盤編程的基本問題 114
5.1.3 鍵盤編程實例 114
5.2 碼管LED 121
5.2.1 描法編程原理 121
5.2.2 碼管編程實例 122
5.3 液晶LCD 126
5.3.1 HD44780的編程結構 126
5.3.2 點陣字元型LCD編程實例 127
第6章 MCF52233的A/D轉換模組 133
6.1 A/D轉換的基本問題 133
6.2 MCF52233的A/D轉換結構與特性 134
6.3 MCF52233的A/D模組編程暫存器 135
6.4 基於構件的A/D編程 144
6.4.1 A/D構件的函式原型設計 144
6.4.2 A/D構件的頭檔案 145
6.4.3 A/D構件的源程式檔案 146
6.5 MCF52233A/D模組編程實例——物理量採集回歸系統 149
6.5.1 低端軟體設計 149
6.5.2 高端軟體設計 151
6.6 常用感測器簡介及一個典型信號採樣電路設計 152
6.6.1 常用感測器簡介 152
6.6.2 電阻型感測器採樣電路設計 154
第7章 定時器相關模組及其套用 156
7.1 可程式中斷定時器 156
7.1.1 PIT模組的編程暫存器 156
7.1.2 PIT模組的運行模式與編程方法 157
7.1.3 PIT模組的編程實例 158
7.2 通用定時器GPT模組 161
7.2.1 計數器/定時器的基本工作原理 161
7.2.2 定時器模組的定時計數功能 162
7.2.3 定時器模組的輸入捕捉功能 166
7.2.4 定時器模組的輸出比較功能 171
7.2.5 定時器模組的脈衝累加功能 174
7.3 PWM與D/A轉換 177
7.3.1 PWM基本概念 177
7.3.2 PWM的編程暫存器 179
7.3.3 PWM的編程實例 182
7.3.4 PWM的進一步討論 189
7.3.5 用PWM實現D/A轉換 190
第8章 佇列式串列外設接口 191
8.1 SPI的基本工作原理 191
8.1.1 SPI基本概念 191
8.1.2 SPI的數據傳輸 192
8.1.3 SPI模組的時序 193
8.1.4 模擬SPI 194
8.2 MCF52233佇列串列外設接口(QSPI)模組編程結構 195
8.2.1 QSPI概述 195
8.2.2 QSPI工作原理 196
8.2.3 QSPI功能描述 197
8.2.4 QSPI模組暫存器 198
8.2.5 傳送延時 202
8.3 MCF52233的串列外設接口QSPI模組編程實例 203
第9章 I2C模組及套用實例 209
9.1 I2C模組 209
9.1.1 I2C匯流排特點 209
9.1.2 I2C匯流排標準的發展歷史 210
9.1.3 I2C匯流排的相關術語 210
9.2 I2C匯流排工作原理 211
9.2.1 匯流排上數據的有效性 211
9.2.2 匯流排上的信號 211
9.2.3 匯流排上數據傳輸格式 213
9.2.4 I2C匯流排定址約定 213
9.2.5 主機向從機讀/寫1個位元組數據的過程 213
9.3 I2C模組的編程基礎 214
9.3.1 MCF52233的I2C模組 214
9.3.2 MCF52233的I2C模組暫存器介紹 215
9.3.3 MCF52233的I2C模組編程 218
9.4 MCF52233的I2C模組的進一步討論 224
9.4.1 仲裁程式 224
9.4.2 實現數據傳輸同步交換 225
第10章 Flash線上編程 226
10.1 Flash存儲器概述 226
10.2 ColdFireFlash存儲器編程方法 227
10.2.1 ColdFireFlash模組暫存器 228
10.2.2 ColdFireFlash存儲器擦除/寫入的步驟 231
10.3 ColdFireFlash擦除/寫入函式的測試工程 236
10.4 ColdFireFlash存儲器的保護特性和安全性 237
10.4.1 ColdFireFlash存儲器的保護特性 237
10.4.2 ColdFireFlash存儲器的安全性 237
第11章 MCF52235FlexCAN模組編程方法 241
11.1 CAN匯流排通用知識 241
11.1.1 CAN匯流排協定的歷史概況 241
11.1.2 CAN硬體系統的典型電路 241
11.1.3 CAN匯流排的有關基本概念 244
11.1.4 幀結構 247
11.1.5 位時間 250
11.2 MCF52235FlexCAN模組概述與編程結構 251
11.2.1 FlexCAN特性 251
11.2.2 操作模式 252
11.2.3 FlexCAN模組的記憶體映像以及暫存器定義 254
11.2.4 FlexCAN報文緩衝區(MessageBuffer,MB) 259
11.3 MCF52235FlexCAN模組報文傳送與接收函式設計 263
11.3.1 數據幀傳送/接收 263
11.3.2 遠程幀傳送/接收 267
11.3.3 仲裁處理、匹配處理及報文緩衝區管理 271
11.4 MCF52235FlexCAN模組編程實例 272
11.4.1 初始化函式設計 272
11.4.2 MCF52235FlexCAN模組測試工程說明 274
11.5 進一步討論 276
第12章 基於MCF52233的嵌入式乙太網 280
12.1 嵌入式乙太網相關基礎知識 280
12.1.1 乙太網的由來與協定模型 280
12.1.2 乙太網中主要物理設備 283
12.1.3 相關名詞解釋 284
12.2 MCF52233乙太網模組外部連線及編程基礎 288
12.2.1 乙太網模組引腳及硬體連線 288
12.2.2 乙太網物理層收/發器EPHY的編程基礎 290
12.2.3 第一個測試實例:網路連線 294
12.2.4 快速乙太網控制器FEC的編程基礎 299
12.3 鏈路層編程 307
12.3.1 FEC初始化函式FEC_Init 307
12.3.2 以太幀傳送 311
12.3.3 以太幀接收 313
12.3.4 第二個測試實例:以太幀的傳送和接收 315
12.3.5 第三個測試實例:鏈路層ARP協定編程 317
12.4 網路層的IP協定與ICMP協定編程 320
12.4.1 IP協定簡介 320
12.4.2 第四個測試實例:使用ICMP協定回響Ping請求 322
12.5 傳輸層的UDP與TCP協定編程 324
12.5.1 UDP協定概述 324
12.5.2 第五個測試實例:UDP報文的傳送和接收 324
12.5.3 TCP協定概述 326
12.5.4 第六個測試實例:TCP報文的傳送和接收 326
12.6 套用層的HTTP協定編程 329
12.6.1 HTTP協定概述 330
12.6.2 第七個測試實例:HTTP協定靜態頁面的實現 332
第13章 其他模組 333
13.1 時鐘模組 333
13.2 晶片配置模組 334
13.2.1 晶片配置模組簡介 335
13.2.2 晶片配置模組暫存器定義 335
13.3 系統控制模組 336
13.3.1 系統控制模組功能概述 336
13.3.2 系統控制模組的可程式暫存器 337
13.3.3 對系統初始化過程的理解 339
13.4 實時時鐘模組 341
13.5 電源管理模組 343
13.5.1 低功耗模式 343
13.5.2 低功耗模式下的外設行為 344
13.5.3 電源管理模組暫存器定義 344
13.6 復位控制模組 345
第14章 基於MCF52223的USB2.0編程 347
14.1 USB基本概念及硬體特性 347
14.1.1 USB概述 347
14.1.2 USB相關基本概念 349
14.1.3 USB的物理特性 354
14.2 USB的通信協定 356
14.2.1 USB基本通信單元:包 356
14.2.2 USB通信中的事務處理 358
14.2.3 從設備的枚舉看USB數據傳輸 360
14.3 MCF52223硬體最小系統及USB模組功能簡介 364
14.3.1 MCF52223硬體最小系統 364
14.3.2 MCF52223的USB模組功能簡介 365
14.3.4 .MCF52223的USB模組主要暫存器介紹 366
14.4 MCF52223作為USB從機的開發方法 370
14.4.1 PC端USB設備驅動程式的選擇及基本原理 370
14.4.2 PC作為USB主機的程式設計 374
14.4.3 MCF52223作為USB從機的程式設計 377
14.5 MCF52223作為USB主機的開發方法 381
14.5.1 MCF52223作為USB主機的基本功能 381
14.5.2 USB主機與CDC類USB設備通信 383
14.5.3 USB主機與MassStorage類USB設備通信 384
14.6 採用OTG技術的USB系統開發方法 384
第15章 μC/OS-Ⅱ在ColdFire上的移植與套用 388
15.1 實時作業系統概述 388
15.1.1 實時作業系統基本含義和要求 388
15.1.2 任務和多任務 388
15.1.3 RTOS的常用術語 389
15.1.4 RTOS的現狀 390
15.2 嵌入式實時作業系統μC/OS-Ⅱ 392
15.2.1 μC/OS-Ⅱ簡介 392
15.2.2 μC/OS-Ⅱ與幾種RTOS的比較 393
15.2.3 μC/OS-Ⅱ中的任務 393
15.2.4 ?C/OS-Ⅱ用戶應用程式的一般結構 394
15.3 μC/OS-Ⅱ的任務劃分 395
15.3.1 任務劃分的目標 396
15.3.2 任務劃分的方法 396
15.4 μC/OS-Ⅱ在MCF52233上的套用實例 398
15.4.1 基於μC/OS-Ⅱ的套用實例 398
15.4.2 與無RTOS實例的比較 400
15.5 μC/OS-Ⅱ在MCF52233上的移植 401
15.5.1 定義核心的大小和功能 401
15.5.2 與硬體相關的代碼 403
第16章 基於硬體構件的嵌入式系統開發方法 407
16.1 嵌入式系統開發所遇到的若干問題 407
16.2 嵌入式硬體構件的基本思想與套用方法 408
16.3 基於硬體構件的嵌入式系統硬體電路設計原則 408
16.3.1 設計時需要考慮的基本問題 408
16.3.2 硬體構件化電路原理圖繪製規則 409
16.3.3 PCB設計基本原則 411
16.4 基於硬體構件的嵌入式底層軟體構件的編程方法 413
16.4.1 嵌入式硬體構件和軟體構件的層次模型 413
16.4.2 底層構件的實現方法與編程思想 414
16.4.3 硬體構件及底層軟體構件的重用與移植方法 416
16.5 硬體構件化嵌入式開發技術的套用實例 417
16.5.1 系統功能 417
16.5.2 硬體設計 418
16.5.2 軟體設計 422
附錄A 425
附錄B 427
附錄C 430
參考文獻 434