IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> riscv-gun-toolchain编译安装 -> 正文阅读

[开发工具]riscv-gun-toolchain编译安装

Riscv-gun-toolchain的编译以及安装

操作系统:Ubuntu20.04
Shell:zsh

参考文章:

  • https://blog.csdn.net/qq_42866646/article/details/108289683
  • https://www.codeleading.com/article/67025921158/#:~:text=%E5%A6%82%E6%9E%9C%E6%8A%A5%20ERROR%3A%20glib-2.48%20gthread-2.0%20is%20required%20to%20compile,not%20present.%20Please%20install%20the%20pixman%20devel%20package

从github上下载项目

git clone https://github.com/riscv/riscv-gnu-toolchain

如果下载速度太慢,可以从gitee下载。

git clone https://gitee.com/mirrors/riscv-gnu-toolchain.git

不建议使用git clone --recursive https://github.com/riscv/riscv-gnu-toolchain,有些子项目的下载速度会很慢。

cd riscv-gun-toolchain进入到项目文件夹(下面的所有操作都在此路径下执行),查看.gitmodules文件,里面列举了子模块的下载地址,分支,以及目标文件夹。

[submodule "riscv-binutils"]
        path = riscv-binutils
        url =  https://github.com/riscv-collab/riscv-binutils-gdb.git
        branch = riscv-binutils-2.36.1
[submodule "riscv-gcc"]
        path = riscv-gcc
        url = https://github.com/riscv-collab/riscv-gcc.git
        branch = riscv-gcc-10.2.0
[submodule "riscv-glibc"]
        path = riscv-glibc
        url = git://sourceware.org/git/glibc.git
[submodule "riscv-dejagnu"]
        path = riscv-dejagnu
        url = https://github.com/riscv-collab/riscv-dejagnu.git
        branch = riscv-dejagnu-1.6
[submodule "riscv-newlib"]
        path = riscv-newlib
        url = git://sourceware.org/git/newlib-cygwin.git
        branch = master
[submodule "riscv-gdb"]
        path = riscv-gdb
        url =  https://github.com/riscv-collab/riscv-binutils-gdb.git
        branch = fsf-gdb-10.1-with-sim
[submodule "qemu"]
        path = qemu
        url = https://git.qemu.org/git/qemu.git

可以将.gitmodules文件内容改成

[submodule "riscv-binutils"]
        path = riscv-binutils
        url =  https://gitee.com/mirrors/riscv-binutils-gdb.git
        branch = riscv-binutils-2.36.1
[submodule "riscv-gcc"]
        path = riscv-gcc
        url = https://gitee.com/mirrors/riscv-gcc.git
        branch = riscv-gcc-10.2.0
[submodule "riscv-glibc"]
        path = riscv-glibc
        url = git://sourceware.org/git/glibc.git
[submodule "riscv-dejagnu"]
        path = riscv-dejagnu
        url = https://gitee.com/mirrors/riscv-dejagnu.git
        branch = riscv-dejagnu-1.6
[submodule "riscv-newlib"]
        path = riscv-newlib
        url = git://sourceware.org/git/newlib-cygwin.git
        branch = master
[submodule "riscv-gdb"]
        path = riscv-gdb
        url =  https://gitee.com/mirrors/riscv-binutils-gdb.git
        branch = fsf-gdb-10.1-with-sim
[submodule "qemu"]
        path = qemu
        url = https://mirrors.tuna.tsinghua.edu.cn/git/qemu.git

然后在riscv-gun-toolchain的路径下执行git submodule update --init --recursive,会自动完成所有子模块的下载。中途可能有些比较大模块下载失败,因此我推荐多开几个终端,使用下面的命令分开下载。

git clone -b riscv-binutils-2.36.1 https://gitee.com/mirrors/riscv-binutils-gdb.git ./riscv-binutils
git clone -b riscv-gcc-10.2.0 https://gitee.com/mirrors/riscv-gcc.git ./riscv-gcc
git clone git://sourceware.org/git/glibc.git ./riscv-glibc
git clone -b riscv-dejagnu-1.6 https://gitee.com/mirrors/riscv-dejagnu.git ./riscv-dejagnu
git clone git://sourceware.org/git/newlib-cygwin.git ./riscv-newlib
git clone -b fsf-gdb-10.1-with-sim https://gitee.com/mirrors/riscv-binutils-gdb.git ./riscv-gdb
git clone https://mirrors.tuna.tsinghua.edu.cn/git/qemu.git ./qemu

如果有些比较大的模块下载失败,我的解决方法是增大git的下载缓存。

sudo git config --global http.postBuffer 524288000

查看git的配置

git config --list

下载编译项目用到的工具

sudo apt-get install autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev -y

bash环境在用户目录下的.bashrc文件中添加下面的环境变量,zsh环境在用户目录下的.zshrc文件中添加下面的环境变量。

export RISCV="/opt/riscv-gun-toolchain"
export PATH=$PATH:$RISCV/bin

我选择的安装位置是/opt/riscv-gun-toolchain,这个可以自定义。
在终端执行

./configure --prefix=$RISCV

因为使用的是Ubuntu,64位系统,根据文档的提示执行上面的语句。其他的系统请查看文档。

然后开始编译项目,这个过程会很久,久到足够跑完10公里。

sudo make

上述步骤完成之后,使用下面的命令验证是否安装成功。如果显示版本信息则说明安装成功。

riscv64-unknown-elf-gcc --version

如果遇到其他问题,欢迎在底下评论。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:45:36  更:2022-03-08 22:46:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:19:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码