荔枝糖Lichee Tang FPGA(安陆,Analogic, 20K LUT)调试蜂鸟E203 RV helloworld

时间:2024-04-03 17:10:45

2020年5月份,因为老婆有笔几百块钱的经费,所以买了一块荔枝糖FPGA加调试器玩玩;那就顺便玩玩有人已经跑通的蜂鸟E203软核。

上手后,安陆的TD软件安装很顺利,官方教程上也下载了带有全套工具链和环境的Ubuntu虚拟机。照着群里的教程想搞一个helloworld玩玩,问题来了。

首先是helloworld无法编译的问题,后来知道是中断的问题,在Makefile中把编译选项修改一下,禁用PLIC:

荔枝糖Lichee Tang FPGA(安陆,Analogic, 20K LUT)调试蜂鸟E203 RV helloworld

编译成功,运行sudo ./run_upload.sh hello, openocd报错,提示不认识flash,ID=xxx;

辗转查询学习加摸索,发现要修改openocd的源文件,添加flash参数和ID code,重新编译安装openocd。

从github上下载蜂鸟E203 openocd,因为网速太慢,我已经放到了gitee上

荔枝糖Lichee Tang FPGA(安陆,Analogic, 20K LUT)调试蜂鸟E203 RV helloworld

cd openocd/LicheeTang_openocd/src/flash/nor,  vim spi.c

荔枝糖Lichee Tang FPGA(安陆,Analogic, 20K LUT)调试蜂鸟E203 RV helloworld

 

添加芯天下这款Flash信息,xtx(芯天下)的datasheet可以网上下一个看看,8Mbit容量,sector size=4KByte,听群友说以前荔枝糖的板子用的是w25q80的flash。为什么我知道是这个文件呢,因为我grep了micron关键字。https://ithelp.ithome.com.tw/articles/10197309 这个网站也给了我一些灵感。

然后就是编译安装openocd:

./boostrap; 如果有libtool的问题,就先安装automake;

./configure --prefix=~/openocd --enable-ftdi --enable-openjtag; 可以./configure -h 查看option,如果有libusb缺少,则apt/dnf安装即可,有undefined macro,AC_DEFINE,AC_MSG_WARNING什么的,就安装pkg-config

没有问题了就是make,make install;我安装过程中需要额外安装的依赖如下:

荔枝糖Lichee Tang FPGA(安陆,Analogic, 20K LUT)调试蜂鸟E203 RV helloworld

复制安装好的openocd到蜂鸟的工具链环境中去:荔枝糖Lichee Tang FPGA(安陆,Analogic, 20K LUT)调试蜂鸟E203 RV helloworld

重新sudo ./run_upload hello

荔枝糖Lichee Tang FPGA(安陆,Analogic, 20K LUT)调试蜂鸟E203 RV helloworld

 

运行的结果:

荔枝糖Lichee Tang FPGA(安陆,Analogic, 20K LUT)调试蜂鸟E203 RV helloworld