发表于: 2019-4-18 16:49:57 | 显示全部楼层

ARM Cortex内核无处不在。我非常喜欢这个内核,并且经常使用。不要误解我的意思:也许ARM需要一些竞争?看到新的东西引起了很多关注,这是非常令人耳目一新的:RISC-V

rv32m1.png

RV32M1(VEGA)


RISC-V是一个开放的指令集架构,到目前为止,SiFive是提供实际芯片的供应商。我已经在使用SiFive的RISC-V。


https://open-isa.org/网站展示了一个新的RISC-V开发板。在网站上,我申请了一个免费的开发板。我几乎已经忘记了这一点,但几周之后我收到了两块开发板:-)。社区中的网站和讨论表明了这一点,设备上的标识证实了这一点:飞思卡尔(现在是NXP)生产该设备,请参阅https://hackaday.com/2019/02/04/ ... e-risc-v-vegaboard/。他们所做的是在https://open-isa.org上创建一个社区页面,这也是开发板“入门”的页面,以及我用来设置环境的内容。恩智浦似乎已经开始了一种“雷达式”的试运行,这本身就很有趣。


VEGA RV32M1开发板

开发板也很有趣。它看起来像是Freedom开发板之一。该开发板配有USB线缆、五个跳线和一个简短的“入门”传单。


与SiFive开发板相比,我很高兴地报告该开发板可以使用10针SWD / JTAG连接器正确调试。

vega-board.png

VEGA板

vega-board-bottom-side.png

Vega板底部视图


该开发板与飞思卡尔/恩智浦的其他“FRDM”(或Freedom)板非常相似。该板采用NXP Kinetis K26作为UART桥接器。

mk26.png

MK26


所以我使用了SEGGER J-Link Mini来调试电路板。


电路板上有4个内核(加上Kinetis K26)。可以选择从哪个内核启动,但我还没有探索过。

vega-board-block-diagram.png

Vega板框图


因为每一半(RI5CY / M4F和Zero-RISCY / M0 +)共享相同的总线,所以它更像是双异构内核设置。有趣的是,两个RISC-V内核来自苏黎世联邦理工学院的PULP项目。


安装

https://open-isa.org/get-started/上的“入门”提供了设置环境的视频和基本步骤,解释了使用make文件或DIY Eclipse IDE的过程。我决定改用NXP MCUXpresso IDE,效果非常好。我在本文中使用了MCUXpresso IDE V10.3.1,它只需要GNU MCU Eclipse插件和工具链来为RISC-V开发。


1.    我假设已经安装了MCUXpresso IDE,否则可以从http://www.nxp.com/mcuxpresso/ide下载。

2.    转到https://github.com/open-isa-org/open-isa.org/releases并下载工具链和SDK。ARM SDK是可选的,只需要为ARM内核开发。

rv32m1-sdk-and-toolchain.png

rv32m1 SDK和工具链


3.    运行RISC-V SDK的安装程序,并将其安装到c:\vega(这是默认设置)

installing-risc-v-sdk.png

安装RISC-V SDK


4.    (可选):将ARM SDK安装到与上面相同的文件夹中。

5.    在c:\vega中创建一个文件夹'Toolchain'并从工具链zip / archive中提取两个zip文件到其中

toolchain-zip-files.png

工具链Zip文件


6.    将openocd.zip的内容解压缩到名为openocd的文件夹中

7.    将riscv32-unknown-elf-gcc.zip的内容解压缩到名为riscv32-unknown-elf-gcc的文件夹中

8.    安装结构现在应如下所示:

vega-installation-folder.png

VEGA安装文件夹


9.    Windows Build工具(Make,rm):如果尚未安装:转到https://gnu-mcu-eclipse.github.io/windows-build-tools/install/并从https://github.com下载存档/ gnu-mcu-eclipse / windows-build-tools / releases,将其解压缩到Toolchain文件夹中:

gnu-mcu-eclipse-build-tools.png

GNU MCU Eclipse构建工具


10.   在MCUXpresso IDE中,使用以下URL作为Eclipse中的更新站点(“帮助”>“安装新软件”):http://gnu-mcu-eclipse.netlify.com/v4-neon-updates并安装插件:

gnu-mcu-eclipse-plugins.png

GNU MCU Eclipse插件


有了这个,就安装了所有的插件和工具。


调试器

我正在使用J-Link EDU Mini。电路板上有三个SWD / JTAG接头:使用RV32M1微控制器附近的插头。


工具链附带预先构建的OpenOCD软件包,可与SEGGER J-Link配合使用(请参阅https://wiki.segger.com/OpenOCD)。要使用它,请启动UsbDriverTool:

usbdrivertool.png

UsbDriverTool


然后在J-Link驱动程序上安装WinUSB。为此,必须将J-Link插入主机:

install-wiinusb.png

安装WinUSB


注意:这样做,我就不能再使用J-Link探针和SEGGER J-Link软件了。要以“正常”方式再次使用J-Link,我必须再次恢复默认驱动程序:

restore-default-driver.png

恢复默认驱动程序


Eclipse工具链设置

在MCUXpresso IDE中,验证工作区设置中的工具链设置(菜单窗口>首选项):


全局构建工具路径:

  1. C:\Vega\GNU MCU Eclipse\Build Tools\2.11-20180428-1604\bin
复制代码

global-build-tools-path.png

全局构建工具路径

RISC-V工具链:

  1. C:\Vega\Toolchain\riscv32-unknown-elf-gcc\bin
复制代码

risc-v-toolchain.png

RISC-V工具链

OpenOCD的:

  1. C:\Vega\Toolchain\openocd\bin
复制代码

global-openocd-path.png

全局OpenOCD路径


导入项目

从SDK导入项目,例如

  1. C:\Vega\rv32m1_sdk_riscv\boards\rv32m1_vega\demo_apps\bubble\ri5cy\riscveclipse
复制代码

将.project文件拖放到IDE中。因为SDK中的项目使用项目相对链接,所以我必须“链接”它:

importing-project.png

导入项目


正确设置工具链,这应该很好:

building-project.png

搭建项目


调试

这些项目包括OpenOCD的启动配置(菜单运行>调试配置)。验证正确的openOCD二进制文件是否与其配置文件一起使用:

openocd-settings.png

OpenOCD设置


使用J8 USB连接器为电路板供电:

debugging-vega-board.png

调试VEGA板


有了这个,点击'Debug',我正在调试

debugging-vega-board-with-openocd.png

使用OpenOCD调试VEGA板


总结

使用RISC-V内核或在这种情况下使用多个内核很有趣,我很高兴看到软件和工具正在发展。 RISC-V可能是下一个重要的事情,但肯定可能需要一段时间才能广泛使用。根据https://www.eejournal.com/article/priming-the-risc-v-pump/,将来可能会提供更多的开发板。


下一步是什么?有一个新的FreeRTOS版本可用于RISC-V,所以我将尝试那个....

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 47 | 回复: 68



手机版|

GMT+8, 2024-12-21 17:53 , Processed in 0.075484 second(s), 8 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表