热搜关键词: 电磁兼容Altium DesignerDC/DC自动驾驶

pdf

RISC-V架构与嵌入式开发快速入门

  • 1星
  • 2022-03-19
  • 8.65MB
  • 需要1积分
  • 392次下载
  • favicon收藏
  • rep举报
  • free评论
标签: 嵌入式

嵌入式

本书是一本介绍RISC-V架构嵌入式开发的入门书籍,以通俗的语言系统介绍了嵌入式开发的基础知识和RISC-V架构的内容,力求帮助读者快速掌握RISC-V架构的嵌入式开发技术。  本书共分为两部分。*部分为第1~14章,基本涵盖了使用RISC-V架构进行嵌入式开发所需的所有关键知识。第二部分为附录部分,详细介绍了RISC-V指令集架构,辅以作者加入的背景知识解读和注解,以便于读者理解。

第  1章  进入32位时代,谁能成为下一个80511

1.1  磨刀不误砍柴工—CPU基础知识介绍1

1.1.1  ISA—CPU的灵魂2

1.1.2  CISC与RISC3

1.1.3  32位与64位架构4

1.1.4  ISA众生相5

1.1.5  CPU的领域之分9

1.1.6  8位时代的传奇“前辈”—805110

1.1.7  IoT的崛起—32位时代的到来11

1.2  无敌是多么寂寞—ARM统治着的世界11

1.2.1  独乐乐与众乐乐—ARM公司的盈利模式12

1.2.2  小个子有大力量—无处不在的Cortex-M系列14

1.2.3  移动王者—Cortex-A系列在手持设备领域的巨大成功16

1.2.4  进击的巨人—ARM进军PC与服务器领域的雄心18

1.2.5  游戏终结者之ARM19

1.3  东边日出西边雨,道是无晴却有晴—RISC-V登场19

1.4  RISC-V和其他开放架构有何不同21

1.4.1  “平民英雄”—OpenRISC22

1.4.2  “豪门显贵”—SPARC22

1.4.3  “名校优生”—RISC-V23

1.5  结语:进入32位时代,谁能成为深嵌入式领域的下一个8051?23

第  2章  开源蜂鸟E203超低功耗RISC-V  Core与SoC25

2.1  乱花渐欲迷人眼25

2.2  与众不同的蜂鸟E203处理器25

2.3  蜂鸟虽小,五脏俱全—蜂鸟E203简介26

2.4  蜂鸟E203性能指标27

2.5  蜂鸟E203配套SoC28

第3章  大道至简—RISC-V架构之魂29

3.1  简单就是美—RISC-V架构的设计哲学29

3.1.1  无病一身轻—架构的篇幅30

3.1.2  能屈能伸—模块化的指令集31

3.1.3  浓缩的都是精华—指令的数量31

3.2  RISC-V指令集架构简介32

3.2.1  模块化的指令子集32

3.2.2  可配置的通用寄存器组33

3.2.3  规整的指令编码33

3.2.4  简洁的存储器访问指令34

3.2.5  高效的分支跳转指令35

3.2.6  简洁的子程序调用36

3.2.7  无条件码执行36

3.2.8  无分支延迟槽37

3.2.9  零开销硬件循环37

3.2.10  简洁的运算指令38

3.2.11  优雅的压缩指令子集38

3.2.12  特权模式39

3.2.13  CSR寄存器40

3.2.14  中断和异常40

3.2.15  矢量指令子集40

3.2.16  自定制指令扩展40

3.2.17  总结与比较41

第4章  RISC-V架构的中断和异常43

4.1  中断和异常概述43

4.1.1  中断概述43

4.1.2  异常概述44

4.1.3  广义上的异常44

4.2  RISC-V架构异常处理机制46

4.2.1  进入异常47

4.2.2  退出异常50

4.2.3  异常服务程序50

4.3  RISC-V架构中断定义51

4.3.1  中断类型51

4.3.2  中断屏蔽54

4.3.3  中断等待55

4.3.4  中断优先级与仲裁55

4.3.5  中断嵌套56

4.3.6  总结比较57

4.4  RISC-V架构异常相关CSR寄存器57

4.5  蜂鸟E203的中断和异常实现58

第5章  开源蜂鸟E203  MCU  SoC总体介绍59

5.1  Freedom  E310  SoC简介59

5.2  蜂鸟E203  MCU  SoC简介60

