使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板
ARM Cortex内核无处不在。我非常喜欢这个内核,并且经常使用。不要误解我的意思:也许ARM需要一些竞争?看到新的东西引起了很多关注,这是非常令人耳目一新的:RISC-V!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板
Vega板底部视图
该开发板与飞思卡尔/恩智浦的其他“FRDM”(或Freedom)板非常相似。该板采用NXP Kinetis K26作为UART桥接器。
MK26
所以我使用了SEGGER J-Link Mini来调试电路板。
电路板上有4个内核(加上Kinetis K26)。可以选择从哪个内核启动,但我还没有探索过。
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和工具链
3. 运行RISC-V SDK的安装程序,并将其安装到c:\vega(这是默认设置)
安装RISC-V SDK
4. (可选):将ARM SDK安装到与上面相同的文件夹中。5. 在c:\vega中创建一个文件夹'Toolchain'并从工具链zip / archive中提取两个zip文件到其中工具链Zip文件
6. 将openocd.zip的内容解压缩到名为openocd的文件夹中7. 将riscv32-unknown-elf-gcc.zip的内容解压缩到名为riscv32-unknown-elf-gcc的文件夹中8. 安装结构现在应如下所示: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构建工具
10. 在MCUXpresso IDE中,使用以下URL作为Eclipse中的更新站点(“帮助”>“安装新软件”):http://gnu-mcu-eclipse.netlify.com/v4-neon-updates并安装插件:GNU MCU Eclipse插件
有了这个,就安装了所有的插件和工具。
调试器我正在使用J-Link EDU Mini。电路板上有三个SWD / JTAG接头:使用RV32M1微控制器附近的插头。
工具链附带预先构建的OpenOCD软件包,可与SEGGER J-Link配合使用(请参阅https://wiki.segger.com/OpenOCD)。要使用它,请启动UsbDriverTool:UsbDriverTool
然后在J-Link驱动程序上安装WinUSB。为此,必须将J-Link插入主机:
安装WinUSB
注意:这样做,我就不能再使用J-Link探针和SEGGER J-Link软件了。要以“正常”方式再次使用J-Link,我必须再次恢复默认驱动程序:
恢复默认驱动程序
Eclipse工具链设置在MCUXpresso IDE中,验证工作区设置中的工具链设置(菜单窗口>首选项):
全局构建工具路径:C:\Vega\GNU MCU Eclipse\Build Tools\2.11-20180428-1604\bin
全局构建工具路径RISC-V工具链:C:\Vega\Toolchain\riscv32-unknown-elf-gcc\bin
RISC-V工具链OpenOCD的:C:\Vega\Toolchain\openocd\bin
全局OpenOCD路径
导入项目从SDK导入项目,例如C:\Vega\rv32m1_sdk_riscv\boards\rv32m1_vega\demo_apps\bubble\ri5cy\riscveclipse将.project文件拖放到IDE中。因为SDK中的项目使用项目相对链接,所以我必须“链接”它:
导入项目
正确设置工具链,这应该很好:搭建项目
调试这些项目包括OpenOCD的启动配置(菜单运行>调试配置)。验证正确的openOCD二进制文件是否与其配置文件一起使用:
OpenOCD设置
使用J8 USB连接器为电路板供电:调试VEGA板
有了这个,点击'Debug',我正在调试使用OpenOCD调试VEGA板总结使用RISC-V内核或在这种情况下使用多个内核很有趣,我很高兴看到软件和工具正在发展。 RISC-V可能是下一个重要的事情,但肯定可能需要一段时间才能广泛使用。根据https://www.eejournal.com/article/priming-the-risc-v-pump/,将来可能会提供更多的开发板。
下一步是什么?有一个新的FreeRTOS版本可用于RISC-V,所以我将尝试那个....
页:
[1]