【自用】Ubuntu20.4新系统从输入法到ddr200t运行HelloWorld
- 一、编辑bashrc
- 二、Vivado2022.2安装
- 三、编译蜂鸟E203自测样例
- 1. 环境准备
- 2. 下载e203_hbirdv2工程文件
- 3. 尝试编译自测案例
- 1. 安装RISC-V GNU工具链
- 2. 编译测试样例
- 4. 用vivado为FPGA生成mcs文件
- 1.准备RTL
- 2.生成bit文件
- 3.生成mcs文件
- 5. 向硬件中烧MCS文件
- 四、配置HBird SDK
- 1.准备
- 2.安装工具链
- 3. 工具配置
- 4.准备setup.config.sh文件
- 五、HelloWorld
- 1. 编译HelloWorld样例
- 2. 运行HelloWorld样例
- 3.自己踩过的坑
一、编辑bashrc
vim ~./bashrc
按a
编辑,将一下内容复制在最后
# ~/.bashrc
if [[ $- == *i* ]]
then
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
fi
在安装完Vivado和e203蜂鸟SDK后再复制下面内容,注意修改路径
function e203 {
source /tools/Xilinx/Vivado/2022.2/settings64.sh
cur_dir=$(pwd)
cd /home/UserName/Documents/hbirdv2_dev/hbird-sdk
source setup.sh
cd $cur_dir
}
e203
按Esc
退出编辑模式
输入 :wq ( 不可忽略,保存退出)
输入 :q! (不保存退出)
二、Vivado2022.2安装
参考【踩坑】Ubuntu20.4安装Vivado
三、编译蜂鸟E203自测样例
可参考官方上手指南
1. 环境准备
在终端输入
sudo apt-get install autoconf automake autotools-dev curl device-tree-compiler libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev git
注意官网是分成了两行,但是一定要一整行输进去,不然会报错。
2. 下载e203_hbirdv2工程文件
在文件夹下打开终端输入
git clone https://github.com/riscv-mcu/e203_hbirdv2.git
3. 尝试编译自测案例
1. 安装RISC-V GNU工具链
从这里安装,注意建议安装2022.12的版本!!!!!如果使用2022.08和2023.10都会遇到不同程度无法解决的报错。
riscv-nuclei-elf-gcc: Command not found ../Makefile:78: recipe for target 'rv32ui-p-simple' failed make: *** [rv32ui-p-simple] Error 127
配置测试文件
cp nuclei_riscv_newlibc_prebuilt_linux64_2022.12.tgz.bz2 ~/
cd ~/
tar -xjvf nuclei_riscv_newlibc_prebuilt_linux64_2022.12.tgz.bz2
cd <your_e203_dir>/
mkdir -p ./riscv-tools/prebuilt_tools/prefix/bin
cd ./riscv-tools/prebuilt_tools/prefix/bin/
ln -s ~/nuclei_riscv_newlibc_prebuilt_linux64_2022.12/bin/* .
文件名和文件夹名按照自己的文件修改
2. 编译测试样例
cd <your_e203_dir>/riscv-tools/riscv-tests/isa
source regen.sh
4. 用vivado为FPGA生成mcs文件
可参考4.2. How to generate mcs for FPGA
1.准备RTL
cd <your_e203_dir>/fpga
make install FPGA_NAME=ddr200t
2.生成bit文件
make bit FPGA_NAME=ddr200t
3.生成mcs文件
make mcs FPGA_NAME=ddr200t
5. 向硬件中烧MCS文件
4.2.2. FPGA MCS download
四、配置HBird SDK
1.准备
在系统对应位置创建文件夹Nuclei-Tools
2.安装工具链
安装地址,RISC-V 工具链和OpenOCD最好下载相同的版本,这里也是建议安装2022.12版本
3. 工具配置
在Nuclei-Tools文件夹下创建gcc
文件夹和openocd
文件夹。
将解压的gnu toolchain终文件夹下所有内容复制到gcc
文件夹下,将解压的openocd终文件夹下所有内容复制到我们准备好的openocd
文件夹下
4.准备setup.config.sh文件
在< hbird-sdk >文件夹下打开终端
touch setup_config.sh
gedit setup_config.sh
输入以下内容,注意修改路径
NUCLEI_TOOL_ROOT=<nuclei-tools>
保存后在< hbibrd-sdk >目录下执行
source setup.sh
echo $PATH
which riscv-nuclei-elf-gcc openocd make rm
make help
五、HelloWorld
1. 编译HelloWorld样例
进入HelloWorld文件夹
cd <hbird-sdk>/application/baremetal/helloworld
编译样例
make dasm SOC=hbirdv2 BOARD=ddr200t CORE=e203 DOWNLOAD=flashxip
注:
- dash :表示对程序进行编译,并对可执行文件(.elf)进行反汇编生成.dump文件
- SOC=hbirdv2:指明SOC型号
- BOARD=ddr200t:指明开发板型号
- CORE=e203:指明Core型号,此处指的是蜂鸟E203 Core
- 此处可根据实际修改参数。
2. 运行HelloWorld样例
4.3.4. Run Hello World demo
- 链接开发板和蜂鸟调试器
- 输入
groups
观察是否出现... plugdev ...
,如果出现说明在组件中,可以继续后面的步骤 - 编译下载文件
cd <hbird-sdk>/application/baremetal/helloworld
make upload SOC=hbirdv2 BOARD=ddr200t CORE=e203 DOWNLOAD=flash
- 打开UART 终端
sudo screen /dev/ttyUSB1 115200
- 按下复位键会刷新
3.自己踩过的坑
- 【踩坑】参考官方文档 蜂鸟E203从运行自测样例到运行HelloWorld路上的坑
- 【踩坑】Ubuntu20.4安装Vivado