實驗室買了一塊Perf-V開發板,準備開始作RISC-V相關的工做。git
雖然澎峯直接給了配置好的虛擬機開發環境,不過由於Ubuntu16.03用着不順手就想要本身把環境配出來。github
看澎峯給的SDK目錄,就是直接用的開源蜂鳥(GitHub:e200_opensource)微調來的。因此最初嘗試着git e200_opensource從新配置一遍,結果失敗,報錯找不到'cc1'。嘗試添加PATH等操做無果。dom
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吧。flex
總之這幾天爲了搞定Perf-V開發板的開發環境,前先後後踩了很多坑。如今把最後結果記錄以下,備忘。ui
git clone --recursive https://github.com/sifive/freedom-e-sdk.git
文件大,耗時比較長。code
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:get
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 ./
若是手頭上有胡振波大大《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 你的用戶名
cd freedom-e-sdk make software PROGRAM=demo_gpio BOARD=Perf-V-creative-board make upload PROGRAM=demo_gpio BOARD=Perf-V-creative-board