手把手教你搭建织女星开发板RISC-V开发环境

Home 论坛 开发和更新问题 手把手教你搭建织女星开发板RISC-V开发环境

正在查看 5 帖子:1-5 (共 12 个帖子)
  • 作者
    帖子
  • #1392
    chao wangwhik
    参与者

    手把手教你搭建织女星开发板RISC-V开发环境

    前言

    Windows环境下搭建基于Eclipse + RISC-V gcc编译器的RISC-V开发环境,配合openocd调试软件,可以实现RISC-V内核程序的编译、下载和调试。

    准备工作

    工欲善其事,必先利其器,RISC-V开发环境搭建之前,要先准备好所需要的软件,如下:

    • jdk-8u101-windows-x64.exe
    • Eclipse IDE for C/C++ developers
    • GNU MCU Eclipse Windows Build Tools
    • openocd
    • riscv32-unknown-elf-gcc

    其中, jdk软件是在Eclipse不能打开时,才需要安装,如果能正常打开Eclipse则不需要安装,后面的几个软件都是压缩包形式,只需要解压到对应的位置,就可以直接使用,不需要安装。

    安装Eclipse及工具链、调试工具

    由于这些软件都是解压后就可以直接使用的,为了简化操作步骤,我已经把这些软件放在了一起,并压缩成了一个文件,直接解压就可以使用。

    Eclipse.rar下载链接

    链接:https://pan.baidu.com/s/1TvM_do0hdHHmJw2ARJNMWg 提取码:zj5f

    包含:

    • Eclipse
    • GNU MCU Eclipse WindowsBuild Tools
    • openocd
    • riscv32-unknown-elf-gcc
    • Boot_Config

    压缩包里,我添加了上一个帖子织女星开发板启动模式修改中介绍的用于切换启动模式的两个批处理文件,可以方便的对RV32M1的启动模式进行切换。

    下载eclipse.rar文件之后,解压到本地,我的是解压到 F:\VEGA_Board\IDE\

    其中GNU MCU Eclipse目录结构如下:


    安装JAVA运行环境JRE

    如果Eclipse.exe可以正常打开,就不用安装JAVA运行环境。我的电脑在运行Eclipse.exe,不能打开,出现A Java Runtime Environment or Java Development Kit(dkmust be available in order to run eclipse. balabala......,如下图

    网上搜索一番,发现是没有安装JAVA运行环境,而Eclipse是基于JAVA运行的,然后找了一个jdk安装,再打开就好了。

    jdk-8u101-windows-x64.exe下载

    链接:https://pan.baidu.com/s/1AhZPEW03y90M2usa2L3c3w 提取码:umsr

    下载完成之后,双击安装,一路Next就行,安装目录选择和Eclipse同一级。

    如果还不能正常打开,可以尝试在环境变量中添加JAVA_HOME变量,变量值为jre目录下的bin文件夹,我的是在:F:\VEGA_Board\IDE\jre\bin,然后重新打开Eclipse。

    主界面

    配置编译链路径

    Eclipse正常打开后,还需要配置编译工具和调试软件的路径。

    1.配置全局编译工具路径

    选择Windows->Preferences,选择MCU->Global Build Tools Path,设置全局编译工具的路径为[INSTALL_DIR]\eclipse\GNU MCU Eclipse\Build Tools\2.12-20190422-1053\bin


    2.配置openocd调试软件路径

    选择MCU-> Global OpenOCD Path,设置全局openocd调试软件路径[INSTALL_DIR]\eclipse\GNU MCU Eclipse\openocd\bin


    3.配置RISC-V编译工具链

    选择MCU-> Global RISC-V Toolchains Path,设置全局openocd调试软件路径[INSTALL_DIR]\eclipse\GNU MCU Eclipse\riscv32-unknown-elf-gcc\bin

    升级板载调试器固件

    为了能直接使用板载调试来直接调试RISC-V内核,需要把板子默认的CMSIS-DAP固件升级为JLink固件,并升级Jlink驱动,详情可以参考这篇帖子:织女星开发板调试器升级为Jlink固件,并把Jlink调试口和RISC-V调试口连接。


    编译下载Demo工程

    1.导入Demo工程

    选择File->Import,或者是按快捷键Alt+F,然后再按I键,选择导入已经存在的工程,

    这里我们选择RISC-V核SDK下的GPIO点灯程序,所在的位置:\rv32m1_sdk_riscv\boards\rv32m1_vega\driver_examples\gpio\led_output\ri5cy\riscveclipse

    在弹出的界面,输入工程所在的目录,点击完成。


    2.编译下载

    示例程序很简单,就是让RGB中红色LED闪烁。

    工程名称右键选择Build Project,或者是按快捷键Ctrl+B,编译整个工程。

    如果没有错误,会显示

    ~~~
    Info: Internal Builder is used for build
    Info: Parallel threads used: 0

    20:38:19 Build Finished. 0 errors, 0 warnings. (took 1s.876ms)
    ~~~

    默认是编译的Debug版本,还可以选择编译Release版本。

    编译无误后,点击Run->Run As->2 Local C/C++ Application

    选择下载Debug还是Release版本的编程文件

    下载日志。

    ~~~
    Open On-Chip Debugger 0.10.0+dev-00433-g849f49ca (2019-01-04-07:48)
    Licensed under GNU GPL v2
    For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
    adapter speed: 1000 kHz
    srstonly separate srstgatesjtag srstopendrain connectdeassertsrst
    Info : mohor tap selected
    Info : adv debug unit selected
    Info : Option 1 is passed to adv debug unit
    Info : core 0 selected
    Info : add flash
    bank rv32m1 rv32m1.flash0
    Info : add flashbank rv32m1 rv32m1.flash1
    Warn : Failed to open device: LIBUSB
    ERRORNOTSUPPORTED.
    Info : J-Link LPCXpresso V2 compiled Sep 23 2016 12:14:15
    Info : Hardware version: 1.00
    Info : VTarget = 3.300 V
    Info : clock speed 1000 kHz
    Info : JTAG tap: rv32m1.cpu tap/device found: 0x249511c3 (mfg: 0x0e1 (Wintec Industries), part: 0x4951, ver: 0x2)
    Info : adv debug unit is configured with option ADBGUSEHISPEED
    Info : Listening on port 3333 for gdb connections
    Started by GNU MCU Eclipse
    Info : Listening on port 6666 for tcl connections
    Info : Listening on port 4444 for telnet connections
    Info : accepting ‘gdb’ connection on tcp/3333
    Info : JTAG tap: rv32m1.cpu tap/device found: 0x249511c3 (mfg: 0x0e1 (Wintec Industries), part: 0x4951, ver: 0x2)
    Info : JTAG tap: rv32m1.cpu tap/device found: 0x249511c3 (mfg: 0x0e1 (Wintec Industries), part: 0x4951, ver: 0x2)
    Info : JTAG tap: rv32m1.cpu tap/device found: 0x249511c3 (mfg: 0x0e1 (Wintec Industries), part: 0x4951, ver: 0x2)
    Info : JTAG tap: rv32m1.cpu tap/device found: 0x249511c3 (mfg: 0x0e1 (Wintec Industries), part: 0x4951, ver: 0x2)
    Info : Flash write discontinued at 0x00001424, next section at 0x000fff00
    Info : JTAG tap: rv32m1.cpu tap/device found: 0x249511c3 (mfg: 0x0e1 (Wintec Industries), part: 0x4951, ver: 0x2)
    Info : JTAG tap: rv32m1.cpu tap/device found: 0x249511c3 (mfg: 0x0e1 (Wintec Industries), part: 0x4951, ver: 0x2)
    Info : JTAG tap: rv32m1.cpu tap/device found: 0x249511c3 (mfg: 0x0e1 (Wintec Industries), part: 0x4951, ver: 0x2)
    ===== RI5CY registers
    (0) zero (/32): 0x00000000
    (1) ra (/32): 0x00000000
    ~~~

    3.显示效果

    参考资料

    #1484
    day_dayday_day
    参与者

    有没有使用eclipse从头创建全新工程的例子?之前用arm+eclipse的经验似乎不太适用于risc-v,弄了很久都没能成功编译。

    此外有没有API手册?

    #1527
    CuriousCurious
    参与者

    我要看看有没有人实现在vscode上搭建环境

    #1716
    chao wangwhik
    参与者

    RISC-V内核的开发,主要是使用riscv32-unknown-elf-gcc工具链来进行汇编,编译和链接,生成可执行文件,Eclipse只是个框架。

    引用NXP官方工程师Howard在帖子织女星开发板使用的软件必须是Eclipse?中的回复:

    织女星开发板使用的是GNU GCC工具链。其实Eclipse只是个集成开发环境外壳而已,也可以用NXP的MCUXpresso的IDE来搭建织女星开发板的RISC-V开发环境。可以参考
    https://mp.weixin.qq.com/s/LAVNBOM0fnfbIagRg6fbTw

    #1724
    geroge Lootouren
    参与者

    我想应该可以在vscode上可以搭建的

正在查看 5 帖子:1-5 (共 12 个帖子)
  • 抱歉,回复话题必需登录。