5.3  蜂鸟E203  MCU  SoC框图60

5.4  蜂鸟E203  MCU  SoC存储资源61

5.4.1  片上存储资源61

5.4.2  片外Flash存储资源61

5.5  蜂鸟E203  MCU  SoC外设资源62

5.6  蜂鸟E203  MCU  SoC地址分配62

5.7  蜂鸟E203  MCU  SoC时钟域划分63

5.8  蜂鸟E203  MCU  SoC电源域划分64

5.9  蜂鸟E203  MCU  SoC低功耗模式64

5.10  蜂鸟E203  MCU  SoC的全局复位65

5.11  蜂鸟E203  MCU  SoC的上电流程控制66

5.12  蜂鸟E203  MCU  SoC芯片引脚表67

5.13  蜂鸟E203  MCU  SoC的GPIO引脚分配68

5.14  蜂鸟E203  MCU  SoC的中断处理70

5.14.1  蜂鸟E203处理器核的异常和中断处理70

5.14.2  蜂鸟E203处理器的中断接口71

5.14.3  CLINT模块生成计时器中断和软件中断72

5.14.4  PLIC管理多个外部中断73

第6章  开源蜂鸟E203  MCU  SoC外设介绍77

6.1  蜂鸟E203  MCU  SoC外设总述77

6.2  PLIC78

6.3  CLINT78

6.4  LCLKGEN78

6.4.1  LCLKGEN简介78

6.4.2  LCLKGEN寄存器列表78

6.5  HCLKGEN79

6.5.1  HCLKGEN简介79

6.5.2  HCLKGEN寄存器列表79

6.6  GPIO79

6.6.1  GPIO特性79

6.6.2  GPIO寄存器列表80

6.6.3  I  O结构和IOF模式80

6.6.4  SoC各外设复用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背景知识简介86

6.7.2  SPI特性88

6.7.3  SPI寄存器列表89

6.7.4  SPI接口数据线90

6.7.5  通过SPI_SCKDIV寄存器配置SCK时钟频率90

6.7.6  通过SPI_SCKMODE寄存器配置SCK的极性与相位90

6.7.7  通过SPI_CSID寄存器配置SPI使能信号92

6.7.8  通过SPI_CSDEF寄存器配置使能信号的空闲值92

6.7.9  通过SPI_CSMODE寄存器配置使能信号的行为92

6.7.10  通过SPI_DELAY0和SPI_DELAY1寄存器配置使能信号的行为93

6.7.11  通过SPI_FCTRL寄存器使能QSPI0的Flash  XiP模式94

6.7.12  通过SPI_FFMT寄存器控制QSPI0读取外部Flash95

6.7.13  通过SPI_FMT寄存器配置传输参数97

6.7.14  通过SPI_TXDATA寄存器发送数据97

6.7.15  通过SPI_RXDATA寄存器接收数据98

6.7.16  通过SPI_TXMARK寄存器配置发送中断阈值100

6.7.17  通过SPI_RXMARK寄存器配置接收中断阈值100

6.7.18  通过SPI_IE和SPI_IP寄存器控制中断101

6.8  I2C102

6.8.1  I2C背景知识简介102

6.8.2  I2C特性103

6.8.3  I2C寄存器列表103

6.8.4  I2C接口数据线104

6.8.5  通过I2C_PRERlo和I2C_PRERhi寄存器配置SCL时钟频率104

6.8.6  通过I2C_CTR寄存器配置功能和中断使能104

6.8.7  I2C模块产生中断105

6.8.8  通过I2C_TXR和I2C_RXR寄存器发送和接收数据105

6.8.9  通过I2C_CR和I2C_SR寄存器发起命令和查看状态106

6.8.10  初始化I2C模块的序列107

6.8.11  通过I2C模块向外部从设备写数据的常用序列107

6.8.12  通过I2C模块从外部从设备读数据的常用序列108

6.9  UART109

6.9.1  UART背景知识简介109

6.9.2  UART特性110

6.9.3  UART寄存器列表110

6.9.4  UART接口数据线111

6.9.5  通过UART_TXDATA寄存器发送数据111

6.9.6  通过UART_RXDATA寄存器接收数据112

6.9.7  通过UART_TXCTRL寄存器进行发送控制113

6.9.8  通过UART_RXCTRL寄存器进行接收控制113

