当前位置: 首页 > 工具软件 > PicoRV32 > 使用案例 >

建立RISCV32的工具链

麹权
2023-12-01

这里以UBUNTU系统为例子,

 

1,首先需要安装以下包。

# Ubuntu packages needed:
sudo apt-get install autoconf automake autotools-dev curl libmpc-dev -y

 sudo apt-get install        libmpfr-dev libgmp-dev build-essential bison flex texinfo  -y 

sudo apt-get install     gperf libtool patchutils bc zlib1g-dev git libexpat1-dev -y

sudo apt-get install     gawk -y

2,之后从GITHUB下载项目,大约10多个G的源码和文件。

git clone https://github.com/riscv/riscv-gnu-toolchain riscv-gnu-toolchain-rv32i
cd riscv-gnu-toolchain-rv32i
git checkout c3ad555
git submodule update --init --recursive

有的网络连接GITHUB可能不是很稳定,这里我下载好了以后打包上传到云盘,大家可以直接从云盘直接下载:

链接:https://pan.baidu.com/s/138gjPflI-ZXneFyRWqDGrA 
提取码:ulzf 

3,获取管理员权限,之后在下载的(或者从我提供云盘解压缩的)riscv-gnu-toolchain目录里运行如下脚本:


sudo mkdir /opt/riscv32i
 
sudo mkdir /opt/riscv

./configure --with-arch=rv32i   --prefix=/opt/riscv32i
make -j4 

 

./configure --prefix=/opt/riscv --enable-multilib 
make -j4 

这样就安装好了工具链到对应的目录里。其中

/opt/riscv32i 对应的指令系统是 RISCV 32I

/opt/riscv32ic 对应的指令系统是 RISCV 32IC

/opt/riscv32im 对应的指令系统是 RISCV 32IM

/opt/riscv32imc 对应的指令系统是 RISCV 32IMC

 /opt/riscv 对应的指令系统可以在编译的时候通过参数指定 比如

riscv64-unknown-elf-gcc -mabi=ilp32 -march=rv32i -nostdlib -nostartfiles -WI, -emain  t.c 

I代表整数指令。C表示压缩指令指令字长16BIT,M代表带有单周期的乘除法器,编译器生成MUL和DIV指令。

 

在64位UBUNTU 系统上编译成功的文件链接如下,如果用64位UBUNTU系统,应该可以直接下载后接压缩使用。

链接:https://pan.baidu.com/s/1HxRcA01p6pb2UU4qKgklRQ 
提取码:464o 
 

 

 

 

 

参考

1,PICORV32 https://github.com/cliffordwolf/picorv32/blob/master/README.md

 

 类似资料: