0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RISC-V是什么?如何基于此设计微控制器

电子设计 来源:电子设计 作者:电子设计 2020-10-30 07:58 次阅读

在不断创新并保护其知识产权 (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 开发板正是其中之一。


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

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

再者,该开发板的板载 QSPI 闪存由 Integrated Silicon Solution Inc . (ISSI) 的 IS25LP128 闪存模块提供。IS25LP128 闪存模块容量为 128 Mb(即 16 MB),在四通道输入 / 输出模式下 SPI 总线接口速度高达 133 MHz。该 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-r1


git submodule sync


git submodule update –init –recursive

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

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

表 1:LoFive-R1 开发板与 FT2232H-56Q 模块的连接简表。

上述连接可以总结为:


电源和接地


JTAG 信号


UART 信号

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

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

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6812

    浏览量

    147659
  • RISC-V
    +关注

    关注

    41

    文章

    1906

    浏览量

    45056
收藏 人收藏

    评论

    相关推荐

    为何什么risc-v芯片比arm的效率高

    免费使用和修改其指令集,这促进了RISC-V生态系统的快速发展。随着越来越多的公司和开发者参与到RISC-V的开发和优化中来,RISC-V芯片的性能和效率得到了不断提升。 此外,RISC-V
    发表于 04-28 09:38

    RISC-V在服务方面应用与发展前景

    RISC-V在服务方面的应用与发展前景十分广阔。作为一种开源、开放、简洁、灵活的指令集,RISC-V近年来在芯片产业中发展迅速,并逐渐引领新一轮处理芯片技术与产业的变革浪潮。 在服
    发表于 04-28 09:04

    RISC-V有哪些优点和缺点

    模块化设计提高了RISC-V的适应性和灵活性。 简洁的指令集:RISC-V的设计简洁,指令数量相对较少,这有助于提高处理的执行速度和降低功耗。 强大的社区支持:RISC-V拥有庞大的
    发表于 04-28 09:03

    RISC-V有哪些优缺点?是坚持ARM方向还是投入risc-V的怀抱?

    。这种模块化设计提高了RISC-V的适应性和灵活性。 简洁的指令集 :RISC-V的设计简洁,指令数量相对较少,这有助于提高处理的执行速度和降低功耗。 强大的社区支持 :RISC-V
    发表于 04-28 08:51

    国产RISC-V MCU推荐

    RISC-V MCU微控制器。片上集成2Mbps低功耗蓝牙BLE通讯模块、2个全速USB主机和设备控制器及收发、2个SPI、4个串口、14路ADC、触摸按键检测模块、RTC等丰富的
    发表于 04-17 11:00

    RISC-V 基础学习:RISC-V 基础介绍

    10 机器特权级 3 M 11 一个RISC-V 硬件线程(hart),相当于一个CPU 内独立的可执行核心,在任意时刻,只能运行在某一个特权级上,这个特权级由CSR(控制和状态寄存)指定配置
    发表于 03-12 10:25

    什么是RISC-V

    siFive搞RISC-V 赛昉搞RISC-V 香山搞RISC-V 到底什么是RISC-V? 先不问有什么用,RISC-V目前的能力来说,工
    发表于 02-02 10:41

    RISC-V开放架构设计之道|阅读体验】RISC-V基础整数指令集

    第2章 RV32I:RISC-V基础整数指令集 本章重点讲解构成RISC-V基础整数指令集的基本指令和指令格式。主要包含寄存间操作的R型,用于短立即数和取数操作的I型,用于存数操作的S型,用于条件
    发表于 01-31 21:10

    RISC-V开放架构设计之道|阅读体验】 RISC-V设计必备之案头小册

    。在书中,特别提到了汇编对于RISC-V中的作用,包括当讲寄存硬连线为0时,可以使用伪指令来简化常规操作,如跳转、返回和等于零时分支等。 浮点运算和压缩指令数据集的知识则是放在下一次的帖子中说。
    发表于 01-22 16:24

    读《玄铁RISC-V处理入门与实战》

    是由美国伯克利大学的 Krest 教授及其研究团队提出的,当时提出的初衷是为了计算机/电子类方向的学生做课程实践服务的。由于这是伯克利大学研究并流片的第五代RISC架构处理,因此就命名为RISC-V
    发表于 09-28 11:58

    RISC-V 的未来在中国吗

    2023 年 RISC-V 中国峰会上,倪光南院士表示,“RISC-V 的未来在中国,而中国半导体芯片产业也需要 RISC-V,开源的 RISC-V 已成为中国业界最受欢迎的芯片架构”
    发表于 08-26 14:16

    2023 RISC-V中国峰会:RISC-V深圳技术分享会(同期会议)

    本届峰会将以“RISC-V生态共建”为主题,结合当下全球新形势,把握全球新时机,呈现RISC-V全球新观点、新趋势。 由电子发烧友主办的RISC-V技术分享会(深圳站)将于8月26日在深圳举办
    发表于 08-15 17:27

    RISC-V核、平台和芯片该如何选择?

    实现一个 SiFive 开源Freeedom E310 微控制器的技术已经非常成熟,相应软件工具链支持的很好。
    发表于 06-21 20:34

    两大架构RISC-V 和 ARM 的各种关系

    ARM CPU。 2. RISC-V 支持最少,而 ARM 支持广泛。 因为 RISC-V 是这样一个新的 CPU 平台,所以软件和开发环境支持非常有限。 另一方面,ARM 提供了庞大的在线社区、支持系统和库,以帮助设计人员瞄准范围广泛的设备,包括
    发表于 06-21 20:31

    RISC-V,正在摆脱低端

    的玄铁系列在物联网芯片市场广受认可,目前已在人工智能、网络通讯、工业控制等30多个行业实现了商业落地,出货量超过30亿颗,是中国RISC-V领域影响力和市占率最大的处理;中科蓝讯蓝牙SoC芯片累计
    发表于 05-30 14:11