HiFive-RISCV技术交流群:797123125
欲购买HiFive1请认准本博客官方店铺(舒克贝塔008)。
购买链接:
HiFive1是一款基于risc-v(FE310)芯片的开发板,它既支持arduino ide也可以用专用的freedom e sdk作为编程环境。本文主要讲arduino ide的使用。
官网上给出了一个hifive-getting-started的文档,把主要步骤说明了,但是还是有一些小细节需要注意的,否则可能跑不起来。
第一,这块板子最佳使用环境是Linux,本人使用Ubuntu 16.04。
第二,使用的Arduino IDE必须是比较新的版本的,不能直接apt安装,否则无法填写additonal boards manager url。
本人下载的是1.8版本的Arduino IDE,下载完后解压.tar.gz压缩包,然后可以直接在文件夹里运行./arduino,不需要安装。
第三,运行./arduino时记得加上sudo,否则可能无法访问usb串口,这样就不能下载程序了。(如果你不想每次加sudo可以参照英文文档第10、11页)
第四,手册里虽然文字说了Tools -> Board里要选HiFive1,但是Figure 6.2里选到的是Freedom E300 Arty DevKit,那个是另一个板子,我们用HiFive1的话,还是要选HiFive1,否则不能正常下载程序。
可以使用Arduino的Examples->Basics->Blink来测试一下,打开这个程序后点Upload,看看HiFive1板子上的灯是否从出厂时的渐变色变为了闪烁状态,如果成功就说明能够使用Arduino IDE进行开发了。
如果需要单步调试或者其他高级应用,需要使用专门的freedom e sdk。
还是参照hifive-getting-started这个文档操作,由于国内网速较慢,下载到其中的几个子文件夹时如果下载失败,可能要多运行几次git submodule update --init --recursive,直到完整下载为止。
然后安装依赖库:
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
接下来是编译刚刚下载到的程序:
cd freedom-e-sdk
make tools [BOARD=freedom-e300-hifive1]
接下来你可以编译这个sdk提供的例子,比如那个出厂时刷的LED渐变色的程序。
编译过程:
cd freedom-e-sdk
make software PROGRAM=led_fade BOARD=freedom-e300-hifive1
然后是上传:
cd freedom-e-sdk
sudo make upload PROGRAM=led_fade BOARD=freedom-e300-hifive1
注意我这里使用了sudo,否则上传可能失败。
使用freedom-e-sdk可以支持单步调试,但是只能是命令行方式。
如果需要使用IDE做单步调试,可以尝试Freedom Studio,在sifive官网上能够下载。不过目前我只是用这个IDE成功编译了几个例子,但是至今没有找到上传到板子的按钮。