实验室买了一块Perf-V开发板,准备开始做RISC-V相关的工作。

虽然澎峰直接给了配置好的虚拟机开发环境,不过因为Ubuntu16.03用着不顺手就想要自己把环境配出来。

看澎峰给的SDK目录,就是直接用的开源蜂鸟(GitHub:e200_opensource)微调来的。所以最初尝试着git e200_opensource重新配置一遍,结果失败,报错找不到'cc1'。尝试添加PATH等操作无果。

riscv-none-embed-gcc: error trying to exec 'cc1': execvp: No such file or directory

后尝试直接把给的环境升级到18.04,结果出现与上述相同的问题。

那行吧,既然sirv-e-sdk和Perf-V-e-sdk都是从SIFIVE的freedom-e-sdk(GitHub:freedom-e-sdk)精简来的,那我就配置整个freedom-e-sdk吧。

总之这几天为了搞定Perf-V开发板的开发环境,前前后后踩了不少坑。现在把最后结果记录如下,备忘。

克隆freedom-e-sdk存储库

git clone --recursive https://github.com/sifive/freedom-e-sdk.git

文件大,耗时比较长。

从源代码构建Tools

Ubuntu需要这些packages:

sudo apt-get install autoconf automake libmpc-dev libmpfr-dev libgmp-dev gawk bison flex texinfo libtool libusb-1.0-0-dev make g++ pkg-config libexpat1-dev zlib1g-dev  

build:

cd freedom-e-sdk
make tools [BOARD=freedom-e300-hifive1]

build过程耗时很长。

替换板级支持包

freedom-e-sdk是SIFIVE的开发环境,里面的板级支持包只有sifive系列,要用来开发Perf-V需要先替换bsp文件夹。

mv ./bsp ./bsp_bak
cp -r ~/fengniao/e200_opensource/Perf-V-e-sdk/bsp ./

可以把Perf-V开发板自带的几个程序顺便复制过来,方便之后测试。

mv ./software ./software_bak
cp -r ~/fengniao/e200_opensource/Perf-V-e-sdk/software ./

PC和开发板的连接

如果手头上有胡振波大大《RISC-V处理器》这本书的同学,请翻到P318,18.3节提到了他们的开发板是怎么配置和PC连接的。基本上照做就行了,可是别忘了,他们的开发板是Arty,虽然澎峰用的也是A7,但是板子ID可不一样,所以有2个参数要注意了。

我这就照着书上的步骤2到6简单写一下。

步骤二:通电;点USB图标连接至虚拟机

步骤三:使用如下命令查看USB状态

lsusb
Bus 001 Device 002: ID 0403:6010 Future Technology Devices International, Ltd FT2232C Dual USB-UART/FIFO IC

记下 0403:6010 这两个数。

步骤四:设置udev rules,使USB能够被plugdev group访问

sudo nano /etc/udev/rules.d/99-openocd.rules
# 写入以下内容,注意0403和6010,和书上不一样
SUBSYSTEM=="usb", ATTR{idVendor}=="0403",
ATTR{idProduct}=="6010", MODE="664", GROUP="plugdev"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403",
ATTRS{idProduct}=="6010", MODE="664", GROUP="plugdev"

步骤五:看看USB设备所属组,略

步骤六:把自己的用户添加到组中

sudo usermod -a -G plugdev 你的用户名

编译上传裸机RISC-V程序

cd freedom-e-sdk
make software PROGRAM=demo_gpio BOARD=Perf-V-creative-board
make upload PROGRAM=demo_gpio BOARD=Perf-V-creative-board

Keif
132 声望48 粉丝

这里是个人简介。