为什么RISC-V受追捧?用RISC-V微控制器开发难不难?本文告诉你~

为什么RISC-V受追捧?用RISC-V微控制器开发难不难?本文告诉你~

作者:Jacob Beningo


关键词 : 开发工具

在不断创新并保护其知识产权 (IP) 的同时,还需兼顾低功耗和低成本,这使得设计人员持续面临着压力。因此,对于移动应用处理器的设计人员而言,RISC-V开源硬件指令集架构 (ISA) 值得留意。既然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)。

图 1:LoFive-R1开发板包含 RISC-V处理器和所有必要的支持电路,因此该开发板可作为处理器模块直接焊接到载板上。(图片来源:GroupGets LLC)


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

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

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

图 2:LoFive-R1开发板包括 ISSI的 128Mb SPI闪存模块,可用于应用程序存储。
(图片来源:ISSI)


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

图 3:LoFive-R1开发板的 SPX3819 3.3V线性稳压器可提供高达 500mA的电流,足以支持整个板载电路和部分外部器件(如传感器)。(图片来源:MaxLinear)

最后,该开发板的原理图和物料清单等所有设计细节均可从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-r1
git submodule sync
git submodule update –init –recursive

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

图 4:FT2232H-56Q MINI MDL是一款低成本的串口模块,可通过 USB直接连接计算机,然后连接 LoFive-R1开发板的板载 UART。(图片来源:FTDI)


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

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


上述连接可以总结为:

  • 电源和接地
  • JTAG信号
  • UART信号

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

图 5:PB-83M提供的香蕉插孔可用于连接两个电压源和接地,以简化原型开发。
(图片来源:Global Specialties)


首次使用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后,就会发现可用的选择和资源很少。权衡取舍不失为良策,具体取决于最终应用以及开发人员的偏好和资源。


———————————————————–

如有任何问题,欢迎联系得捷电子Digi-Key客服团队。

中国(人民币)客服
- 400-920-1199
- service.sh@digikey.com
- QQ在线实时咨询 |QQ号:4009201199


中国(美金)/ 香港客服
- 400-882-4440
- 8523104-0500
- china.support@digikey.com

Digikey WeChat QR Code

到微信搜寻“digikey”或“得捷电子
关注我们官方微信
并登记成会员,
每周接收工程师秘技,
赚积分、换礼品、享福利

头像
得捷电子

评论已关闭。

Copyright©DigiKey Electronics