6.9.9  通过UART_IE和UART_IP寄存器控制中断114

6.9.10  通过UART_DIV寄存器配置波特率115

6.10  PWM116

6.10.1  PWM背景知识简介116

6.10.2  PWM特性和结构图116

6.10.3  PWM寄存器列表117

6.10.4  通过PWMCFG寄存器进行配置118

6.10.5  计数器计数值PWMCOUNT寄存器和PWM周期119

6.10.6  计数器比较值PWMS寄存器120

6.10.7  PWM接口数据线121

6.10.8  产生左对齐或者右对齐的脉冲信号121

6.10.9  产生居中对齐的脉冲信号122

6.10.10  配置pwmcmpgang结连产生任意形状的脉冲信号124

6.10.11  配置pwmdeglitch防止输出毛刺124

6.10.12  PWM产生中断124

6.11  WDT125

6.11.1  WDT背景知识简介125

6.11.2  WDT特性和结构图125

6.11.3  WDT寄存器列表126

6.11.4  通过WDOGCFG寄存器进行配置127

6.11.5  计数器计数值WDOGCOUNT寄存器128

6.11.6  通过WDOGKEY寄存器解锁128

6.11.7  通过WDOGFEED寄存器喂狗129

6.11.8  计数器比较值WDOGS寄存器129

6.11.9  通过WDOGCMP寄存器配置阈值130

6.11.10  WDT产生全局复位130

6.11.11  WDT产生中断130

6.12  RTC131

6.12.1  RTC背景知识简介131

6.12.2  RTC特性和结构图131

6.12.3  RTC寄存器列表131

6.12.4  通过RTCCFG寄存器进行配置132

6.12.5  计数器计数值RTCHI  RTCLO寄存器133

6.12.6  计数器比较值RTCS寄存器133

6.12.7  通过RTCCMP寄存器配置阈值134

6.12.8  RTC产生中断134

6.13  PMU134

6.13.1  PMU背景知识简介134

6.13.2  PMU特性和结构图135

6.13.3  PMU寄存器列表136

6.13.4  通过PMUKEY寄存器解锁136

6.13.5  通过PMUSLEEP寄存器进入休眠模式137

6.13.6  通过PMUSLEEPI寄存器配置休眠指令序列137

6.13.7  通过PMUBACKUP寄存器保存关键信息139

6.13.8  通过PMUIE寄存器配置唤醒条件139

6.13.9  通过PMUWAKEUPI寄存器配置唤醒指令序列140

6.13.10  通过PMUCAUSE寄存器查看唤醒原因141

第7章  开源蜂鸟E203  MCU开发板与调试器143

7.1  蜂鸟E203  MCU开发板143

7.2  蜂鸟E203  JTAG调试器143

第8章  编译过程简介145

8.1  GCC工具链介绍145

8.1.1  GCC工具链概述145

8.1.2  Binutils146

8.1.3  C运行库147

8.1.4  GCC命令行选项148

8.2  准备工作148

8.2.1  Linux安装148

8.2.2  准备Hello  World程序148

8.3  编译过程149

8.3.1  预处理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  嵌入式系统编译的特殊性156

8.6  本章小结156

第9章  嵌入式开发特点与RISC-V  GCC工具链158

9.1  嵌入式系统开发特点158

9.1.1  交叉编译和远程调试158

9.1.2  移植newlib或newlib-nano作为C运行库159

9.1.3  嵌入式引导程序和中断异常处理160

9.1.4  嵌入式系统链接脚本160

9.1.5  减少代码体积161

9.1.6  支持printf函数161

9.1.7  提供板级支持包162

9.2  RISC-V  GCC工具链简介162

9.2.1  RISC-V  GCC工具链种类162

9.2.2  riscv-none-embed工具链下载163

9.2.3  RISC-V  GCC工具链的(?Cmarch=)和(?Cmabi=)选项164

9.2.4  RISC-V  GCC工具链的(?Cmcmodel=)选项168

9.2.5  RISC-V  GCC工具链的其他选项169

9.2.6  RISC-V  GCC工具链的预定义宏170

9.2.7  RISC-V  GCC工具链使用实例170

第  10章  RISC-V汇编语言程序设计171

10.1  汇编语言简介171

10.2  RISC-V汇编程序概述172

10.3  RISC-V汇编指令173

