打印
[RISC-V MCU 应用开发]

基于 RISC-V 的微控制器入门指南

[复制链接]
2696|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
RISC-V 已成为微控制器的一个选项,嵌入式系统和消费类设备的设计人员需要学习如何着手将 RISC-V 整合至自己的设计。

GroupGets LLC  的 FE310 LoFive-R1  开发板为此提供了一条捷径。在介绍 LoFive-R1 之前,本文将介绍 RISC-V 并说明开发人员应考虑使用该架构的原因。然后,本文将详细介绍 LoFive-R1,说明如何着手应用开发以及可用的一些技巧与诀窍。


使用特权

评论回复

相关帖子

沙发
laocuo1142|  楼主 | 2022-3-16 14:40 | 只看该作者
什么是 RISC-V?

RISC-V 是一个开源硬件指令集架构项目,2010 年始于加州大学伯克利分校。构建 RISC-V 架构的原因很多,包括:
  • 满足对开源指令集架构 (ISA) 的需求,以供大学项目学术研究和学生使用
  • 分享 ISA 开发设计专业知识的途径
  • 避免向现有芯片公司支付特许权使用费以节省成本的方法
  • 保护架构(公司 IP)的设计细节以保持商业可行性

就设计人员而言,RISC-V 是一种专为高速和低功耗而设计的简化架构。因此,基于 RISC-V 的芯片不仅适用于学术界,也非常适合商业应用。实际上,RISC-V 基金会备受关注,目前已吸纳约 325 名成员,其中包括 Si-Five、Google、microchip Technology、NVIDIA 和 Qualcomm 等公司。

为 RISC-V 开发做出贡献的公司虽不少,但对于普通开发人员而言,获得 RISC-V 实践经验的最佳方法是找到一款基于 RISC-V 处理器的开发板。

使用特权

评论回复
板凳
laocuo1142|  楼主 | 2022-3-16 14:43 | 只看该作者
LoFive FE310 开发板

GroupGets LLC 的 LoFive-R1 开发板正是其中之一(图 1)。




首先,LoFive R1 包含的 RISC-V 处理器最高可在 320 MHz 下运行。该处理器包括 8 KB 的一次性可编程 (OTP) [color=rgb(68, 68, 68) !important]存储器
、8 KB 的掩膜 ROM、16 KB 的指令缓存和 16 KB 的 SRAM。此外,该处理器还具有三个独立脉冲宽度调制 (PWM) 控制器、SPI、I2C、UART,甚至 QSPI 闪存接口

其次,该开发板既可焊接针座,也可直接焊接到载板上用作处理器模块(由于其边缘呈圆齿形),无需费时额外采购处理器,从而极大简化了开发人员对定制硬件的设计流程。

再者,该开发板的板载 QSPI 闪存由 Integrated Silicon Solution Inc . (ISSI) 的 IS25LP128  闪存模块提供。IS25LP128 闪存模块容量为 128 Mb(即 16 MB),在四通道输入/输出模式下 SPI 总线接口速度高达 133 MHz(图 2)。该 SPI 闪存模块可用于存储以确保充足的应用程序空间,也可用于存储应用程序日志等运行时数据。




另外,该开发板也可采用 5 V 的工作电压,通过 Maxlinear  的 SPX3819M5  线性稳压器转换为 3.3 V。该稳压器采用 SOT23-5 封装,却可提供高达 500 mA 的电流。该开发板消耗电流较小,因此可支持其他传感器和器件,而无需额外添加电源电路




最后,该开发板的原理图和物料清单等所有设计细节均可从 github  获取。这些信息有助于开发人员理解该开发板的工作原理,也可用作定制开发项目的设计指南。

使用特权

评论回复
地板
laocuo1142|  楼主 | 2022-3-16 14:44 | 只看该作者
RISC-V 已成为微控制器的一个选项,嵌入式系统和消费类设备的设计人员需要学习如何着手将 RISC-V 整合至自己的设计。

GroupGets LLC  的 FE310 LoFive-R1  开发板为此提供了一条捷径。在介绍 LoFive-R1 之前,本文将介绍 RISC-V 并说明开发人员应考虑使用该架构的原因。然后,本文将详细介绍 LoFive-R1,说明如何着手应用开发以及可用的一些技巧与诀窍。

