嵌入式系統(tǒng)應用開發(fā)——基于RISC-V架構玄鐵處理器
定 價:69 元
叢書名:RISC-V工程技術叢書
當前圖書已被 2 所學校薦購過!
查看明細
- 作者:王宜懷、賈俊鋮、 陳林、索明何、許佳捷
- 出版時間:2025/8/1
- ISBN:9787302695509
- 出 版 社:清華大學出版社
- 中圖法分類:TP332.021
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
《嵌入式系統(tǒng)應用開發(fā)——基于RISC-V架構玄鐵處理器》以全志科技的RSIC-V架構64位玄鐵C906內核D1-H芯片為藍本,以知識要素為核心,遵循構件化原則,闡述嵌入式系統(tǒng)應用開發(fā)方法。硬件載體為基于D1-H構建的通用嵌入式計算機AHL-D1-H,可以滿足基本實踐需要。全書共13章,其中,第1章簡要闡述嵌入式系統(tǒng)的知識體系、學習誤區(qū)與學習建議;第2章給出指令系統(tǒng)與匯編語言語法;第3章給出D1-H硬件最小系統(tǒng);第4章以GPIO為例給出規(guī)范的工程組織框架;第5章給出嵌入式硬件構件與底層驅動構件基本規(guī)范;第6章闡述串行通信接口UART,并給出優(yōu)質個帶中斷的實例。第1~6章囊括了學習嵌入式系統(tǒng)入門環(huán)節(jié)的完整要素。第7~10章給出了定時器、PWM、Flash在線編程、ADC、DMA、SPI、I2C、系統(tǒng)時鐘與看門狗等模塊。第11章介紹實時操作系統(tǒng)。第12章給出嵌入式人工智能的應用。第13章給出進一步的學習導引!肚度胧较到y(tǒng)應用開發(fā)——基于RISC-V架構玄鐵處理器》提供豐富的教學資源,適用于高等學校嵌入式系統(tǒng)的教學或技術培訓,也可供嵌入式系統(tǒng)應用技術人員研發(fā)時參考。
《嵌入式系統(tǒng)應用開發(fā)——基于RISC-V架構玄鐵處理器》以RSIC-V架構64位玄鐵C906內核D1-H芯片為藍本,以嵌入式硬件構件及底層軟件構件設計為主線,以知識要素為核心,遵循構件化原則,基于嵌入式軟件工程的思想闡述嵌入式系統(tǒng)應用開發(fā)方法。硬件載體為基于D1-H構建的通用嵌入式計算機AHL-D1-H,可以滿足基本實踐需要。邏輯清晰,方便理解對于嵌入式“通用知識”的基本原理,以應用為立足點進行闡述,同時注意與芯片相關知識之間的銜接,使讀者在更好地熟悉基本原理的基礎上理解芯片應用的設計。知識系統(tǒng),層次遞進《嵌入式系統(tǒng)應用開發(fā)——基于RISC-V架構玄鐵處理器》以知識要素為基本立足點設計芯片底層驅動,使應用程序與芯片無關,具有通用嵌入式計算機性質。書中提前闡述大部分驅動的使用方法,而后置驅動構件的設計方法,目的是先學會使用構件進行實際編程,后理解構件的設計方法。程序驗證,實用性強書中所有源程序均經(jīng)測試通過,并保留測試用例在《嵌入式系統(tǒng)應用開發(fā)——基于RISC-V架構玄鐵處理器》的教學資源中,避免了例程的書寫或固有錯誤給讀者帶來煩惱,可以為讀者進行實際項目開發(fā)節(jié)省大量時間。資源豐富,易教易學為了便于教師教學,提供全套教學資料,獲取方式詳見前言。
前言
嵌入式系統(tǒng)即嵌入式計算機系統(tǒng),其概念最初源于傳統(tǒng)測控系統(tǒng)對計算機系統(tǒng)的需求。計算機系統(tǒng)可為通用計算機系統(tǒng)與嵌入式計算機系統(tǒng),通用計算機已經(jīng)在科學計算、通信、日常生活等各個領域產(chǎn)生了重要影響,在后PC時代,嵌入式系統(tǒng)的廣闊應用是計算機發(fā)展的重要特征,包括機器人、工業(yè)控制、汽車電子、嵌入式人工智能、物聯(lián)網(wǎng)、手機等產(chǎn)品開發(fā)。近年來,RISCV架構國產(chǎn)嵌入式芯片不斷出現(xiàn),如何將其納入嵌入式技術的基礎教學,是值得研究的課題。經(jīng)過三年多的開發(fā)研究,蘇州大學嵌入式人工智能與物聯(lián)網(wǎng)實驗室完成了硬件系統(tǒng)、集成開發(fā)環(huán)境、底層驅動構件、樣例程序等工作。在此基礎上,并依托前期 “十二五”普通高等教育本科規(guī)劃教材和本科一流課程的積累,遵循把復雜問題簡單化的基本理念,按照由淺入深的原則,撰寫本書。
本書以全志科技的RSICV架構64位玄鐵C906內核D1H芯片為藍本,以知識要素為核心,遵循構件化原則,闡述嵌入式系統(tǒng)應用開發(fā)方法。硬件載體為基于D1H構建的通用嵌入式計算機AHLD1H,可以滿足基本實踐需要。
書中以嵌入式硬件構件及底層軟件構件設計為主線,基于嵌入式軟件工程的思想,按照“通用知識—驅動構件使用方法—測試實例—構件制作過程”的順序,逐步闡述嵌入式技術基礎。需要特別說明的是,雖然撰寫圖書與教學必須以某一特定芯片為藍本,但作為嵌入式技術基礎,本書試圖闡述嵌入式通用知識要素。因此,本書以知識要素為基本立足點設計芯片底層驅動,使得應用程序與芯片無關,具有通用嵌入式計算機(GEC)性質。書中將大部分驅動的使用方法提前闡述,而驅動構件的設計方法后置,目的是先學會使用構件進行實際編程,再理解構件的設計方法。因構件設計方法部分有一定的難度,對于不同要求的教學場景,也可不要求學生理解全部構件的設計方法,講解一兩個即可。
本書具有以下特點。
(1) 把握通用知識與芯片相關知識之間的平衡。書中對于嵌入式“通用知識”的基本原理,以應用為立足點,進行語言簡潔、邏輯清晰的闡述,同時注意芯片相關知識之間的銜接,使讀者在更好地理解基本原理的基礎上理解芯片應用的設計,同時反過來加深對通用知識的理解。
(2) 把握硬件與軟件的關系。嵌入式系統(tǒng)是軟件與硬件的綜合體,嵌入式系統(tǒng)設計是一個軟件、硬件協(xié)同設計的工程,不能像通用計算機那樣,將軟件、硬件完全分開來看。特別是對電子系統(tǒng)智能化嵌入式應用來說,沒有對硬件的理解就不可能寫好嵌入式軟件,同樣沒有對軟件的理解也不可能設計好嵌入式硬件。因此,本書注重把握硬件知識與軟件知識之間的關系。
(3) 對底層驅動進行構件化封裝。書中對每個模塊均根據(jù)嵌入式軟件工程基本原則并按照構件化封裝要求編制底層驅動程序,同時給出詳細、規(guī)范的注釋及對外接口,為實際應用提供底層構件,方便移植與復用,從而在實際項目開發(fā)中節(jié)省大量時間。
(4) 設計合理的測試用例。書中所有源程序均經(jīng)測試通過,并在本書的配套教學資源中提供測試用例,避免了例程的書寫或固有錯誤帶來的麻煩。這些測試用例為讀者驗證與理解帶來方便。
(5) 配套教學資源提供了所有模塊的完整底層驅動構件化封裝程序與測試用例。需要使用PC程序的測試用例,還提供了PC的C#源程序、芯片資料、使用文檔、硬件說明等,另外制作了教學課件及微課視頻,并且教學資源的版本將會適時更新。
本書由王宜懷、賈俊鋮、陳林、索明何、許佳捷編寫,蘇州大學嵌入式人工智能與物聯(lián)網(wǎng)實驗室的研究生參與了程序開發(fā)、書稿內容整理及有關資源建設,他們卓有成效的工作使得本書更加充實。阿里云計算有限公司、全志科技的技術人員提供了許多技術支持,在此一并表示誠摯的感謝。
配套資源
程序代碼、硬件開發(fā)板及相關資源: 掃描目錄上方的二維碼下載。
教學課件、實驗指導、軟件工具、芯片資料、套件用戶手冊、硬件電路圖等資源: 到清華大學出版社官方網(wǎng)站本書頁面下載,或者掃描封底的“書圈”二維碼在公眾號下載。
微課視頻(385分鐘,24集): 掃描書中相應章節(jié)中的二維碼在線學習。
注: 請先掃描封底刮刮卡中的文泉云盤防盜碼進行綁定后再獲取配套資源。
鑒于作者水平有限,書中難免存在不足之處,懇望讀者提出寶貴意見和建議。
蘇州大學王宜懷
2025年6月
目錄
配套資源
第1章概述
視頻講解: 26分鐘,2集
1.1初識嵌入式系統(tǒng)
1.1.1運行硬件系統(tǒng)
1.1.2實踐體系簡介
1.2嵌入式系統(tǒng)的定義、發(fā)展簡史、分類及特點
1.2.1嵌入式系統(tǒng)的定義
1.2.2嵌入式系統(tǒng)的由來及發(fā)展簡史
1.2.3嵌入式系統(tǒng)的分類
1.2.4嵌入式系統(tǒng)的特點
1.3嵌入式系統(tǒng)的學習困惑、知識體系及學習建議
1.3.1嵌入式系統(tǒng)的學習困惑
1.3.2嵌入式系統(tǒng)的知識體系
1.3.3基礎階段的學習建議
1.4微控制器與應用處理器簡介
1.4.1MCU簡介
1.4.2以MCU為核心的嵌入式測控產(chǎn)品的基本組成
1.4.3MAP簡介
1.5嵌入式系統(tǒng)常用術語
1.5.1與硬件相關的術語
1.5.2與通信相關的術語
1.5.3與功能模塊相關的術語
1.6C語言概要
1.6.1運算符
1.6.2數(shù)據(jù)類型
1.6.3流程控制
1.6.4函數(shù)
1.6.5編譯預處理
本章小結
習題
第2章RISCV指令系統(tǒng)與匯編語言語法
視頻講解: 30分鐘,1集
2.1RISCV架構概述
2.1.1RISC與ISA名詞解釋
2.1.2RISCV簡介
2.2寄存器與尋址方式
2.2.1寄存器通用基礎知識
2.2.2RISCV架構主要寄存器
2.2.3指令保留字簡表與尋址方式
2.2.4機器碼的獲取方法
2.3RISCV基本指令分類解析
2.3.1數(shù)據(jù)傳送類指令
2.3.2數(shù)據(jù)操作類指令
2.3.3跳轉類指令
2.3.4控制及狀態(tài)寄存器類指令
2.3.5其他指令
2.4RISCV匯編語言的基本語法
2.4.1匯編語言的格式
2.4.2常用偽指令簡介
本章小結
習題
第3章D1H硬件最小系統(tǒng)
視頻講解: 23分鐘,1集
3.1D1H微處理器概述
3.1.1D1H的基本功能
3.1.2D1H的存儲器映像
3.1.3D1H的中斷源
3.2D1H的硬件最小系統(tǒng)
3.2.1硬件最小系統(tǒng)的概念
3.2.2D1H的引腳功能
3.2.3D1H硬件最小系統(tǒng)設計
3.3由D1H構建通用嵌入式計算機
3.3.1嵌入式系統(tǒng)應用開發(fā)方式存在的問題與解決辦法
3.3.2提出GEC概念的時機、GEC定義與特點
3.3.3由D1H構成的GEC
本章小結
習題
第4章GPIO及程序框架
視頻講解: 61分鐘,3集
4.1GPIO基礎知識
4.1.1GPIO概念
4.1.2輸出引腳的基本接法
4.1.3上拉下拉電阻與輸入引腳的基本接法
4.2軟件干預硬件的方法
4.2.1AHLD1H的GPIO引腳
4.2.2GPIO構件API
4.2.3GPIO構件的輸出測試方法
4.3認識工程框架
4.3.1工程框架及所含文件簡介
4.3.2了解機器碼文件及D1H的啟動流程
4.3.3D1H的實際啟動過程
4.4GPIO構件的制作過程
4.4.1GPIO基本編程步驟及點亮一盞小燈
4.4.2GPIO構件的設計
4.5優(yōu)質個匯編語言工程: 控制小燈閃爍
4.5.1匯編工程文件的組織
4.5.2匯編語言小燈測試工程主程序
本章小結
習題
第5章嵌入式硬件構件與底層驅動構件基本規(guī)范
視頻講解: 20分鐘,1集
5.1嵌入式硬件構件
5.1.1嵌入式硬件構件概念與嵌入式硬件構件分類
5.1.2基于嵌入式硬件構件的電路原理圖設計簡明規(guī)則
5.2嵌入式底層驅動構件的概念與層次模型
5.2.1嵌入式底層驅動構件的概念
5.2.2嵌入式硬件構件與軟件構件結合的層次模型
5.2.3嵌入式開發(fā)中的構件分類
5.2.4構件的基本特征與表現(xiàn)形式
5.3底層驅動構件的封裝規(guī)范
5.3.1底層驅動構件設計的基本原則
5.3.2編碼風格基本規(guī)范
5.3.3頭文件的設計規(guī)范
5.3.4源程序文件的設計規(guī)范
5.4硬件構件及其驅動構件的重用與移植方法
5.4.1硬件構件的重用與移植
5.4.2驅動構件的移植
本章小結
習題
第6章串行通信模塊及優(yōu)質個中斷程序結構
視頻講解: 45分鐘,3集
6.1異步串行通信的通用基礎知識
6.1.1串行通信的基本概念
6.1.2RS232和RS485總線標準
6.1.3TTLUSB串口轉換芯片
6.1.4串行通信編程模型
6.2基于構件的串行通信編程方法
6.2.1D1H芯片UART對外引腳
6.2.2UART構件API
6.2.3UART構件API的發(fā)送測試方法
6.2.4printf()的設置方法與使用
6.3UART構件的制作過程
6.3.1UART寄存器概述
6.3.2利用直接地址操作的串口發(fā)送程序
6.3.3UART構件設計
6.4中斷機制及中斷編程步驟
6.4.1中斷的基本概念及處理過程
6.4.2RISCV架構玄鐵C906中斷結構
6.4.3D1H中斷編程步驟——以串口接收中斷為例
本章小結
習題
第7章定時器、PWM與輸入捕捉
視頻講解: 32分鐘,3集
7.1定時器通用基礎知識
7.2D1H中的定時器
7.2.1D1H的機器模式定時器MTIME
7.2.2D1H的實時時鐘模塊
7.2.3D1H的Timer
7.2.4D1H的HSTimer
7.3脈寬調制
7.3.1脈寬調制通用基礎知識
7.3.2基于構件的PWM編程方法
7.4輸入捕捉
7.4.1輸入捕捉通用基礎知識
7.4.2基于構件的輸入捕捉編程方法
本章小結
習題
第8章Flash在線編程、ADC與DMA
視頻講解: 30分鐘,3集
8.1Flash在線編程
8.1.1Flash在線編程的通用基礎知識
8.1.2基于構件的Flash在線編程方法
8.1.3Flash構件的制作過程簡介
8.2ADC
8.2.1ADC的通用基礎知識
8.2.2基于構件的ADC編程方法
8.3DMA
8.3.1DMA的通用基礎知識
8.3.2基于構件的DMA編程方法
本章小結
習題
第9章SPI與I2C
視頻講解: 34分鐘,2集
9.1串行外設接口模塊
9.1.1串行外設接口的通用基礎知識
9.1.2基于構件的SPI通信編程方法
9.2集成電路互聯(lián)總線I2C模塊
9.2.1集成電路互聯(lián)總線I2C的通用基礎知識
9.2.2基于構件的I2C通信編程方法
本章小結
習題
第10章系統(tǒng)時鐘與看門狗
視頻講解: 15分鐘,1集
10.1時鐘系統(tǒng)
10.1.1時鐘控制單元概述
10.1.2時鐘控制單元編程寄存器
10.1.3系統(tǒng)時鐘編程實例
10.1.4改變CPU時鐘頻率及測試方法
10.2看門狗
10.2.1看門狗模塊的寄存器
10.2.2看門狗構件制作方法
10.2.3基于構件的看門狗編程方法
本章小結
習題
第11章實時操作系統(tǒng)
視頻講解: 41分鐘,2集
11.1無操作系統(tǒng)與實時操作系統(tǒng)
11.1.1無操作系統(tǒng)下的程序運行路線
11.1.2實時操作系統(tǒng)下的程序運行路線
11.1.3實時操作系統(tǒng)與非實時操作系統(tǒng)
11.2RTOS中的常用基本概念及線程的三要素
11.2.1與線程相關的基本概念
11.2.2線程的三要素及四種狀態(tài)
11.2.3線程的三種基本形式
11.3RTOS下應用程序的編程框架
11.3.1RTThread下基本要素模板列表
11.3.2優(yōu)質個樣例程序功能及運行
11.3.3RTThread工程框架
11.4RTOS中同步與通信的應用編程方法
11.4.1RTOS中同步與通信基本概念
11.4.2事件
11.4.3消息隊列
11.4.4信號量
11.4.5互斥量
本章小結
習題
第12章嵌入式人工智能: 物體認知系統(tǒng)
視頻講解: 18分鐘,1集
12.1嵌入式人工智能概述
12.1.1人類智能與人工智能
12.1.2通用人工智能與嵌入式人工智能
12.2物體認知系統(tǒng)的設計目標
12.2.1基本思路
12.2.2AHLEORS的目標
12.3AHLEORSD1H的基本構成
12.3.1總體說明
12.3.2硬件系統(tǒng)
12.3.3相關資源下載與軟件安裝
12.4AHLEORSD1H的操作過程
12.4.1模型測試
12.4.2數(shù)據(jù)采集
12.4.3模型訓練
12.4.4構件生成
12.4.5GEC推理
12.4.6完整流程
12.5運行AHLEORSD1H的PC源碼
本章小結
第13章進一步學習導引
視頻講解: 10分鐘,1集
13.1關于進一步閱讀的有關資料
13.2關于嵌入式系統(tǒng)穩(wěn)定性問題
附錄A金葫蘆AHLD1H用戶手冊
附錄B實驗指導
參考文獻