10.4  RISC-V汇编程序伪操作173

10.5  RISC-V汇编程序示例177

10.5.1  定义标签177

10.5.2  定义宏178

10.5.3  定义常数178

10.5.4  立即数赋值178

10.5.5  标签地址赋值179

10.5.6  设置浮点舍入模式179

10.5.7  完整实例180

10.6  在C  C  程序中嵌入汇编181

10.6.1  GCC内联汇编简述181

10.6.2  GCC内联汇编“输出操作数”和“输入操作数”部分182

10.6.3  GCC内联汇编“可能影响的寄存器或存储器”部分183

10.6.4  GCC内联汇编参考实例一184

10.6.5  GCC内联汇编参考实例二185

10.6.6  小结186

10.7  在汇编中调用C  C  函数186

10.8  本章小结187

第  11章  基于HBird-E-SDK平台的软件开发与运行188

11.1  HBird-E-SDK平台简介188

11.2  HBird-E-SDK平台代码结构189

11.3  HBird-E-SDK板级支持包解析190

11.3.1  移植了Newlib桩函数190

11.3.2  支持了printf函数192

11.3.3  提供系统链接脚本193

11.3.4  系统启动引导程序198

11.3.5  系统异常和中断处理202

11.3.6  减少代码体积206

11.4  使用HBird-E-SDK开发和编译程序208

11.4.1  在HBird-E-SDK环境中安装工具链208

11.4.2  在HBird-E-SDK环境中开发程序210

11.4.3  编译使得程序从Flash直接运行211

11.4.4  编译使得程序从ITCM中运行212

11.4.5  编译使得程序从Flash上载至ITCM中运行213

11.5  使用HBird-E-SDK下载程序213

11.5.1  JTAG调试器与MCU原型开发板的连接213

11.5.2  设置JTAG调试器在Linux系统中的USB权限214

11.5.3  将程序下载至MCU原型开发板216

11.6  在MCU原型开发板上运行程序216

11.6.1  程序从Flash直接运行217

11.6.2  程序从ITCM中运行217

11.6.3  程序从Flash上载至ITCM中运行218

11.7  使用GDB远程调试程序218

11.7.1  调试器工作原理218

11.7.2  GDB常用操作示例220

11.7.3  使用GDB调试Hello  World示例221

第  12章  开源蜂鸟E203  MCU的更多示例程序226

12.1  Dhrystone示例程序226

12.1.1  Dhrystone示例程序功能简介226

12.1.2  Dhrystone示例程序代码结构229

12.1.3  运行Dhrystone229

12.2  CoreMark示例程序231

12.2.1  CoreMark示例程序功能简介231

12.2.2  CoreMark示例程序代码结构232

12.2.3  运行CoreMark233

12.3  Demo_IASM示例程序234

12.3.1  Demo_IASM示例程序功能简介234

12.3.2  Demo_IASM示例程序代码结构234

12.3.3  Demo_IASM示例程序源码解析235

12.3.4  运行Demo_IASM235

12.4  Demo_GPIO示例程序236

12.4.1  Demo_GPIO示例程序功能简介236

12.4.2  Demo_GPIO示例程序代码结构237

12.4.3  Demo_GPIO示例程序源码分析237

12.4.4  运行Demo_GPIO243

12.5  中断嵌套244

第  13章  Windows  IDE集成开发调试环境245

13.1  MCU  Eclipse  IDE简介与安装245

13.1.1  MCU  Eclipse  IDE简介245

13.1.2  RISC-V  MCU  Eclipse下载246

13.1.3  RISC-V  MCU  Eclipse安装247

13.2  启动Eclipse248

13.3  创建Hello  World项目249

13.4  配置Hello  World项目253

13.4.1  配置工具链路径253

13.4.2  配置项目的编译和链接选项256

13.4.3  配置项目的BSP262

13.4.4  配置项目的包含路径和文件265

13.5  编译Hello  World项目267

13.6  运行Hello  World项目269

13.6.1  安装JTAG调试器在Windows系统中的USB驱动269

13.6.2  通过Eclipse下载程序至MCU开发板270

13.6.3  在MCU开发板上运行程序274

13.7  调试Hello  World项目276

13.8  拓展一:基于MCU  Eclipse运行调试demo_gpio示例280

13.9  拓展二:基于MCU  Eclipse运行调试dhrystone示例281