什么是 RISC-V?

RISC-V 是一个开源硬件指令集架构项目,2010 年始于加州大学伯克利分校。构建 RISC-V 架构的原因很多,包括:
  • 满足对开源指令集架构 (ISA) 的需求,以供大学项目学术研究和学生使用
  • 分享 ISA 开发设计专业知识的途径
  • 避免向现有芯片公司支付特许权使用费以节省成本的方法
  • 保护架构(公司 IP)的设计细节以保持商业可行性

就设计人员而言,RISC-V 是一种专为高速和低功耗而设计的简化架构。因此,基于 RISC-V 的芯片不仅适用于学术界,也非常适合商业应用。实际上,RISC-V 基金会备受关注,目前已吸纳约 325 名成员,其中包括 Si-Five、Google、microchip Technology、NVIDIA 和 Qualcomm 等公司。

为 RISC-V 开发做出贡献的公司虽不少,但对于普通开发人员而言,获得 RISC-V 实践经验的最佳方法是找到一款基于 RISC-V 处理器的开发板。

LoFive FE310 开发板

GroupGets LLC 的 LoFive-R1 开发板正是其中之一(图 1)。




首先,LoFive R1 包含的 RISC-V 处理器最高可在 320 MHz 下运行。该处理器包括 8 KB 的一次性可编程 (OTP) 存储器、8 KB 的掩膜 ROM、16 KB 的指令缓存和 16 KB 的 SRAM。此外,该处理器还具有三个独立脉冲宽度调制 (PWM) 控制器、SPI、I2C、UART,甚至 QSPI 闪存接口

其次,该开发板既可焊接针座,也可直接焊接到载板上用作处理器模块(由于其边缘呈圆齿形),无需费时额外采购处理器,从而极大简化了开发人员对定制硬件的设计流程。

再者,该开发板的板载 QSPI 闪存由 Integrated Silicon Solution Inc . (ISSI) 的 IS25LP128  闪存模块提供。IS25LP128 闪存模块容量为 128 Mb(即 16 MB),在四通道输入/输出模式下 SPI 总线接口速度高达 133 MHz(图 2)。该 SPI 闪存模块可用于存储以确保充足的应用程序空间,也可用于存储应用程序日志等运行时数据。




另外,该开发板也可采用 5 V 的工作电压,通过 Maxlinear  的 SPX3819M5  线性稳压器转换为 3.3 V。该稳压器采用 SOT23-5 封装,却可提供高达 500 mA 的电流。该开发板消耗电流较小,因此可支持其他传感器和器件,而无需额外添加电源电路




最后,该开发板的原理图和物料清单等所有设计细节均可从 github  获取。这些信息有助于开发人员理解该开发板的工作原理,也可用作定制开发项目的设计指南。

RISC-V 工具链设置和开发板编程

开发人员会发现 RISC-V 可用的工具链有多种,具体取决于所选择的开发板。需要注意的是,适用于 RISC-V 的 SDK  支持 Windows、macOS 和 Linux。本文将展示用于 Linux 的开发板设置方法。

首先,在终端上使用以下命令从 git 中签出 LoFive Freedom-E SDK:git clone --recursive https://github.com/mwelling/freedom-e-sdk.git

然后,使用以下命令进入按 SDK 创建的目录:cd freedom-e-sdk
该开发板可用的 SDK 有两款。第一款称为“旧版 SDK”,因为版本较旧。请使用新版 SDK,其中包括预构建的工具链和用于调试的 OpenOCD。使用以下命令签出 SDK:git checkout lofive-r1git submodule syncgit submodule update –init –recursive

开发板编程可通过几种不同的方式完成。首先,该处理器具有标准 JTAG 信号,可通过 LoFive-R1 扩展连接器获取该信号。开发人员可以使用任何支持 JTAG 的编程器,例如 SEGGER  的 J-Link 。若没有相应的编程器,开发人员也可使用 FTDI  的 FT2232H-56Q Mini MDL  等低成本的 USB 转串口转换器(图 4)。FT2232H-56Q Mini MDL 模块可提供连接 LoFive-R1 开发板所需的所有连接和分线。SDK 可使用 FT2232H-56Q 的通用 I/O 来构建必要的 JTAG 连接,实现对微控制器的编程。




