建立RISCV32的工具链

这里以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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值