第  14章  开源蜂鸟E203  MCU开发板移植RTOS283

14.1  RTOS简述283

14.2  常用实时操作系统概述284

14.3  FreeRTOS简介285

14.4  蜂鸟E203  MCU移植RTOS286

附录A  RISC-V架构指令集介绍287

A.1  RV32GC架构概述287

A.2  RV32E架构概述288

A.3  蜂鸟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  复位状态291

A.11  中断和异常292

A.12  存储器地址管理292

A.13  存储器模型292

A.14  指令类型293

A.14.1  RV32IMAFDC指令列表293

A.14.2  基本整数指令(RV32I)293

A.14.3  整数乘法和除法指令(RV32M指令子集)302

A.14.4  浮点指令(RV32F,RV32D指令子集)304

A.14.5  存储器原子操作指令(RV32A指令子集)315

A.14.6  16位压缩指令(RV32C指令子集)318

A.15  伪指令320

A.16  指令编码320

附录B  RISC-V架构CSR寄存器介绍321

B.1  蜂鸟E203支持的CSR寄存器列表321

B.2  RISC-V标准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  蜂鸟E203自定义CSR330mcounterstop330

附录C  RISC-V架构的PLIC介绍331

C.1  概述331

C.2  PLIC中断目标332PLIC中断目标之阈值333

C.3  PLIC中断源333

C.3.1  PLIC中断源之闸口(Gateway)和IP334

C.3.2  PLIC中断源之编号(ID)334

C.3.3  PLIC中断源之优先级(Priority)334

C.3.4  PLIC中断源之中断使能(Enable)334

C.4  PLIC中断处理机制335

C.4.1  PLIC中断通知机制(Notification)335

C.4.2  PLIC中断响应机制(Claim)335

C.4.3  PLIC中断完成机制(Completion)336

C.4.4  PLIC中断完整流程336

C.5  PLIC寄存器总结337

C.6  总结与比较339

附录D  存储器模型背景介绍340

D.1  为何要有存储器模型的概念340

D.2  存储器模型定义了什么341

D.2.1  按序一致性模型341

D.2.2  松散一致性模型342

D.2.3  释放一致性模型342

D.2.4  存储器模型总结342

D.3  存储器模型应用实例343

D.4  RISC-V架构的存储器模型344

附录E  存储器原子操作指令背景介绍345

E.1  什么是“上锁”问题345

E.2  通过原子操作解决“上锁”问题346

E.3  通过互斥操作解决“上锁”问题346

