本文档仅仅记录作者把玩开源FPGA开发板荔枝糖
的经历。
-
Linux环境
LicheeTang默认已经烧录了JTAG固件(用于烧录FPGA码流到配置芯片中,相当于是USB Blaster)
-
Windows环境
- 注意要选择
PROGRAM_FLASH
模式
sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev libglib2.0-dev expect libusb-1.0-0-dev libftdi-dev
# 添加子模块
git submodule add https://github.com/riscv/riscv-gnu-toolchain.git riscv-gnu-toolchain
# 初始化子模块
git submodule update --init --recursive
# 创建编译目录
mkdir -p toolchains/build
cd toolchains/build
# 配置(32位处理器,支持的指令集为RV32GC,支持的ABI为ilp32)
# ilp32 (32-bit soft-float), ilp32d (32-bit hard-float), ilp32f (32-bit with single-precision in registers and double in memory)
../../riscv-gnu-toolchain/configure --prefix=/home/maoshengrong/SUDA_RISCV/toolchains/ --with-arch=rv32gc --with-abi=ilp32
# 编译
make newlib
# 测试
make report-newlib
世界上在上一步中,已经编译好了两个qemu虚拟机,分别是
qemu-riscv32
和qemu-riscv64
,这里编译带操作系统的版本,即qemu-system-riscv32或者qemu-system-riscv64
# 创建编译目录
mkdir -p qemu/build
cd qemu/build
# 配置
../../riscv-gnu-toolchain/riscv-qemu/configure --prefix=/home/maoshengrong/SUDA_RISCV/qemu/ --target-list=riscv32-softmmu
# 编译
make -j4
# 安装
make install
# 添加子模块
git submodule add https://github.com/riscv/riscv-openocd.git riscv-openocd
# 初始化子模块
git submodule update --init --recursive
# 生成configure文件
cd riscv-openocd
./bootstrap
cd ..
# 创建编译目录
mkdir -p openocd/build
cd openocd/build
# 配置
../../riscv-openocd/configure --prefix=/home/maoshengrong/SUDA_RISCV/openocd/
# 编译
make -j4
# 安装
make install