查看: 890|回复: 0
收起左侧

使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板

[复制链接]

  离线 

  • TA的每日心情
    拍拍
    2022-6-27 11:09
  • 签到天数: 25 天

    [LV.4]

    发表于 2020-8-21 11:22:32 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x

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

    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(1)

    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连接器正确调试。


    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(2)

    VEGA板


    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(3)

    Vega板底部视图


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


    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(4)

    MK26


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


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


    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(5)

    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内核开发。

    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(6)

    rv32m1 SDK和工具链


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


    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(7)

    安装RISC-V SDK


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

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

    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(8)

    工具链Zip文件


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

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

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

    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(9)

    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 IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(10)

    GNU MCU Eclipse构建工具


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

    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(11)

    GNU MCU Eclipse插件


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


    调试器

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


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

    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(12)

    UsbDriverTool


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


    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(13)

    安装WinUSB


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


    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(14)

    恢复默认驱动程序


    Eclipse工具链设置

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


    全局构建工具路径:

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

    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(15)

    全局构建工具路径

    RISC-V工具链:

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

    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(16)

    RISC-V工具链

    OpenOCD的:

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

    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(17)


    全局OpenOCD路径


    导入项目

    从SDK导入项目,例如

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

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


    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(18)

    导入项目


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

    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(19)

    搭建项目


    调试

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


    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(20)

    OpenOCD设置


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

    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(21)

    调试VEGA板


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

    GNU MCU Eclipse IDE-使用Eclipse和MCUXpresso IDE调试RV32M1-VEGA RISC-V开发板risc-v单片机中文社区(22)

    使用OpenOCD调试VEGA板

    总结

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


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






    上一篇:干货分享| 在Ubuntu上构建RISC-V环境(含详细代码)
    下一篇:用Eclipse和MCU Xpresso IDE调试RISC-V芯片!
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条


    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-4-26 12:53 , Processed in 0.458394 second(s), 47 queries .

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