E.4  RISC-V架构的相关指令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
架构嵌入式开发的入门书籍,
以通俗的语言系统介绍了嵌入式开发的基础
知识和
RISC-V
架构的内容,力求帮助读者快速掌握
RISC-V
架构的嵌入式开发技术。
本书共分为两部分。第一部分为第
1½14
章,
基本涵盖了½用
RISC-V
架构进行嵌入式开发所需的
所有关键知识。第二部分为附½部分,详细介绍了
RISC-V
指令集架构,辅以½者加入的背景知识解读
和注解,以便于读者理解。
本书适合嵌入式开发的相关从业者和广大的
RISC-V
爱½者阅读½用,
也适合½为大中专院校师生
学习
RISC-V
架构和嵌入式开发的指导用书。
责任编辑
胡振波
张 ½
北京市丰台区成寿寺路
11
责任印制 焦志炜
人民邮电出版社出版发行
邮编
100164
½址
http://www.ptpress.com.cn
电子邮件
315@ptpress.com.cn
山东华立印务有限公司印刷
开本:8001000
1/16
印张:23.5
字数:515 千字
印数:1
– 2 500
2019
1
月第
1
2019
1
月山东第
1
次印刷
定价:79.00 元
读者服务热线:(010)81055410 印装质量热线:(010)81055316
反盗版热线:(010)81055315
广告经营许可证:京东工商广登字
20170147
拿到这本书稿的时间是
2018
5
月,½时½者的《手把手教½设计
CPU——RISC-V
处理器篇》刚刚出版。½者带着几本样书赶到深圳参加我组织的一场“嵌入式技术与物联½
产业发展”研讨会,½者关于
RISC-V
发展历史和应用的报告,吸引了深圳业界朋友们极大
的关注,我对
RISC-V
的了解也从此开始。
如果说½者的第一本书旨在教½如½设计一个基于
RISC-V
内核的处理器,那么
《RISC-V 架构与嵌入式开发快速入门》
则会教½如½基于一款
RISC-V
内核的处理器进行嵌
入式开发。和我们看到的基于
STM32 ARM
嵌入式开发相关的图书一样,本书讲授的内容非
常丰富,文笔风趣流畅。需要指出的是,2003 年
ARM
正式发布
Cortex-M3
内核,2007 年
ST
发布第一款基于此内核的
STM32 MCU
芯片。基于
ARM
MCU
芯片已经走过
10
½年
历程,而
RISC-V
最早的起源也只½½溯到
2010
年的加州伯克利大学,该大学的几½计算
机系教授在½用
MIPS、SPARC
x86
进行许多年的教学和科研之后,发现他们需要发明一
种新的处理器指令集,四年之后这种处理器规范开放了。2016 年
RISC-V
基金会成立,之
后开源和商业
RISC-V
处理器
IP
陆续出现,短短两年时间内,½者撰写出本书的内容实属
不易。
在物联½和嵌入式领域,一定是
RISC-V
最先½地并且广泛应用。RISC-V 基金会最大
的支持者——西部数据公司在其存储产品中½用了
RISC-V
架构处理器。2018 年
RISC-V
金会应邀在德½½伦堡世界嵌入式展会上举办了一个全天的课程,
内容包括成员公司技术专
家和大学教授的演讲。为了鼓励更多人去参观展½,基金会还举办了一场寻宝游戏,获胜者
可以获得
SiFive
Microsemi
最新的
RISC-V
开发板以及
SEGGER J-link
调试工具。许多著
名的嵌入式½件和工具公司½开始支持
RISC-V,
比如德½
SEGGER、
劳特巴赫和瑞典
IAR。
2018
8
月,印度理工学院开发出第一个自主微处理器——Shakti,它的设计基于
RISC-V
开放指令架构,制造工艺是
180nm。计算机与科学系教授 Veezhinathan
说,美½制造的芯片
采用
20nm
工艺,Shakti 芯片在这个阶段无法为智½手机提供运算½力,½是它仍然可以用
在洗衣机或智½相机等智½设备½中。2018 年
11
月,在
Andes RISC-V CON
座谈会上,清
华大学教授兼深鉴科技联合创始人汪玉博士、
晶心科技苏泓萌先生以及中½科学院信息工程
研究所研究员宋威等专家,一同就“RISC-V 是不是准备½了”进行了讨论,大家普遍认为
物联½和消费电子将是
RISC-V
最主要的应用市场。
嵌入式系统应用非常广泛,物联½更是碎片化的市场。目前
RISC-V
技术还在发展,各
家芯片平台还在开发之中,应用将会逐步展开和½地。
“千里之行,始于足下”
,芯片、开发
板、调试器、SDK、OS、培训、社区和图书,这些½是
RISC-V
嵌入式应用不可缺少的生态
环境。现在市场上½看到和购买到的通用
RISC-V
芯片与开发板还不多,图书资料更少。
《RISC-V 架构与嵌入式开发快速入门》的出版,将为希望学习
RISC-V
技术和应用开发的朋
2 │他序
友们解惑答疑,
本书配套的蜂鸟
FPGA
开发板和调试器将为希望上手操½的朋友提供½成本
的入门平台。
物联½时代,开源½件和开源硬件的合½非常重要,本书对基于
GCC
工具链的开源
HBird-E-SDK
做了详细介绍。相信包括
Linux
FreeRTOS
在内的开源½件将为
RISC-V
发展增光添½,感谢½者为
RISC-V
的普及推广所做的贡献!
½小庆
中½½件行业协会嵌入式系统分会副理事长
2018
11
9
日于中关村
展开预览

猜您喜欢

推荐帖子 最新更新时间:2023-11-24 15:23