LoFive-R1 开发板与 FT2232H-56Q 模块之间需要九个不同的连接(表 1)。




表 1:LoFive-R1 开发板与 FT2232H-56Q 模块的连接简表。(表格来源:Digi-Key Electronics)

上述连接可以总结为:
  • 电源和接地
  • JTAG 信号
  • UART 信号

连接可以采用直连法,也可使用 Global Specialties  的 PB-83M  等试验板来完成(图 5)。该试验板的香蕉插孔可用于连接两个电压源和接地,以简化原型开发。




首次使用 LoFive-R1 时,建议先安装板载引导程序。引导程序只需安装一次,后续即可轻松升级。通过执行以下命令,即可从 SDK 中加载引导程序:make PROGRAM=lofive-boot TARGET=lofive-r1-bootloader upload

然后,使用以下命令将 "hello world" 应用程序加载到开发板:make PROGRAM=sIFive-welcome TARGET=lofive-r1 upload

至此,开发人员就已完成了首个 RISC-V 应用程序编写,此后的扩展则具有无限可能。

RISC-V 的使用技巧与诀窍

RISC-V 处理器入门与标准微控制器生态系统有所不同。 以下是几点“技巧与诀窍”:
  • 签出 LoFive-R1 SDK 后,花时间查看主目录下的 README.md 文件。其中包含了在何处能找到 SDK 说明文档、板级支持包及其他有用信息。
  • 若有 SEGGER 的 J-Link 等专业调试探测器,即可用于 RISC-V 处理器的应用程序编程。自 2017 年以来,J-Link 一直支持 RISC-V。
  • 如果开发人员偏好使用 IDE 而非命令行工具,可以考虑使用 Freedom Studio(基于 Eclipse 的 IDE)进行 RISC-V 开发。
  • 首次使用 RISC-V 时,只需遵循这些“技巧与诀窍”,开发人员即可节省大量时间和精力。

总结
对于希望使用开源硬件架构的开发人员而言,RISC-V 架构值得留意。目前,市面上已有基于 RISC-V 处理器的开发板,如本文所述,工具链设置难度与任何其他标准微控制器差别不大。

RISC-V 虽令人着迷,但是请别忘记,其生态系统对比现有的许多微控制器平台相对贫乏,因此开发人员选择深入探索 RISC-V 后,就会发现可用的选择和资源很少。权衡取舍不失为良策,具体取决于最终应用以及开发人员的偏好和资源。

使用特权

评论回复
5
pattywu| | 2022-3-16 16:44 | 只看该作者
网上,就价格太好了。

使用特权

评论回复
6
cornrn| | 2022-5-3 23:17 | 只看该作者
pattywu 发表于 2022-3-16 16:44
网上,就价格太好了。

RISC-V SiFive U74 Dual-Core 64-bit RV64GC ISA SoC with 2MB L2 cache @ 1.0GHz

-Vision DSP Tensilica-VP6 for computing vision @ 600MHz

-NVDLA Engine (configuration 2048 MACs @ 800MHz)

-Neural Network Engine (1024MACs @ 500MHz)
赛昉科技  RISCV 1GHZ主频

使用特权

评论回复
7
麻花油条| | 2022-5-11 15:59 | 只看该作者
分享的好

使用特权

评论回复
8
primojones| | 2022-6-2 09:15 | 只看该作者
这个是什么控制器的?

使用特权

评论回复
9
rosemoore| | 2022-6-2 14:09 | 只看该作者
这个编程是一样代码吗?

使用特权

评论回复
10
maudlu| | 2022-6-2 16:05 | 只看该作者
ch32v103的吗?

使用特权

评论回复
11
bartonalfred| | 2022-6-2 16:51 | 只看该作者
RISC-V 的微控制器还是不错的。  

使用特权

评论回复
12
hellosdc| | 2022-6-2 18:24 | 只看该作者
有开发环境搭建吗

使用特权

评论回复
13
koala889| | 2022-6-5 15:23 | 只看该作者
真希望有个PDF

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1193

主题

5225

帖子

12

粉丝