RISC-V的软件开发

我们先假定读者已经按照上一篇文章”在Ubuntu 18.04 LTS构建RISC-V开发环境“完成了基本软件环境的搭建。这一部分将讲解如何在实际的开发板上进行RISC-V的软件开发。本篇大致分为以下几个部分:

 

  1. 硬件环境的搭建。
  2. 基于IDE的软件开发环境。
  3. 基于命令行的软件开发环境。

1.硬件环境的搭建

 

  •     本次使用的是RISC-V官方推荐的E2/E3/E5官方平台:Artix-35T的开发板

  • 该平台为FPGA平台,在使用前需要将相关“硬件”写入,这需要连接直接连接USB;我们首先从官网下载E31体验核,只所以选择E31是因为相对FE300,E31更接近于真实的RISC-V硬件,下载地址:

       https://dev.sifive.com/dashboard/deliverables/sifive_e31_fpga_eval_kit_bitstream/releases/v3p0/

       下载完成后我们使用Vivado将程序写入开发板的Flash中,此时,重新Reset开发板,应该可以看到RGB的LED开始闪烁

  • 由于开发板的USB端口主要是连接终端的UART接口和用于程序烧录的JTAG接口,而程序调试是使用E31内部的Debug电路,因此在程序被正常下载后我们需要连接用于调试的JTAG,具体连接方式见官方手册。这里放两张连好的线缆照片做参考:

  • 说明:本例是采用E31核,而非FE300,因此在下载时需要特别注意。关于如何编译FE300核心在之后讲解。另外,如果使用虚拟机务必确认两个USB设备已经连入,而非只是连入主机。有两种方式:

       通过虚拟机:

       

 

       在Linux中通过命令lsusb确认,如果正常连入,应该可以看到如下两行:

 

2. 基于IDE的软件开发

 

    RISC-V的最简单的软件开发是通过SiFive提供的Freedoom Studio。在上一篇文章中我们已经下载了Freedoom Studio的软件。该软件已经包含了Eclipse的IDE环境、ToolChain和用于Debug的OpenOCD等基本工具。在使用之前,我们需要为OpenOCD下载一些补丁:sudo apt-get install libusb-0.1-4

 

之后直接运行Freedoom Studio即可,大致如下:

 

 

3. 基于命令行的软件开发:

 

 

    基于命令行的软件开发我们使用SiFive的ToolChain:freedom-e-sdk。我们假设用户已经下载完

    1. 首先我们针对自己的RISC-V构建相关ToolChain。在这个例子里我们假定RISC-V使用SiFive FE300,以区别IDE环境

 

        make tools BOARD=freedom-e300-arty

 

 

 

        BOARD为您使用的平台,当前最新版本可以使用:

 

    u     coreplexip-e21-arty:

    u  coreplexip-e31-arty

    u  coreplexip-e51-arty

    u  freedom-e300-arty

    u  freedom-e300-hifive1

 

 

     2. 程序编译:

         make software PROGRAM=demo_gpio BOARD=freedom-e300-art

 

     3. 使用GDB进行程序调试

 

         make run_gdb PROGRAM=demo_gpio BOARD=freedom-e300-arty

     说明:当前Freedom Studio即相关测试范例默认情况下并不支持freedom-e310-arty,因此,如果在FE300上进行软件开发则需使用命令行方式,当然,理论上通过修改设置可以使freedom Studio开发其他的SiFive平台。而命令行方式目前支持几乎所有SiFive的RISC-V实现

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

阅读更多
版权声明:本文为博主原创文章,水平有限,欢迎转载,但务必注明原始出处 https://blog.csdn.net/tomsoft/article/details/80915348
个人分类: RISC-V 微内
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