清零以后维持三分钟的问题
我正在做一款产品叫试验机,就是给比如钢筋混凝土等做破坏性试验的机器。 用的是STM32F767,有压力传感器、编码器、步进电机驱动器等。 现在正在搞传感器的程序。硬件电路差不多了,做软件。使用传感器要先标定。 标定界面如下: 第一步、传感器空载,什么都不放,点击打点,标定第一个值。采样值就是码值,记下来A 第二步、加500g的砝码,再次点击打点,标定第二个值,记下第二个码值B 第三
chenbingjy stm32/stm8
microbit,我也想玩玩。
之前一直用FSL的openSDA仿真器,后来官方固件更新重命名为DAPLINK,偶然的机会看到microbit。后来在群里看到有人说D大有在发起microbit的众筹活动。 关注microbit有一段时间,决定自己DIY还是源于D大的帖子。链接如下, https://www.oschina.net/news/78289/micro-bit-opensource-reference 在官方参考
dibo MicroPython开源版块
【一起来玩ble+zigbee+6lowpan!】——TI-CC26xx硬件设计
TI-CC26xx硬件设计 文档编号 DN2000-0000-A0 关键字 C26xx, Wireless MCU, BLE, Zigbee 摘要 本文介绍了TI公司的CC26xx系列无线MCU的硬件设计,包括RGZ(7x7)封装的最小系统板,和RSM(4x4)封装的模块。对外围原件、天线选择、供电、IO引脚引出等方面进行了说明。
mars4zhu RF/无线
我的东西做的差不多了,晚上上视频(已上视频)
本帖最后由 airqj 于 2014-5-30 17:18 编辑 $(\'flv_n5e\').innerHTML=(mobileplayer() ? \"\" : AC_FL_RunContent(\'width\', \'500\', \'height\', \'375\', \'allowNetworking\', \'internal\', \'allowScriptAccess\',
airqj DSP 与 ARM 处理器
比较常见的DSP控制器的误解
马达控制设计人员近来在家用电器产品与伺服驱动器等各种应用中的发展都遇到了障碍,必须在控制器性能或昂贵的价格之间进行选择。大多数马达控制应用本身成本较低。获得市场接受的必需条件之一就是产品价格要有吸引力,这就意味着必须选择能够实现工作目的的、从事其他作用有限的最廉价控制器。基于 DSP 的智能控制器正在改变这种情况,僵局被打破,基于 DSP 的新型控制器在相当适中的价格上实现了显著的性能提高。 如
灞波儿奔 DSP 与 ARM 处理器
TLP3547评估板评测三:工作温升测试
     温升测试使用兆信KXN-305D电源输出限流3A,限压30V的电源进行测试。选择3A电流是因为论坛里有兄弟在测试中使用5A电流已经将模块烧坏了,所以此次测试将测试电流降到3A。      测试将电源直接到光电继电器的输出端。      控制输入端用100hz 98% 点空比PWM,5.8mA 驱动电流。          上图中,分别记录了模块在该测试的时间,温度、光电继电器输
weiwei4 东芝光电继电器TLP3547评测
今日直播:TI MSP430™民用超声波水表开发指南及其智能模拟组合模块在传感器检测中...
观看直播>>> 直播时间 5 月 11 日 上午 10:00-11:30 直播主题 MSP430™民用超声波水表开发指南及其智能模拟组合模块在传感器检测中的应用 直播内容 介绍民用超声波水表计量原理及开发超声波水表过程中需要进行的测试。主要包括初始配置,零漂测试,温漂测试,瞬时流量测试和校准测试等。 讲解MSP430™上的智能模拟组合模块(SAC)在传感器检测中的应用
EEWORLD社区 TI技术论坛
GL3520 USB3.0 HUB的USB2.0接口无法识别故障
本帖最后由 LuJianchang 于 2020-12-18 15:28 编辑 关于GL3520的USB3.0 HUB因插拔与主机连接的USB3.0接口出现USB2.0接口无法识别USB设备的故障且无规律性。 如图1、2所示:绿色的板子是正常的,黑色的板子会出现USB2.0接口无法识别USB设备且无规律性,两块板子的PCB布局布线并无区别,均做了90Ohm阻抗匹配和差分对等长,不同之处在于
LuJianchang PCB设计

评论

fouces
感谢楼主分享
2023-09-10 17:12:30
kevin521
正需要看这个,真心感谢楼主的分享!!!
2022-12-08 16:31:05
yeann
Thanks for sharing, image good
2022-12-01 17:57:50
lop425
感谢楼主的分享
2022-09-20 12:40:05
sp_lsp
感谢楼主的分享
2022-09-15 13:39:10
nixuan
感谢楼主的分享
2022-08-17 14:00:28
登录/注册

意见反馈

求资源

回顶部

推荐内容

热门活动

热门器件

随便看看

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved
×