文章目录
序言
大家好我是CSDN不知名放弃领域创作者早上真好,最近想放弃学习RISC-V了,所以首先得入门。
入门RISC-V,当然需要安装RISCV的工具链,目前大多数教程都是编译安装的,这很难顶。我从GitHub上clone这个仓库,使用的命令是
bash
git clone --recursive https://github.com/riscv-collab/riscv-gnu-toolchain.git -b master --depth 1
明眼人都看得出来我真的已经尽力减小clone的量了,但是还是给我下了3个G的代码量(?)都没下完,查资料的时候看到一个老哥评论区里说"已经编译一周了",真是令人害怕。
但是编译安装其实并不是必要的吧,除了一些比较特殊的平台,其他平台有现成的编译包才是正常的吧,就像Linux常见的发行版和定制内核一样。
下载预编译包
预编译包当然是Github仓库的release里面都有,为什么我搜出来的教程都是编译安装的?!
riscv-gnu-toolchain Release
进去之后全是Nightly,基本隔几天就有个新tag,我一直翻到2022年,没有找到1个Stable,看来一定是我的问题吧!那就安装符合要求的最新版了。
我也不知道大家需要的版本是什么,知道的大家就直接下载,那么对于我来说,因为我刚刚接触RISC-V,所以看的是Tinyriscv这个知名开源项目,作者在Readme中给出了他的GNU工具链的百度网盘链接,下载下来后其名字是riscv64-unknown-elf-gcc-8.3.0-2020.04.0-x86_64-linux-ubuntu14.tar.gz
;而我的系统是Ubuntu20.04,虽然不见得这个项目作者的包就不能用(多半可以用)但是我还是下载了一个比较新的,对比这个包中的名字选择了这个riscv64-elf-ubuntu-20.04-gcc-nightly-2023.12.20-nightly.tar.gz
。
解压缩,观察该包
将该包解压缩后,其文件呈现此态
.
└── riscv
├── bin
├── include
├── lib
├── libexec
├── riscv64-unknown-elf
└── share
后面的事就比较明显了,添加到环境变量里面应该就可以用了,节省了大量下载和编译安装的时间!
添加环境变量
首先,当前我是在Downloads
目录下操作的,为了避免不小心给整个库删了,我们把它放到/opt
目录下。
bash
sudo cp -r ./riscv /opt/riscv
然后再向环境变量中写入
bash
echo "export PATH=/opt/riscv/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
如果终端不是Bash的话就修改写入的目标文件。比如我是.zshrc
.
验证安装成功
bash
riscv64-unknown-elf-gcc --version
非常好,我们与相对于现有大部分教程安装riscv-gnu的时间相比取得了领先地位!