RISC-V架構(gòu)與嵌入式開(kāi)發(fā)快速入門(mén)
-
>
決戰(zhàn)行測(cè)5000題(言語(yǔ)理解與表達(dá))
-
>
軟件性能測(cè)試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍(lán)圖完全學(xué)習(xí)教程
-
>
深入理解計(jì)算機(jī)系統(tǒng)-原書(shū)第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門(mén)到精通-(附贈(zèng)1DVD.含語(yǔ)音視頻教學(xué)+辦公模板+PDF電子書(shū))
RISC-V架構(gòu)與嵌入式開(kāi)發(fā)快速入門(mén) 版權(quán)信息
- ISBN:9787115494139
- 條形碼:9787115494139 ; 978-7-115-49413-9
- 裝幀:一般膠版紙
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類(lèi):>>
RISC-V架構(gòu)與嵌入式開(kāi)發(fā)快速入門(mén) 本書(shū)特色
本書(shū)是一本介紹RISC-V架構(gòu)嵌入式開(kāi)發(fā)的入門(mén)書(shū)籍,以通俗的語(yǔ)言系統(tǒng)介紹了嵌入式開(kāi)發(fā)的基礎(chǔ)知識(shí)和RISC-V架構(gòu)的內(nèi)容,力求幫助讀者快速掌握RISC-V架構(gòu)的嵌入式開(kāi)發(fā)技術(shù)。 本書(shū)共分為兩部分。*部分為第1~14章,基本涵蓋了使用RISC-V架構(gòu)進(jìn)行嵌入式開(kāi)發(fā)所需的所有關(guān)鍵知識(shí)。第二部分為附錄部分,詳細(xì)介紹了RISC-V指令集架構(gòu),輔以作者加入的背景知識(shí)解讀和注解,以便于讀者理解。
RISC-V架構(gòu)與嵌入式開(kāi)發(fā)快速入門(mén) 內(nèi)容簡(jiǎn)介
本書(shū)是一本介紹RISC-V架構(gòu)嵌入式開(kāi)發(fā)的入門(mén)書(shū)籍,以通俗的語(yǔ)言系統(tǒng)介紹了嵌入式開(kāi)發(fā)的基礎(chǔ)知識(shí)和RISC-V架構(gòu)的內(nèi)容,力求幫助讀者快速掌握RISC-V架構(gòu)的嵌入式開(kāi)發(fā)技術(shù)。 本書(shū)共分為兩部分?壳安糠譃椤14章,基本涵蓋了使用RISC-V架構(gòu)進(jìn)行嵌入式開(kāi)發(fā)所需的所有關(guān)鍵知識(shí)。第二部分為附錄部分,詳細(xì)介紹了RISC-V指令集架構(gòu),輔以作者加入的背景知識(shí)解讀和注解,以便于讀者理解。
RISC-V架構(gòu)與嵌入式開(kāi)發(fā)快速入門(mén) 目錄
1.1 磨刀不誤砍柴工—CPU基礎(chǔ)知識(shí)介紹1
1.1.1 ISA—CPU的靈魂2
1.1.2 CISC與RISC3
1.1.3 32位與64位架構(gòu)4
1.1.4 ISA眾生相5
1.1.5 CPU的領(lǐng)域之分9
1.1.6 8位時(shí)代的傳奇“前輩”—805110
1.1.7 IoT的崛起—32位時(shí)代的到來(lái)11
1.2 無(wú)敵是多么寂寞—ARM統(tǒng)治著的世界11
1.2.1 獨(dú)樂(lè)樂(lè)與眾樂(lè)樂(lè)—ARM公司的盈利模式12
1.2.2 小個(gè)子有大力量—無(wú)處不在的Cortex-M系列14
1.2.3 移動(dòng)王者—Cortex-A系列在手持設(shè)備領(lǐng)域的巨大成功16
1.2.4 進(jìn)擊的巨人—ARM進(jìn)軍PC與服務(wù)器領(lǐng)域的雄心18
1.2.5 游戲終結(jié)者之ARM19
1.3 東邊日出西邊雨,道是無(wú)晴卻有晴—RISC-V登場(chǎng)19
1.4 RISC-V和其他開(kāi)放架構(gòu)有何不同21
1.4.1 “平民英雄”—OpenRISC22
1.4.2 “豪門(mén)顯貴”—SPARC22
1.4.3 “名校優(yōu)生”—RISC-V23
1.5 結(jié)語(yǔ):進(jìn)入32位時(shí)代,誰(shuí)能成為深嵌入式領(lǐng)域的下一個(gè)8051?23
第 2章 開(kāi)源蜂鳥(niǎo)E203超低功耗RISC-V Core與SoC25
2.1 亂花漸欲迷人眼25
2.2 與眾不同的蜂鳥(niǎo)E203處理器25
2.3 蜂鳥(niǎo)雖小,五臟俱全—蜂鳥(niǎo)E203簡(jiǎn)介26
2.4 蜂鳥(niǎo)E203性能指標(biāo)27
2.5 蜂鳥(niǎo)E203配套SoC28
第3章 大道至簡(jiǎn)—RISC-V架構(gòu)之魂29
3.1 簡(jiǎn)單就是美—RISC-V架構(gòu)的設(shè)計(jì)哲學(xué)29
3.1.1 無(wú)病一身輕—架構(gòu)的篇幅30
3.1.2 能屈能伸—模塊化的指令集31
3.1.3 濃縮的都是精華—指令的數(shù)量31
3.2 RISC-V指令集架構(gòu)簡(jiǎn)介32
3.2.1 模塊化的指令子集32
3.2.2 可配置的通用寄存器組33
3.2.3 規(guī)整的指令編碼33
3.2.4 簡(jiǎn)潔的存儲(chǔ)器訪(fǎng)問(wèn)指令34
3.2.5 高效的分支跳轉(zhuǎn)指令35
3.2.6 簡(jiǎn)潔的子程序調(diào)用36
3.2.7 無(wú)條件碼執(zhí)行36
3.2.8 無(wú)分支延遲槽37
3.2.9 零開(kāi)銷(xiāo)硬件循環(huán)37
3.2.10 簡(jiǎn)潔的運(yùn)算指令38
3.2.11 優(yōu)雅的壓縮指令子集38
3.2.12 特權(quán)模式39
3.2.13 CSR寄存器40
3.2.14 中斷和異常40
3.2.15 矢量指令子集40
3.2.16 自定制指令擴(kuò)展40
3.2.17 總結(jié)與比較41
第4章 RISC-V架構(gòu)的中斷和異常43
4.1 中斷和異常概述43
4.1.1 中斷概述43
4.1.2 異常概述44
4.1.3 廣義上的異常44
4.2 RISC-V架構(gòu)異常處理機(jī)制46
4.2.1 進(jìn)入異常47
4.2.2 退出異常50
4.2.3 異常服務(wù)程序50
4.3 RISC-V架構(gòu)中斷定義51
4.3.1 中斷類(lèi)型51
4.3.2 中斷屏蔽54
4.3.3 中斷等待55
4.3.4 中斷優(yōu)先級(jí)與仲裁55
4.3.5 中斷嵌套56
4.3.6 總結(jié)比較57
4.4 RISC-V架構(gòu)異常相關(guān)CSR寄存器57
4.5 蜂鳥(niǎo)E203的中斷和異常實(shí)現(xiàn)58
第5章 開(kāi)源蜂鳥(niǎo)E203 MCU SoC總體介紹59
5.1 Freedom E310 SoC簡(jiǎn)介59
5.2 蜂鳥(niǎo)E203 MCU SoC簡(jiǎn)介60
5.3 蜂鳥(niǎo)E203 MCU SoC框圖60
5.4 蜂鳥(niǎo)E203 MCU SoC存儲(chǔ)資源61
5.4.1 片上存儲(chǔ)資源61
5.4.2 片外Flash存儲(chǔ)資源61
5.5 蜂鳥(niǎo)E203 MCU SoC外設(shè)資源62
5.6 蜂鳥(niǎo)E203 MCU SoC地址分配62
5.7 蜂鳥(niǎo)E203 MCU SoC時(shí)鐘域劃分63
5.8 蜂鳥(niǎo)E203 MCU SoC電源域劃分64
5.9 蜂鳥(niǎo)E203 MCU SoC低功耗模式64
5.10 蜂鳥(niǎo)E203 MCU SoC的全局復(fù)位65
5.11 蜂鳥(niǎo)E203 MCU SoC的上電流程控制66
5.12 蜂鳥(niǎo)E203 MCU SoC芯片引腳表67
5.13 蜂鳥(niǎo)E203 MCU SoC的GPIO引腳分配68
5.14 蜂鳥(niǎo)E203 MCU SoC的中斷處理70
5.14.1 蜂鳥(niǎo)E203處理器核的異常和中斷處理70
5.14.2 蜂鳥(niǎo)E203處理器的中斷接口71
5.14.3 CLINT模塊生成計(jì)時(shí)器中斷和軟件中斷72
5.14.4 PLIC管理多個(gè)外部中斷73
第6章 開(kāi)源蜂鳥(niǎo)E203 MCU SoC外設(shè)介紹77
6.1 蜂鳥(niǎo)E203 MCU SoC外設(shè)總述77
6.2 PLIC78
6.3 CLINT78
6.4 LCLKGEN78
6.4.1 LCLKGEN簡(jiǎn)介78
6.4.2 LCLKGEN寄存器列表78
6.5 HCLKGEN79
6.5.1 HCLKGEN簡(jiǎn)介79
6.5.2 HCLKGEN寄存器列表79
6.6 GPIO79
6.6.1 GPIO特性79
6.6.2 GPIO寄存器列表80
6.6.3 I O結(jié)構(gòu)和IOF模式80
6.6.4 SoC各外設(shè)復(fù)用GPIO引腳83
6.6.5 GPIO中斷83
6.6.6 GPIO_VALUE寄存器84
6.6.7 GPIO_INPUT_EN寄存器84
6.6.8 GPIO_OUTPUT_EN寄存器85
6.6.9 GPIO_PORT寄存器85
6.6.10 GPIO_PUE寄存器85
6.6.11 GPIO_DS寄存器85
6.6.12 GPIO_OUTPUT_XOR寄存器85
6.6.13 GPIO_RISE_IE、GPIO_RISE_IP等寄存器85
6.7 SPI86
6.7.1 SPI背景知識(shí)簡(jiǎn)介86
6.7.2 SPI特性88
6.7.3 SPI寄存器列表89
6.7.4 SPI接口數(shù)據(jù)線(xiàn)90
6.7.5 通過(guò)SPI_SCKDIV寄存器配置SCK時(shí)鐘頻率90
6.7.6 通過(guò)SPI_SCKMODE寄存器配置SCK的極性與相位90
6.7.7 通過(guò)SPI_CSID寄存器配置SPI使能信號(hào)92
6.7.8 通過(guò)SPI_CSDEF寄存器配置使能信號(hào)的空閑值92
6.7.9 通過(guò)SPI_CSMODE寄存器配置使能信號(hào)的行為92
6.7.10 通過(guò)SPI_DELAY0和SPI_DELAY1寄存器配置使能信號(hào)的行為93
6.7.11 通過(guò)SPI_FCTRL寄存器使能QSPI0的Flash XiP模式94
6.7.12 通過(guò)SPI_FFMT寄存器控制QSPI0讀取外部Flash95
6.7.13 通過(guò)SPI_FMT寄存器配置傳輸參數(shù)97
6.7.14 通過(guò)SPI_TXDATA寄存器發(fā)送數(shù)據(jù)97
6.7.15 通過(guò)SPI_RXDATA寄存器接收數(shù)據(jù)98
6.7.16 通過(guò)SPI_TXMARK寄存器配置發(fā)送中斷閾值100
6.7.17 通過(guò)SPI_RXMARK寄存器配置接收中斷閾值100
6.7.18 通過(guò)SPI_IE和SPI_IP寄存器控制中斷101
6.8 I2C102
6.8.1 I2C背景知識(shí)簡(jiǎn)介102
6.8.2 I2C特性103
6.8.3 I2C寄存器列表103
6.8.4 I2C接口數(shù)據(jù)線(xiàn)104
6.8.5 通過(guò)I2C_PRERlo和I2C_PRERhi寄存器配置SCL時(shí)鐘頻率104
6.8.6 通過(guò)I2C_CTR寄存器配置功能和中斷使能104
6.8.7 I2C模塊產(chǎn)生中斷105
6.8.8 通過(guò)I2C_TXR和I2C_RXR寄存器發(fā)送和接收數(shù)據(jù)105
6.8.9 通過(guò)I2C_CR和I2C_SR寄存器發(fā)起命令和查看狀態(tài)106
6.8.10 初始化I2C模塊的序列107
6.8.11 通過(guò)I2C模塊向外部從設(shè)備寫(xiě)數(shù)據(jù)的常用序列107
6.8.12 通過(guò)I2C模塊從外部從設(shè)備讀數(shù)據(jù)的常用序列108
6.9 UART109
6.9.1 UART背景知識(shí)簡(jiǎn)介109
6.9.2 UART特性110
6.9.3 UART寄存器列表110
6.9.4 UART接口數(shù)據(jù)線(xiàn)111
6.9.5 通過(guò)UART_TXDATA寄存器發(fā)送數(shù)據(jù)111
6.9.6 通過(guò)UART_RXDATA寄存器接收數(shù)據(jù)112
6.9.7 通過(guò)UART_TXCTRL寄存器進(jìn)行發(fā)送控制113
6.9.8 通過(guò)UART_RXCTRL寄存器進(jìn)行接收控制113
6.9.9 通過(guò)UART_IE和UART_IP寄存器控制中斷114
6.9.10 通過(guò)UART_DIV寄存器配置波特率115
6.10 PWM116
6.10.1 PWM背景知識(shí)簡(jiǎn)介116
6.10.2 PWM特性和結(jié)構(gòu)圖116
6.10.3 PWM寄存器列表117
6.10.4 通過(guò)PWMCFG寄存器進(jìn)行配置118
6.10.5 計(jì)數(shù)器計(jì)數(shù)值PWMCOUNT寄存器和PWM周期119
6.10.6 計(jì)數(shù)器比較值PWMS寄存器120
6.10.7 PWM接口數(shù)據(jù)線(xiàn)121
6.10.8 產(chǎn)生左對(duì)齊或者右對(duì)齊的脈沖信號(hào)121
6.10.9 產(chǎn)生居中對(duì)齊的脈沖信號(hào)122
6.10.10 配置pwmcmpgang結(jié)連產(chǎn)生任意形狀的脈沖信號(hào)124
6.10.11 配置pwmdeglitch防止輸出毛刺124
6.10.12 PWM產(chǎn)生中斷124
6.11 WDT125
6.11.1 WDT背景知識(shí)簡(jiǎn)介125
6.11.2 WDT特性和結(jié)構(gòu)圖125
6.11.3 WDT寄存器列表126
6.11.4 通過(guò)WDOGCFG寄存器進(jìn)行配置127
6.11.5 計(jì)數(shù)器計(jì)數(shù)值WDOGCOUNT寄存器128
6.11.6 通過(guò)WDOGKEY寄存器解鎖128
6.11.7 通過(guò)WDOGFEED寄存器喂狗129
6.11.8 計(jì)數(shù)器比較值WDOGS寄存器129
6.11.9 通過(guò)WDOGCMP寄存器配置閾值130
6.11.10 WDT產(chǎn)生全局復(fù)位130
6.11.11 WDT產(chǎn)生中斷130
6.12 RTC131
6.12.1 RTC背景知識(shí)簡(jiǎn)介131
6.12.2 RTC特性和結(jié)構(gòu)圖131
6.12.3 RTC寄存器列表131
6.12.4 通過(guò)RTCCFG寄存器進(jìn)行配置132
6.12.5 計(jì)數(shù)器計(jì)數(shù)值RTCHI RTCLO寄存器133
6.12.6 計(jì)數(shù)器比較值RTCS寄存器133
6.12.7 通過(guò)RTCCMP寄存器配置閾值134
6.12.8 RTC產(chǎn)生中斷134
6.13 PMU134
6.13.1 PMU背景知識(shí)簡(jiǎn)介134
6.13.2 PMU特性和結(jié)構(gòu)圖135
6.13.3 PMU寄存器列表136
6.13.4 通過(guò)PMUKEY寄存器解鎖136
6.13.5 通過(guò)PMUSLEEP寄存器進(jìn)入休眠模式137
6.13.6 通過(guò)PMUSLEEPI寄存器配置休眠指令序列137
6.13.7 通過(guò)PMUBACKUP寄存器保存關(guān)鍵信息139
6.13.8 通過(guò)PMUIE寄存器配置喚醒條件139
6.13.9 通過(guò)PMUWAKEUPI寄存器配置喚醒指令序列140
6.13.10 通過(guò)PMUCAUSE寄存器查看喚醒原因141
第7章 開(kāi)源蜂鳥(niǎo)E203 MCU開(kāi)發(fā)板與調(diào)試器143
7.1 蜂鳥(niǎo)E203 MCU開(kāi)發(fā)板143
7.2 蜂鳥(niǎo)E203 JTAG調(diào)試器143
第8章 編譯過(guò)程簡(jiǎn)介145
8.1 GCC工具鏈介紹145
8.1.1 GCC工具鏈概述145
8.1.2 Binutils146
8.1.3 C運(yùn)行庫(kù)147
8.1.4 GCC命令行選項(xiàng)148
8.2 準(zhǔn)備工作148
8.2.1 Linux安裝148
8.2.2 準(zhǔn)備Hello World程序148
8.3 編譯過(guò)程149
8.3.1 預(yù)處理149
8.3.2 編譯150
8.3.3 匯編150
8.3.4 鏈接151
8.3.5 一步到位的編譯153
8.4 分析ELF文件153
8.4.1 ELF文件介紹153
8.4.2 ELF文件的段154
8.4.3 查看ELF文件154
8.4.4 反匯編155
8.5 嵌入式系統(tǒng)編譯的特殊性156
8.6 本章小結(jié)156
第9章 嵌入式開(kāi)發(fā)特點(diǎn)與RISC-V GCC工具鏈158
9.1 嵌入式系統(tǒng)開(kāi)發(fā)特點(diǎn)158
9.1.1 交叉編譯和遠(yuǎn)程調(diào)試158
9.1.2 移植newlib或newlib-nano作為C運(yùn)行庫(kù)159
9.1.3 嵌入式引導(dǎo)程序和中斷異常處理160
9.1.4 嵌入式系統(tǒng)鏈接腳本160
9.1.5 減少代碼體積161
9.1.6 支持printf函數(shù)161
9.1.7 提供板級(jí)支持包162
9.2 RISC-V GCC工具鏈簡(jiǎn)介162
9.2.1 RISC-V GCC工具鏈種類(lèi)162
9.2.2 riscv-none-embed工具鏈下載163
9.2.3 RISC-V GCC工具鏈的(?Cmarch=)和(?Cmabi=)選項(xiàng)164
9.2.4 RISC-V GCC工具鏈的(?Cmcmodel=)選項(xiàng)168
9.2.5 RISC-V GCC工具鏈的其他選項(xiàng)169
9.2.6 RISC-V GCC工具鏈的預(yù)定義宏170
9.2.7 RISC-V GCC工具鏈?zhǔn)褂脤?shí)例170
第 10章 RISC-V匯編語(yǔ)言程序設(shè)計(jì)171
10.1 匯編語(yǔ)言簡(jiǎn)介171
10.2 RISC-V匯編程序概述172
10.3 RISC-V匯編指令173
10.4 RISC-V匯編程序偽操作173
10.5 RISC-V匯編程序示例177
10.5.1 定義標(biāo)簽177
10.5.2 定義宏178
10.5.3 定義常數(shù)178
10.5.4 立即數(shù)賦值178
10.5.5 標(biāo)簽地址賦值179
10.5.6 設(shè)置浮點(diǎn)舍入模式179
10.5.7 完整實(shí)例180
10.6 在C C 程序中嵌入?yún)R編181
10.6.1 GCC內(nèi)聯(lián)匯編簡(jiǎn)述181
10.6.2 GCC內(nèi)聯(lián)匯編“輸出操作數(shù)”和“輸入操作數(shù)”部分182
10.6.3 GCC內(nèi)聯(lián)匯編“可能影響的寄存器或存儲(chǔ)器”部分183
10.6.4 GCC內(nèi)聯(lián)匯編參考實(shí)例一184
10.6.5 GCC內(nèi)聯(lián)匯編參考實(shí)例二185
10.6.6 小結(jié)186
10.7 在匯編中調(diào)用C C 函數(shù)186
10.8 本章小結(jié)187
第 11章 基于HBird-E-SDK平臺(tái)的軟件開(kāi)發(fā)與運(yùn)行188
11.1 HBird-E-SDK平臺(tái)簡(jiǎn)介188
11.2 HBird-E-SDK平臺(tái)代碼結(jié)構(gòu)189
11.3 HBird-E-SDK板級(jí)支持包解析190
11.3.1 移植了Newlib樁函數(shù)190
11.3.2 支持了printf函數(shù)192
11.3.3 提供系統(tǒng)鏈接腳本193
11.3.4 系統(tǒng)啟動(dòng)引導(dǎo)程序198
11.3.5 系統(tǒng)異常和中斷處理202
11.3.6 減少代碼體積206
11.4 使用HBird-E-SDK開(kāi)發(fā)和編譯程序208
11.4.1 在HBird-E-SDK環(huán)境中安裝工具鏈208
11.4.2 在HBird-E-SDK環(huán)境中開(kāi)發(fā)程序210
11.4.3 編譯使得程序從Flash直接運(yùn)行211
11.4.4 編譯使得程序從ITCM中運(yùn)行212
11.4.5 編譯使得程序從Flash上載至ITCM中運(yùn)行213
11.5 使用HBird-E-SDK下載程序213
11.5.1 JTAG調(diào)試器與MCU原型開(kāi)發(fā)板的連接213
11.5.2 設(shè)置JTAG調(diào)試器在Linux系統(tǒng)中的USB權(quán)限214
11.5.3 將程序下載至MCU原型開(kāi)發(fā)板216
11.6 在MCU原型開(kāi)發(fā)板上運(yùn)行程序216
11.6.1 程序從Flash直接運(yùn)行217
11.6.2 程序從ITCM中運(yùn)行217
11.6.3 程序從Flash上載至ITCM中運(yùn)行218
11.7 使用GDB遠(yuǎn)程調(diào)試程序218
11.7.1 調(diào)試器工作原理218
11.7.2 GDB常用操作示例220
11.7.3 使用GDB調(diào)試Hello World示例221
第 12章 開(kāi)源蜂鳥(niǎo)E203 MCU的更多示例程序226
12.1 Dhrystone示例程序226
12.1.1 Dhrystone示例程序功能簡(jiǎn)介226
12.1.2 Dhrystone示例程序代碼結(jié)構(gòu)229
12.1.3 運(yùn)行Dhrystone229
12.2 CoreMark示例程序231
12.2.1 CoreMark示例程序功能簡(jiǎn)介231
12.2.2 CoreMark示例程序代碼結(jié)構(gòu)232
12.2.3 運(yùn)行CoreMark233
12.3 Demo_IASM示例程序234
12.3.1 Demo_IASM示例程序功能簡(jiǎn)介234
12.3.2 Demo_IASM示例程序代碼結(jié)構(gòu)234
12.3.3 Demo_IASM示例程序源碼解析235
12.3.4 運(yùn)行Demo_IASM235
12.4 Demo_GPIO示例程序236
12.4.1 Demo_GPIO示例程序功能簡(jiǎn)介236
12.4.2 Demo_GPIO示例程序代碼結(jié)構(gòu)237
12.4.3 Demo_GPIO示例程序源碼分析237
12.4.4 運(yùn)行Demo_GPIO243
12.5 中斷嵌套244
第 13章 Windows IDE集成開(kāi)發(fā)調(diào)試環(huán)境245
13.1 MCU Eclipse IDE簡(jiǎn)介與安裝245
13.1.1 MCU Eclipse IDE簡(jiǎn)介245
13.1.2 RISC-V MCU Eclipse下載246
13.1.3 RISC-V MCU Eclipse安裝247
13.2 啟動(dòng)Eclipse248
13.3 創(chuàng)建Hello World項(xiàng)目249
13.4 配置Hello World項(xiàng)目253
13.4.1 配置工具鏈路徑253
13.4.2 配置項(xiàng)目的編譯和鏈接選項(xiàng)256
13.4.3 配置項(xiàng)目的BSP262
13.4.4 配置項(xiàng)目的包含路徑和文件265
13.5 編譯Hello World項(xiàng)目267
13.6 運(yùn)行Hello World項(xiàng)目269
13.6.1 安裝JTAG調(diào)試器在Windows系統(tǒng)中的USB驅(qū)動(dòng)269
13.6.2 通過(guò)Eclipse下載程序至MCU開(kāi)發(fā)板270
13.6.3 在MCU開(kāi)發(fā)板上運(yùn)行程序274
13.7 調(diào)試Hello World項(xiàng)目276
13.8 拓展一:基于MCU Eclipse運(yùn)行調(diào)試demo_gpio示例280
13.9 拓展二:基于MCU Eclipse運(yùn)行調(diào)試dhrystone示例281
第 14章 開(kāi)源蜂鳥(niǎo)E203 MCU開(kāi)發(fā)板移植RTOS283
14.1 RTOS簡(jiǎn)述283
14.2 常用實(shí)時(shí)操作系統(tǒng)概述284
14.3 FreeRTOS簡(jiǎn)介285
14.4 蜂鳥(niǎo)E203 MCU移植RTOS286
附錄A RISC-V架構(gòu)指令集介紹287
A.1 RV32GC架構(gòu)概述287
A.2 RV32E架構(gòu)概述288
A.3 蜂鳥(niǎo)E203支持的指令列表288
A.4 寄存器組288
A.4.1 通用寄存器組289
A.4.2 CSR寄存器290
A.5 指令PC290
A.6 尋址空間劃分290
A.7 大端格式或小端格式290
A.8 工作模式290
A.9 Hart概念291
A.10 復(fù)位狀態(tài)291
A.11 中斷和異常292
A.12 存儲(chǔ)器地址管理292
A.13 存儲(chǔ)器模型292
A.14 指令類(lèi)型293
A.14.1 RV32IMAFDC指令列表293
A.14.2 基本整數(shù)指令(RV32I)293
A.14.3 整數(shù)乘法和除法指令(RV32M指令子集)302
A.14.4 浮點(diǎn)指令(RV32F,RV32D指令子集)304
A.14.5 存儲(chǔ)器原子操作指令(RV32A指令子集)315
A.14.6 16位壓縮指令(RV32C指令子集)318
A.15 偽指令320
A.16 指令編碼320
附錄B RISC-V架構(gòu)CSR寄存器介紹321
B.1 蜂鳥(niǎo)E203支持的CSR寄存器列表321
B.2 RISC-V標(biāo)準(zhǔn)CSR322
B.2.1 misa322
B.2.2 mvendorid323
B.2.3 marchid323
B.2.4 mimpid323
B.2.5 mhartid324
B.2.6 fflags324
B.2.7 frm324
B.2.8 fcsr324
B.2.9 mstatus324
B.2.10 mtvec326
B.2.11 mepc326
B.2.12 mcause327
B.2.13 mtval (mbadaddr)327
B.2.14 mie328
B.2.15 mip328
B.2.16 mscratch328
B.2.17 mcycle和mcycleh329
B.2.18 minstret和minstreth329
B.2.19 mtime、mtimecmp和msip329
B.3 蜂鳥(niǎo)E203自定義CSR330mcounterstop330
附錄C RISC-V架構(gòu)的PLIC介紹331
C.1 概述331
C.2 PLIC中斷目標(biāo)332PLIC中斷目標(biāo)之閾值333
C.3 PLIC中斷源333
C.3.1 PLIC中斷源之閘口(Gateway)和IP334
C.3.2 PLIC中斷源之編號(hào)(ID)334
C.3.3 PLIC中斷源之優(yōu)先級(jí)(Priority)334
C.3.4 PLIC中斷源之中斷使能(Enable)334
C.4 PLIC中斷處理機(jī)制335
C.4.1 PLIC中斷通知機(jī)制(Notification)335
C.4.2 PLIC中斷響應(yīng)機(jī)制(Claim)335
C.4.3 PLIC中斷完成機(jī)制(Completion)336
C.4.4 PLIC中斷完整流程336
C.5 PLIC寄存器總結(jié)337
C.6 總結(jié)與比較339
附錄D 存儲(chǔ)器模型背景介紹340
D.1 為何要有存儲(chǔ)器模型的概念340
D.2 存儲(chǔ)器模型定義了什么341
D.2.1 按序一致性模型341
D.2.2 松散一致性模型342
D.2.3 釋放一致性模型342
D.2.4 存儲(chǔ)器模型總結(jié)342
D.3 存儲(chǔ)器模型應(yīng)用實(shí)例343
D.4 RISC-V架構(gòu)的存儲(chǔ)器模型344
附錄E 存儲(chǔ)器原子操作指令背景介紹345
E.1 什么是“上鎖”問(wèn)題345
E.2 通過(guò)原子操作解決“上鎖”問(wèn)題346
E.3 通過(guò)互斥操作解決“上鎖”問(wèn)題346
E.4 RISC-V架構(gòu)的相關(guān)指令348
附錄F RISC-V指令編碼列表349
F.1 RV32I指令編碼349
F.2 RV32M指令編碼350
F.3 RV32A指令編碼350
F.4 RV32F指令編碼350
F.5 RV32D指令編碼351
F.6 RVC指令編碼351
附錄G RISC-V偽指令列表353
RISC-V架構(gòu)與嵌入式開(kāi)發(fā)快速入門(mén) 作者簡(jiǎn)介
胡振波,本科畢業(yè)于上海交通大學(xué)電子工程系,碩士畢業(yè)于上海交通大學(xué)微電子學(xué)院。擁有多年ASIC和CPU設(shè)計(jì)與驗(yàn)證經(jīng)驗(yàn),曾在Marvell公司任ARM架構(gòu)CPU設(shè)計(jì)高級(jí)工程師,在Synopsys公司任研發(fā)經(jīng)理,在比特大陸公司任IC設(shè)計(jì)總監(jiān),在武漢聚芯微電子公司任架構(gòu)師,現(xiàn)致力于RISC-V架構(gòu)在國(guó)內(nèi)的傳播和發(fā)展。他開(kāi)發(fā)并開(kāi)源了蜂鳥(niǎo)E203超低功耗RISC-V處理器內(nèi)核。
- >
隨園食單
- >
史學(xué)評(píng)論
- >
姑媽的寶刀
- >
有舍有得是人生
- >
朝聞道
- >
龍榆生:詞曲概論/大家小書(shū)
- >
二體千字文
- >
新文學(xué)天穹兩巨星--魯迅與胡適/紅燭學(xué)術(shù)叢書(shū)(紅燭學(xué)術(shù)叢書(shū))