內容簡介
《智慧型嵌入技術開發與實踐》針對核心為ARM Cortex-M3的Cypress FM3微處理器,介紹ARM Cortex-M3架構、原理和套用。FM3微處理器具有豐富的內部外圍資源,以此為基礎結合實驗例程由淺入深的講解智慧型
嵌入式開發技術。其中包括:(1)基於通用IO口外部設備驅動;(2)多任務信號採集系統的實現;(3)UART多任務串列通訊接口工程設計;(4)USB與PC端數據通訊的實現;(5)CAN匯流排區域網路設計與多任務信息通訊;(6)I2C匯流排通訊技術;(7)SPI匯流排通訊技術;(8)多功能定時技術器的套用等。軟體開發選擇μC/OS-II作為
嵌入式作業系統,比較適合本科層次教學,因為μC/OS-II系統具備了核心小、實時性好、易於移植等特點,具有經典作業系統的多任務通訊與同步機制,和LINUX、Android、Window CE等相對複雜的核心相比,代碼容易理解和實現多任務程式設計。
圖書目錄
1.1嵌入式系統概述1
1.1.1嵌入式系統的定義1
1.1.2嵌入式系統的特點1
1.1.3嵌入式微處理器2
1.2嵌入式系統的組成9
1.2.1嵌入式系統的硬體基礎9
1.2.3嵌入式系統的軟體基礎12
1.3.1簡單的嵌入式系統開發13
1.3.3基於片上系統的嵌入式系統開發14
小結15
習題15
第2章ARM CortexM3微處理器16
2.1ARM CortexM3的核心結構16
2.1.2ARM CortexM3核心特點17
2.1.3暫存器組19
2.2ARM CortexM3的操作模式21
2.2.1操作模式22
2.2.2特權級別22
2.3中斷和異常管理23
2.3.1概述23
2.3.3異常類型28
2.3.4中斷控制29
2.4MB9BF506R微處理器簡介31
2.4.1MB9BF506R系統概要31
2.4.2匯流排架構34
2.4.3存儲器架構34
2.4.4MB9BF506R的外部匯流排接口39
2.4.5MB9BF506R的工作模式40
小結41
習題41
第3章嵌入式軟體開發基礎42
3.1CMSISCortex
微控制器軟體接口標準42
3.1.1Cortex系列微處理器的數據類型42
3.1.2CMSIS架構42
3.1.3關於啟動代碼45
3.1.4CMSIS編碼規則46
3.1.5CMSIS支持的工具鏈46
3.2MB9BF506R的外設驅動庫47
3.2.1概述47
3.2.2例程的使用方法47
3.3線上編程52
3.3.1Flash線上編程的程式設計53
3.3.2程式的線上升級——BootLoader設計59
3.3.3燒寫程式到MCU內部Flash63
3.4系統的低功耗設計65
3.4.1影響系統功耗的因素及處理措施65
3.4.2MB9BF506R的低功耗工作模式67
小結70
習題71
第4章基於μC/OSⅡ的嵌入式軟體開發特點72
4.1μC/OSⅡ核心概述72
4.1.1μC/OSⅡ的任務72
4.1.2μC/OSⅡ的任務管理82
4.1.3μC/OSⅡ的時鐘節拍與時間管理86
4.1.4μC/OSⅡ的任務的通信與同步89
4.2實現μC/OSⅡ的移植102
4.2.1μC/OSⅡ移植的條件102
4.2.2μC/OSⅡ移植工作102
4.3基於μC/OSⅡ的多任務系統開發108
4.3.1μC/OSⅡ的配置108
4.3.3任務代碼的實現112
小結113
習題113
第5章嵌入式系統開發流程114
5.1.1JX MB9BF506R開發板115
5.1.2開發板硬體配置115
5.2嵌入式系統開發環境118
5.2.1安裝IAR Embedded Workbench開發環境118
5.2.2安裝JLink驅動程式118
5.3在IAR EWARM Workbench中使用JLink調試120
5.3.1程式包的結構121
5.3.2打開現有工程進行調試121
5.3.3項目選項的設定123
小結131
習題131
第6章基於μC/OSⅡ的嵌入式系統實驗132
6.1流水燈控制132
6.1.1實驗目的132
6.1.2實驗內容132
6.1.3實驗原理及說明132
6.1.4相關初始化暫存器介紹133
6.1.6程式設計135
6.1.7實驗步驟139
6.2點陣LCD顯示控制139
6.2.1實驗目的139
6.2.2實驗內容139
6.2.3實驗原理及說明139
6.2.4相關暫存器介紹143
6.2.5設備驅動程式介紹143
6.2.6程式設計145
6.2.7實驗步驟149
6.3基於訊息信箱機制的按鍵掃描和LED顯示控制149
6.3.1實驗目的149
6.3.2實驗內容149
6.3.3實驗原理及說明149
6.3.4相關初始化暫存器介紹151
6.3.5設備驅動程式介紹152
6.3.6程式設計154
6.3.7實驗步驟160
6.4基於訊息佇列機制的溫濕度模擬數據採集及顯示160
6.4.1實驗目的160
6.4.2實驗內容160
6.4.3實驗原理及說明160
6.4.4A/D相關暫存器163
6.4.5設備驅動程式介紹163
6.4.6程式設計164
6.4.7實驗步驟169
6.5利用RS232串口實現與PC通信169
6.5.1實驗目的169
6.5.2實驗內容169
6.5.3實驗原理及說明170
6.5.4UART相關暫存器171
6.5.5設備驅動程式介紹173
6.5.6程式設計174
6.5.7實驗步驟177
6.6基於
信號量機制的區域網路CAN匯流排通信179
6.6.1實驗目的179
6.6.2實驗內容179
6.6.3實驗原理及說明179
6.6.4CAN的相關暫存器184
6.6.5CAN驅動程式介紹184
6.6.6程式設計190
6.6.7實驗步驟200
6.7USB Function實驗201
6.7.1實驗目的 201
6.7.2實驗內容201
6.7.3實驗原理及說明201
6.7.4USB Function相關暫存器203
6.7.5設備驅動程式介紹204
6.7.6程式設計205
6.7.7實驗步驟213
6.8USB HOST實驗214
6.8.1實驗目的214
6.8.2實驗內容214
6.8.3實驗原理及說明214
6.8.4USB HOST相關暫存器217
6.8.5設備驅動程式介紹218
6.8.6程式設計220
6.8.7實驗步驟223
6.9綜合實例——虛擬示波器224
6.9.1實驗目的224
6.9.2實驗內容224
6.9.3實驗原理及說明224
6.9.4相關初始化暫存器介紹225
6.9.5設備驅動程式介紹227
6.9.6程式設計230
6.9.7實驗步驟241
6.10綜合實例——多功能數據採集顯示系統241
6.10.1實驗目的241
6.10.2實驗內容241
6.10.3實驗原理及說明241
6.10.4實驗相關暫存器242
6.10.5設備驅動程式介紹243
6.10.6程式設計243
6.10.7實驗步驟251
第7章FM4套用擴展253
7.1FM4介紹253
7.2FM4 S6E2G系列開發套件概述255
7.2.1開發板概述255
7.2.2FM4 S6E2G系列開發套件的跳線設定255
7.3FM4 S6E2G系列開發套件硬體構成257
7.3.1FM4 S6E2G系列開發套件的原理257
7.4FM4 S6E2G系列開發套件的開發環境配置270
7.4.1軟體安裝270
7.4.2卸載軟體273
7.4.3測試操作273
7.5FM4 S6E2G系列開發套件的開發實訓275
7.5.1概述275
7.5.2實驗背景276
7.5.3實驗A: 使用PDL的ADC278
7.5.4實驗B: 不使用PDL的ADC282
7.5.5實驗測試285
小結286
習題286
參考文獻288