作为一名嵌入式系统开发人员,我一直在努力进一步缩短开发时间,尤其是概念验证和快速原型制作。虽然开发套件已经成为一种捷径,但设计师需要在整体大小和广泛支持的生态系统以及性能要求之间找到平衡。ArduinoUno开发板就是这种寻找平衡点的需求的一个很好的例子。

什么是HiFive1?

HiFive1开发套件基于集成了32位RISC-V(发音为风险五)处理器内核。该开发板可以接受Arduino屏蔽板,大大提高了其用于嵌入式设计快速原型制作的实用性。

HiFive1的核心是RISC-V处理器核。这需要Arduino开发板背后的开源概念,并将其一直扩展到处理器本身。

RISC-V是一个开放指令集体系结构(ISA ),基于两个基础:精简指令集计算(RISC)的概念,自20世纪80年代以来一直被采用,以及开源原则。

因为RISC-V ISA是开源的,所以可以免费用于任何目的。任何人都可以设计、制造和销售基于RISC-V的芯片和软件,而无需支付版税。

Arduino持针钳(包括注意事项)

HiFive1开发套件复制Arduino 独特的I/O集线器布局。它可以接受数百种可用的Arduino盾牌的大多数类型,但有几点需要注意。

首先,微控制器没有模拟输入引脚。HiFive1开发套件的Arduino型针座只能用于数字I/O、中断和脉宽调制(PWM)引脚分配。

Ardnuno开发板上用于A0至A5模拟引脚的物理引脚插座在HiFive1开发板上标记为D14至D19数字I/O引脚。

如果有必要添加模拟功能,可以使用许多可用的模数转换器(ADC)、数模转换器(DAC)或组合式ADC/DAC Arduino屏蔽。

还请注意:

设计人员可以在HiFive1开发套件上为Arduino引脚分配多达9个PWM发生器。

HiFive1开发套件的所有19个Arduino hub I/O引脚都可以用作中断输入。

这就引出了第二个注意:到目前为止,只有以下两个AdafruitArduino盾通过了HiFive1测试,因为只有这两个盾的Adafruit支持库被移植到了HiFive1库中:

阿达果电阻式触摸屏和LED显示屏

阿达果BLE的SPI朋友

接下来将详细介绍HiFive1开发套件的核心——微控制器。

微控制器的中心是基于开源32位RISC-V ISA的CPU内核。就RISC-V而言,核心是RV32IMAC处理器。

这意味着它使用基本的32位RISC-V整数指令集(RV32I)和整数硬件乘除(M);原子实时指令(A);以及对16位精简(C)指令集的额外支持。RISC-V ISA也有64位和128位版本。内核还包括16 Kb的指令缓存(标记为我美元框图中)和16 Kb SRAM。

几个标准外设包括定时器、PWM信号发生器、实时时钟、UART、QSPI串行接口和处理器内核周围的片内硬件调试模块。

RISC-V架构背后是谁或什么?为什么?

HiFive1开发套件和微控制器实际上是开源RISC-V处理器架构的硬件演示工具,这是一个假设性的论证:这个世界真的需要另一种处理器架构吗?

RISC-V项目始于加州大学伯克利分校,最终超越了大学的研究范围,充分发挥了更多自愿参与者和电子行业人士的想象力。

这个项目的最终成果是开源的RISC处理器ISA(指令集架构),它与其他任何32位RISC ISA几乎相同。不同的是,任何人都可以出于任何目的自由使用RISC-V ISA。

就HiFive1开发板而言,嵌入式系统开发者需要的不仅仅是处理器或微控制器芯片。

对于RISC-V,嵌入式开发人员需要工具、样本代码、库和软件栈形式的开发支持。这种支持来自于围绕成功的处理器架构和用户开发的生态系统。

摘要

价格实惠的Arduino Uno开发板小巧轻便,可以接入上百个I/O和外设屏蔽板。HiFive1开发套件利用了这些现有的屏蔽板,并紧密复制了紧凑型Arduino Uno开发板的外部尺寸和独特的针座配置,并与基于RISC-V的32位微控制器相匹配。

HiFive1开发套件具有16 Mb板载闪存,可提供更高的代码存储容量。尽管这是一种新的架构,但萌芽中的开源RISC-V生态系统提供了一套扩展的软件开发工具,包括编译器、汇编器、调试器和Arduino IDE库。

开源GNU MCU Eclipse:基于GNU工具链的一系列Eclipse多平台嵌入式开发插件和工具。

赛格 Embedded Studio for RISC-V:一个用于嵌入式C/C软件开发的跨平台IDE及其J-Link调试探针。