什么是HiFive1?详细介绍HiFive1开发套件的核心

电子说

1.2w人已加入

描述

前言:作为一名嵌入式系统开发人员一直在想方设法进一步缩短开发时间,特别是针对概念验证和快速原型开发。虽然开发套件已成为捷径之选,但设计人员需要找到一个平衡点,既兼顾外形尺寸和广受支持的生态系统,又要考虑性能要求。ArduinoUno 开发板就是这种需要找到平衡点的很好例子。

什么是 HiFive1?

HiFive1 开发套件基于一款集成 32 位 RISC-V(读音“risk-five”)处理器内核的微控制器。该开发板可接受 Arduino 式盾板,从而大幅提升了其对嵌入式设计快速原型开发的实用性。

嵌入式设计

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

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

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

Arduino 式针座(包含注意事项)

HiFive1 开发套件复制了 Arduino 独特的 I/O 针座布局。它可以接受数以百计可用 Arduino 盾板中的多数类型,但有几点需要注意。

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

Arduino Uno 开发板上 A0 至 A5 模拟引脚所用的物理针座位置在 HiFive1 开发板上标注为 D14 至 D19 数字 I/O 引脚。

如果有必要添加模拟功能,可使用众多可用模数转换器 (ADC)、数模转换器 (DAC) 或组合 ADC/DAC Arduino 盾板中的一种。

另请注意:

设计人员可将多达 9 个 PWM 发生器分配到 HiFive1 开发套件上的 Arduino 式针座引脚。

HiFive1 开发套件的所有 19 个 Arduino 式针座 I/O 引脚均可用作中断输入。

这就引出了第二个注意事项:迄今为止,只有以下两款 Adafruit Arduino 盾板通过了 HiFive1 测试,因为只有针对这两款盾板的 Adafruit 支持库已移植到 HiFive1 库:

Adafruit 的电阻式触摸屏和 LED 显示屏

Adafruit 的 BLE SPI Friend

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

嵌入式设计

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

这意味着它使用的是基本 32 位 RISC-V 整数指令集 (RV32I),具有整数硬件乘除 (M) ;原子、实时指令 (A);以及对 16 位精简 (C) 指令集的附加支持。另外还有 64 位和 128 位版本的 RISC-V ISA。该内核还包括 16 Kb 的指令缓存(在框图中标记为“I $”)和 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 多平台嵌入式开发插件和工具。

Segger 的 Embedded Studio for RISC-V:一款用于嵌入式 C/C ++ 软件开发的跨平台 IDE 以及该公司的 J-Link 调试探测器。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分