RISC-V嵌入式開發實踐——基于CH32V307微控制器( 簡體 字) | |
作者:王宜懷 楊勇 施連敏 游輝敏 編著 | 類別:1. -> 電腦組織與體系結構 -> 單晶片 -> RISC-V |
出版社:北京航空航天大學出版社 | 3dWoo書號: 55822 詢問書籍請說出此書號! 有庫存 NT售價: 300 元 |
出版日:4/1/2022 | |
頁數:320 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787512437531 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章 概 述 1
1.1 初識嵌入式系統 1 1.1.1 運行硬體系統 1 1.1.2 實踐體系簡介 3 1.1.3 編譯、下載與運行個嵌入式程式 4 1.2 嵌入式系統的定義、發展簡史、分類及特點 6 1.2.1 嵌入式系統的定義 6 1.2.2 嵌入式系統的由來及發展簡史 7 1.2.3 嵌入式系統的分類 8 1.2.4 嵌入式系統的特點 9 1.3 嵌入式系統的學習困惑、知識體系及學習建議 10 1.3.1 嵌入式系統的學習困惑 10 1.3.2 嵌入式系統的知識體系 13 1.3.3 基礎階段的學習建議 14 1.4 微控制器與應用處理器簡介 16 1.4.1 MCU簡介 16 1.4.2 以 MCU為核心的嵌入式測控產品的基本組成 17 1.4.3 MAP簡介 19 1.5 嵌入式系統常用術語 20 1.5.1 與硬體相關的術語 20 1.5.2 與通信相關的術語 21 1.5.3 與功能模組相關的術語 22 本章小結 23 習 題 24 第2章 RISC V架構微處理器 25 2.1 RISC V概述與青稞 V4F微處理器簡介 25 2.1.1 RISC V概述 25 2.1.2 青稞 V4F微處理器內部結構概要 27 2.1.3 寄存器通用基礎知識及相關基本概念 28 2.1.4 青稞 V4F微處理器的內部寄存器 29 2.2 定址方式與機器碼的獲取方法 30 2.2.1 指令保留字簡表與定址方式 31 2.2.2 機器碼的獲取方法 32 2.3 RISC V基本指令分類解析 34 2.3.1 資料傳送類指令 34 2.3.2 資料操作類指令 36 2.3.3 跳轉類指令 37 2.3.4 CSR類指令 38 2.3.5 其他指令 39 2.4 組合語言的基本語法 39 2.4.1 組合語言的格式 39 2.4.2 常用虛擬指令簡介 41 本章小結 43 習 題 44 第3章 記憶體映射、中斷源與硬體小系統 45 3.1 CH32V307系列 MCU概述 45 3.1.1 CH32V307系列 MCU命名規則 45 3.1.2 CH32V307記憶體映射 46 3.1.3 CH32V307中斷源 47 3.2 CH32V307的引腳圖與硬體小系統 50 3.2.1 CH32V307的引腳圖 50 3.2.2 CH32V307硬體小系統原理圖 52 3.3 由 MCU構建通用嵌入式電腦 54 3.3.1 嵌入式終端開發方式存在的問題與解決辦法 55 3.3.2 提出GEC概念的時機、GEC的定義與特點 56 3.3.3 由CH32V307VCT6構成的GEC 57 本章小結 62 習 題 62 第4章 GPIO及程式框架 64 4.1 GPIO通用基礎知識 64 4.1.1 GPIO概念 64 4.1.2 輸出引腳的基本接法 64 4.1.3 上拉下拉電阻與輸入引腳的基本接法 65 4.2 軟體干預硬體的方法 66 4.2.1 GPIO構件 API 66 4.2.2 個C語言工程:控制小燈閃爍 68 4.3 認識工程框架 70 4.3.1 工程框架及所含檔簡介 70 4.3.2 瞭解機器碼檔及晶片執行流程 72 4.4 GPIO構件的製作過程 74 4.4.1 埠與GPIO模組———對外引腳與內部寄存器 74 4.4.2 GPIO基本程式設計步驟並點亮一盞小燈 77 4.4.3 GPIO構件的設計 78 4.5 個組合語言工程:控制小燈閃爍 83 4.5.1 彙編工程檔的組織 83 4.5.2 組合語言小燈測試工程主程序 84 4.6 實驗一 熟悉實驗開發環境及GPIO程式設計 88 本章小結 91 習 題 92 第5章 嵌入式硬體構件與底層驅動構件基本規範 93 5.1 嵌入式硬體構件 93 5.1.1 嵌入式硬體構件概念與嵌入式硬體構件分類 93 5.1.2 基於嵌入式硬體構件的電路原理圖設計簡明規則 94 5.2 嵌入式底層驅動構件的概念與層次模型 97 5.2.1 嵌入式底層驅動構件的概念 98 5.2.2 嵌入式硬體構件與軟體構件結合的層次模型 98 5.2.3 嵌入式軟體構件分類 99 5.3 底層驅動構件的封裝規範 100 5.3.1 構件設計的基本思想與基本原則 100 5.3.2 編碼風格基本規範 102 5.3.3 標頭檔的設計規範 105 5.3.4 來源程式檔的設計規範 107 5.4 硬體構件及其驅動構件的複用與移植方法 108 5.4.1 硬體構件的複用與移植 108 5.4.2 驅動構件的移植 109 本章小結 110 習 題 111 第6章 串列通信模組及個中斷程式結構 112 6.1 非同步串列通信的通用基礎知識 112 6.1.1 串列通信的基本概念 112 6.1.2 RS232和RS485匯流排標準 114 6.1.3 TTL USB串口 115 6.1.4 串列通信程式設計模型 116 6.2 基於構件的串列通信程式設計方法 117 6.2.1 CH32V307VCT6晶片的 UART對外引腳 117 6.2.2 UART構件API 118 6.2.3 UART構件API的發送測試方法 119 6.2.4 printf的設置方法與使用 120 6.3 UART構件的製作過程 121 6.3.1 UART寄存器概述 121 6.3.2 利用直接位址操作的串口發送打通程式 121 6.3.3 UART構件設計 125 6.4 中斷機制及中斷程式設計步驟 129 6.4.1 關於中斷的通用基礎知識 129 6.4.2 RISC V非內核模組中斷程式設計結構 132 6.4.3 CH32V307VCT6中斷程式設計步驟———以串口接收中斷為例 134 6.5 實驗二 串口通信及中斷實驗 137 本章小結 139 習 題 139 第7章 計時器相關模組 141 7.1 計時器的通用基礎知識 141 7.2 CH32V307VCT6中的計時器 141 7.2.1 青稞 V4F內核中的系統計時器SysTick 142 7.2.2 即時時鐘RTC模組 146 7.2.3 Timer模組的基本定時功能 149 7.3 脈寬調製 151 7.3.1 脈寬調製PWM 的通用基礎知識 151 7.3.2 基於構件的PWM 程式設計方法 154 7.3.3 脈寬調製構件的製作過程 157 7.4 輸入捕獲與輸出比較 162 7.4.1 輸入捕獲與輸出比較的通用基礎知識 162 7.4.2 基於構件的輸入捕獲和輸出比較程式設計方法 162 7.5 實驗三 計時器及PWM 實驗 167 本章小結 168 習 題 169 第8章 Flash線上程式設計、ADC與DAC 170 8.1 Flash線上程式設計 170 8.1.1 Flash線上程式設計的通用基礎知識 170 8.1.2 基於構件的Flash線上程式設計方法 171 8.1.3 Flash構件的製作過程 173 8.2 ADC 176 8.2.1 ADC的通用基礎知識 176 8.2.2 基於構件的ADC程式設計方法 180 8.2.3 ADC構件的製作過程 183 8.3 DAC 186 8.3.1 DAC的通用基礎知識 186 8.3.2 基於構件的DAC程式設計方法 187 8.4 實驗四 ADC實驗 189 本章小結 190 習 題 190 第9章 SPI、I2C與TSC模組 192 9.1 串列外設介面SPI模組 192 9.1.1 SPI的通用基礎知識 192 9.1.2 基於構件的SPI通信程式設計方法 195 9.2 積體電路互聯匯流排I2C模組 199 9.2.1 I2C的通用基礎知識 199 9.2.2 基於構件的I2C通信程式設計方法 204 9.3 觸摸感應控制器TSC模組 208 9.3.1 TSC的基本原理 208 9.3.2 基於構件的TSC程式設計方法 209 9.4 實驗五 SPI通信實驗 212 本章小結 214 習 題 214 第10章 DMA與CAN匯流排程式設計 216 10.1 CAN匯流排 216 10.1.1 CAN匯流排的通用基礎知識 216 10.1.2 基於構件的CAN程式設計方法 220 10.2 DMA 223 10.2.1 DMA的通用基礎知識 223 10.2.2 基於構件的DMA程式設計方法 225 本章小結 228 習 題 228 第11章 USB與嵌入式乙太網模組 229 11.1 USB的通用基礎知識 229 11.1.1 USB概述 229 11.1.2 與 USB相關的基本概念 232 11.1.3 USB通信協議 237 11.1.4 從設備的枚舉看 USB資料傳輸 241 11.2 CH32V307的 USB模組應用程式設計方法 246 11.2.1 CH32V307的 USB模組簡介 246 11.2.2 CH32V307作為 USB從機的程式設計方法 246 11.2.3 CH32V307作為 USB主機的程式設計方法 254 11.3 嵌入式乙太網的通用基礎知識 257 11.3.1 乙太網的由來與協定模型 257 11.3.2 乙太網中的主要物理設備 260 11.3.3 相關名詞解釋 262 11.4 CH32V307的乙太網模組應用程式設計方法 265 11.4.1 CH32V307的乙太網模組簡介 265 11.4.2 乙太網底層驅動構件 267 11.4.3 乙太網測試實例 269 11.5 本章小結 284 習 題 284 第12章 系統時鐘與其他功能模組 286 12.1 時鐘系統 286 12.1.1 時鐘系統概述 286 12.1.2 時鐘模組寄存器概要 287 12.1.3 時鐘模組程式設計實例 289 12.2 電源模組與重定模組 291 12.2.1 電源模組 291 12.2.2 重定模組 292 12.3 看門狗 292 12.3.1 獨立看門狗 293 12.3.2 系統視窗看門狗 294 12.4 數位視訊介面與安全數位輸入/輸出 296 12.4.1 數位視訊介面 296 12.4.2 安全數位輸入/輸出 297 本章小結 298 習 題 298 第13章 應用案例 299 13.1 嵌入式系統穩定性問題 299 13.2 外接感測器及執行部件的程式設計方法 300 13.2.1 開關量輸出類驅動構件 300 13.2.2 開關量輸入類驅動構件 303 13.2.3 聲音與加速度感測器驅動構件 305 13.3 即時操作系統的簡明實例 306 13.3.1 無作業系統與即時操作系統 306 13.3.2 RTOS中常用的基本概念 307 13.3.3 執行緒的三要素、四種狀態及三種基本形式 308 13.3.4 RTOS下的程式設計實例 311 13.4 嵌入式人工智慧的簡明實例 312 13.4.1 AHLGEORS簡介 312 13.4.2 AHLGEORS的資料獲取與訓練過程 314 13.4.3 在通用嵌入式電腦GEC上進行的推理過程 315 13.5 沁恒 MCU的其他嵌入式實踐資源簡介 316 13.5.1 AHLGCH573 316 13.5.2 AHLGCH573GNBGIoT 317 13.5.3 AHLGCH573GCAT1 318 參考文獻 320 本書以沁恒微電子公司 (WCH)的RSIC-V內核的 CH32V307系列微控制器為 監本,以知識要素為核心, 以構件化為基礎,闡述嵌入 式技術基礎與實踐。本書介 紹的AHL-CH32V307硬體系 統可以滿足基礎實踐的需要 。 全書共13章,第1章簡要 闡述嵌入式系統的知識體系 、學習誤區與學習建議;第 2章為RSIC-V架構微處理器 簡介;第3章介紹MCU存儲 器映射、中斷源與硬體 小 系統;第4章以GPIO為例給 出規範的工程組織框架,闡 述底層驅動應用與設計方法 ;第5章介紹嵌入式硬體構 件與底層驅動構件的基本規 範;第6章闡述串列通信接 口UART,並給出 個帶 中斷的實例, ~6章囊括 了學習一個微控制器入門環 節的完整要素,第7~12章 分別介紹了SysTick、Timer 、RTC、Flash線上程式設計、 ADC、DAC、SPI、I2C、 TSC、DMA、CAN、USB、 乙太網模組及其他模組。第 13章給出了外接部件, RTOS、嵌入式人工智慧等 應用案例。 本書適用於高等學校嵌 入式系統的教學或技術培訓 ,也可供嵌入式系統與物聯 網應用技術人員研發時參考 。
|