本書在介紹 RISC-V 處理器架構(gòu)、芯片、軟件開發(fā)工具和方法的基礎(chǔ)上,從程序員角度深入分析 RISC-V處理器軟件開發(fā)過程的要點,并通過例程幫助讀者理解和掌握RISC-V處理器編程技術(shù)
本書從內(nèi)核、處理器、開發(fā)板到系統(tǒng),逐層討論RISC-V處理器程序的開發(fā)方法,主要內(nèi)容包括:RISC-V處理器架構(gòu)特點以及軟件開發(fā)工具和方法;RV32指令集、匯編語言和C語言程序編寫方法;GD32VF103處理器芯片的啟動、外設(shè)訪問、中斷服務(wù)和功耗管理程序開發(fā)方法;嵌入式實時操作系統(tǒng)的移植以及物聯(lián)網(wǎng)應(yīng)用程序開發(fā)。后,本書通過一個完整案例,系統(tǒng)地說明RISC-V處理器的應(yīng)用程序開發(fā)方法和技術(shù)。
本書既可作為高等院校電子和計算機專業(yè)的教材,也可作為嵌入式、物聯(lián)網(wǎng)和人工智能開發(fā)者的工具書。
- 及時性:以通用開源RISC-V處理器作為內(nèi)容重點
- 系統(tǒng)性:涵蓋處理器應(yīng)用程序開發(fā)的完整過程
- 實踐性:著眼于編程實踐,強調(diào)面向微處理器編程的方法
- 實用性:完整的例程和案例,可以直接用到實際產(chǎn)品
2019年12月19日,中國嵌入式技術(shù)大會在深圳國際會展中心舉行。會上,IAR系統(tǒng)軟件公司、卡姆派樂信息技術(shù)公司和深圳優(yōu)矽科技公司分別介紹了各自公司開發(fā)的RISC-V軟件開發(fā)工具,芯來科技公司介紹了RISC-V MCU解決方案,時擎智能科技公司介紹了基于RISC-V內(nèi)核的智能物聯(lián)網(wǎng)AIoT芯片及其應(yīng)用。
市場研究機構(gòu)Semico Research預(yù)計2025年全球市場的RISC-V核心數(shù)將達到624億顆,其中工業(yè)應(yīng)用將占據(jù)167億顆,2018年至2025年復(fù)合增長率將高達146%。
面對風起云涌的RISC-V市場,在聆聽了演講者的精彩報告,感受到聽眾們的熱情后,我們感覺到嵌入式系統(tǒng)RISC-V時代的腳步越來越近了。
會后,我們有了一個想法,為RISC-V生態(tài)的發(fā)展做點事,寫一本關(guān)于RISC-V處理器方面的書,向嵌入式系統(tǒng)開發(fā)者介紹RISC-V處理器的特點及其應(yīng)用程序開發(fā)方法。
在分析了市場上現(xiàn)有使用RISC-V內(nèi)核的產(chǎn)品之后,我們選擇了易兆創(chuàng)新科技發(fā)布的GD32VF103處理器作為本書闡述的重點,并結(jié)合SiFive和平頭哥RISC-V處理器芯片,幫助開發(fā)者全面了解RISC-V處理器知識,并應(yīng)用RISC-V處理器設(shè)計產(chǎn)品。
本書首先介紹RISC-V內(nèi)核和處理器類型、RISC-V軟件開發(fā)平臺和工具;然后重點介紹GD32VF103處理器的內(nèi)核、結(jié)構(gòu)、程序開發(fā)方法和應(yīng)用案例;接著說明面向GD32VF103的嵌入式操作系統(tǒng)移植方法;后通過介紹高性能RISC-V處理器C910,展望RISC-V處理器的發(fā)展趨勢。
本書共12章,其中,第1、2、3、9和10章由何小慶編寫,第4、5、6、7、8、11和12章由林金龍編寫。
各章內(nèi)容介紹如下:
第1章,概述了RISC-V指令集架構(gòu)的發(fā)展歷程、RISC-V處理器內(nèi)核和芯片產(chǎn)品、RISC-V嵌入式系統(tǒng)軟件開發(fā)生態(tài)以及對RISC-V處理器的應(yīng)用展望。
第2章,介紹了RISC-V處理器芯片GD32VF103 MCU、NXP RV32M1 MUC、WCH CH32V103 MCU、SiFive Freedom E310、Kendryte K210和平頭哥CH2601,以及相關(guān)開發(fā)板。
第3章,介紹了RISC-V GNU工具鏈、開源集成開發(fā)環(huán)境Nuclei Studio和Freedom Studio、商業(yè)開發(fā)環(huán)境SEGGER Embedded Studio和IAR EmbeddedWorkbench,并用一個應(yīng)用案例講述IAR RISC-V評估套件的使用方法。
第4章,概述了RISC-V處理器架構(gòu),詳細介紹RISC-V基礎(chǔ)指令集RV321和RISC-V內(nèi)核BumbleBee。
第5章,介紹了RISC-V處理器軟件開發(fā)方法,討論了用于RISC-V處理器軟件開發(fā)的GCC工具鏈,并通過示例程序說明使用Embedded Studio開發(fā)RISC-V處理器應(yīng)用程序的過程。
第6章,介紹了GD32VF103微控制器的特點和結(jié)構(gòu),說明訪問微控制器外設(shè)的方式,分析了GD32VF103中典型外設(shè)的特點和應(yīng)用方法,并給出示例程序。
第7章,分析了中斷應(yīng)用程序和中斷服務(wù)程序的開發(fā)過程和方法,介紹了GD32VF103V-EVAL評估板上鍵盤中斷、DMA中斷和觸摸屏中斷應(yīng)用程序開發(fā)案例。
第8章,討論了嵌入式系統(tǒng)程序中的啟動程序、內(nèi)存資源管理、程序優(yōu)化和系統(tǒng)能耗管理等問題,并給出GD32VF103V-EVAL開發(fā)環(huán)境上的程序示例。
第9章,簡述了嵌入式操作系統(tǒng)的基本概念和應(yīng)用,以FreeRTOS為例講解嵌入式實時操作系統(tǒng)的基本功能、內(nèi)核API使用和基于RISC-V MCU的移植技術(shù),后介紹了使用Tracealyzer軟件工具分析FreeRTOS的應(yīng)用開發(fā)技術(shù)。
第10章,介紹了物聯(lián)網(wǎng)操作系統(tǒng)的發(fā)展歷程、基本功能和技術(shù)架構(gòu),并介紹了目前市場上活躍的騰訊TencentOS tiny和RT-Thread物聯(lián)網(wǎng)操作系統(tǒng),以及基于這兩個物聯(lián)網(wǎng)操作系統(tǒng)的RISC-V嵌入式處理器、SoC芯片開發(fā)板和云平臺,后介紹了空氣質(zhì)量檢測終端和音頻語音播放應(yīng)用。
第11章,分析了電磁感應(yīng)自動循跡導(dǎo)航智能車的原理和技術(shù),并給出電磁智能車中軟件結(jié)構(gòu)和關(guān)鍵程序的實現(xiàn)。
第12章,以C910為例,分析了高性能RISC-V處理器架構(gòu)特點,重點分析了處理器的多核協(xié)同和內(nèi)存管理機制。
林金龍 北京大學軟件與微電子學院教授,2004年以來一直從事嵌入式系統(tǒng)相關(guān)的教學和科研工作,多年從事處理器程序開發(fā)方法研究。
何小慶 嵌入式系統(tǒng)知名專家,麥克泰軟件公司創(chuàng)始人,《單片機與嵌入式系統(tǒng)應(yīng)用》編委會副主任,嵌入式系統(tǒng)聯(lián)誼會秘書長;長期從事嵌入式技術(shù)、產(chǎn)業(yè)和教育方面的工作,有《嵌入式操作系統(tǒng)風云錄》等中英文著譯作7本,在高校和企業(yè)講授物聯(lián)網(wǎng)和創(chuàng)業(yè)課程。
第1章 了解RISC-V
1.1 RISC-V指令架構(gòu)的演進歷史
1.2 RISC-V處理器家族
1.2.1 RISC-V處理器內(nèi)核
1.2.2 RISC-V SoC平臺
1.2.3 RISC-V SoC芯片
1.3 RISC-V嵌入式軟件生態(tài)
1.3.1 開源GNU工具鏈軟件
1.3.2 IAR Embedded Workbench
1.3.3 SEGGER Embedded Studio
1.3.4 嵌入式操作系統(tǒng)
1.4 RISC-V內(nèi)核、平臺和芯片的選擇
1.5 RISC-V處理器與應(yīng)用展望
1.6 本章小結(jié)
第2章 RISC-V處理器芯片
2.1 GD32VF103微控制器
2.1.1 芯片簡介
2.1.2 芯片內(nèi)核
2.1.3 GD32VF103開發(fā)板
2.2 NXPRV32M1微控制器
2.2.1 芯片簡介
2.2.2 RV32M1內(nèi)核
2.2.3 RV32M1開發(fā)板
2.3 WCH CH32V103微控制器
2.3.1 芯片與內(nèi)核簡介
2.3.2 CH32V103開發(fā)板
2.4 SiFive Freedom E310
2.4.1 E310芯片和E31內(nèi)核介紹
2.4.2 FE310開發(fā)板
2.5 Kendryte K210
2.5.1 Kendryte K210芯片
2.5.2 Kendryte K210開發(fā)板介紹
2.6 CH2601平頭哥生態(tài)芯片
2.6.1 CH2601 MCU簡介
2.6.2 CH2601開發(fā)板和開發(fā)環(huán)境簡介
2.7 本章小結(jié)
第3章 RISC-V軟件開發(fā)工具
3.1 RISC-V軟件生態(tài)概述
3.2 RISC-V GNU工具鏈
3.3 Nuclei Studio開發(fā)環(huán)境
3.3.1 Nuclei Studio簡介
3.3.2 Nuclei Studio安裝
3.3.3 啟動Nuclei Studio
3.3.4 編譯項目
3.3.5 運行和調(diào)試項目
3.4 SEGGER Embedded Studio開發(fā)環(huán)境
3.5 IAR Embedded Workbench開發(fā)環(huán)境
3.5.1 IAR RISC-V評估套件
3.5.2 快速上手IAR RISC-V評估套件
3.6 Freedom Studio開發(fā)環(huán)境
3.6.1 使用Freedom Studio創(chuàng)建工程
3.6.2 使用Freedom Studio編譯和調(diào)試工程
3.7 本章小結(jié)
第4章 認識RISC-V內(nèi)核
4.1 RISC-V處理器架構(gòu)
4.1.1 指令執(zhí)行過程
4.1.2 RISC-V概述
4.2 RV321指令集
4.2.1 RV321指令
4.2.2 尋址方式
4.3 RISC-V異常和中斷處理
4.3.1 RV32特權(quán)模式與異常
4.3.2 機器模式異常管理寄存器
……
第5章 RISC-V程序開發(fā)
第6章 GD32VF103微控制器
第7章 GD32VF103中斷系統(tǒng)及應(yīng)用
第8章 深入RISC-V程序開發(fā)
第9章 嵌入式實時操作系統(tǒng)
第10章 物聯(lián)網(wǎng)操作系統(tǒng)及其應(yīng)用
第11章 基于RISC-V的電磁車設(shè)計
第12章 高性能RISC-V處理器
參考文獻