riscv-gnu-toolchain工具链的安装

  • 下载工具链
  • 环境配置
  • 下载依赖
  • 编译
  • 验证

下载工具链

一定要记得加–recursive, 这是用于循环克隆git子项目,要不然克隆下来的qemu等文件夹是空的

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

也可以按下面的方法(更快一点,可以看到每个模块下载进度),将上面git命令中的–recursive去掉,再单独下载每个模块

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

这样下载后qemu等文件夹下是空的,需要执行以下命令后,将riscv-qemu下内容copy到qemu,将riscv-binutils-gdb下内容copy到riscv-gdb和riscv-binutils

git clone https://mirrors.tuna.tsinghua.edu.cn/git/qemu.git
git clone https://github.com/riscv/riscv-newlib.git
git clone https://github.com/riscv/riscv-binutils-gdb.git
git clone https://github.com/riscv/riscv-dejagnu.git
git clone https://github.com/riscv/riscv-glibc.git
git clone https://github.com/riscv/riscv-gcc.git

其实我使用的方法是直接把qemu等空文件夹删掉,再用mv指令将riscv-qemu等文件夹直接重命名,如

rm -rf qemu
mv riscv-qemu qemu

(mv命令用于重命名时,目录下不能有要命名的同名文件夹,要不就是个移动命令了)

环境配置

vi ~/.bashrc

在文件中添加语句

export RISCV="/home/XXX/riscv-gnu-toolchain"export PATH=$PATH:$RISCV/bin

保存退出后执行

source ~/.bashrc

下载依赖

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 gawk

编译

./configure --prefix=$RISCV --with-arch=rv32imc --with-abi=ilp32
make

验证

编写hello.c文件
就可以用编译器riscv32-unknown-elf-gcc进行编译了

riscv-gnu-toolchain工具链的安装相关推荐

  1. 在 Linux 下安装 GNU ARM 工具链

    可以使用多种工具编写不同版本的 ARM 内核,但最流行的一组工具是 GNU ARM 工具链.更多地了解如何使用 ARM 内核进行嵌入式开发,以及如何安装并使用 GNU 工具. 如果您对在最普遍的微处理 ...

  2. RISC-V GNU Toolchain及交叉编译

    交叉编译 想要理解riscv gnu Toolchain的作用,首先要了解交叉编译的概念.我们平时常见的架构有Intel的X86架构.龙芯处理器的MIPS架构.苹果A系列处理器的ARM架构等. 交叉编 ...

  3. DIY自己的GNU交叉工具链(i386-arm) 【ZT】

    嵌入式设备由于不具备一定的处理器能力和存储空间,程序开发一般用PC来完成,然后将可执行文件下载到嵌入式系统中运行.这是目前嵌入式程序开发的不二选择--Host/target模式.但这引发了一个问题:由 ...

  4. Ariane和riscv-gnu-toolchain工具链的安装

    搭建过程 riscv-gnu-toolchain的安装 (1)下载更新riscv-gnu-toolchain $ git clone https://github.com/riscv/riscv-gn ...

  5. 交叉编译及树莓派(或其他平台)交叉编译工具链的安装

    交叉编译是什么: 交叉编译是一个行为,是在一个平台上生成另一个平台上的可执行代码. 比如:我们在windows上面编写C51的代码,并编译成可执行代码,如xx.hex,是在C51上面运行不是在wind ...

  6. riscv-gnu-toolchain工具链下载安装(unbentu)

    riscv-gnu-toolchain工具链下载安装 一.安装依赖 二.下载riscv-gnu-toolchain 三.编译安装riscv-gnu-toolchain 四.添加环境变量 五.测试安装是 ...

  7. 树莓派 交叉编译工具链的安装

    1.交叉编译是什么: 2.为什么要交叉编译? 3.交叉编译需要用到什么工具? 4..交叉编译工具链的安装 4.1临时有效 4.2永久有效 安装流程: 1.用file Zilla将tools-maste ...

  8. ZYBOZ7从入门到进阶-5 zyboz7交叉编译工具链的安装

    版权声明:本文为博主原创文章,未经博主允许不得转载.https://blog.csdn.net/a646123070 前面几篇博客,我们已经分别进行了PL端和PS端的点灯实验,并初步实验了PS端先硬件 ...

  9. verilog实现多周期处理器之——(零)GUN工具链的安装

    参考雷思磊老师得<自己动手写CPU> 这里不需要下载书中说的虚拟机,这里笔者用的是VMware.不需要破解,直接安装点击选择仅用于非商业即可使用!! 安装Ubuntu这里笔者不给出步骤. ...

最新文章

  1. 【最简洁】一句CSS3代码实现不规则自定义背景图拼接样式,多用于异形弹窗背景图
  2. vuerouter3种模式_Vue-router的三种传参方式
  3. 只有ajax会跨域吗_ajax处理跨域有几种方式
  4. [异常笔记] spring cloud 服务消费者启动-2018040501
  5. 浅谈likely与unlikely
  6. 【星球知识卡片】视频分类与行为识别有哪些核心技术,对其进行长期深入学习...
  7. 小数前的0在html不显示,jsp小数显示问题 例如 我在oracle 数据库中查询出来的是 0.01 但是在jsp页面上就显示成 .01 没有前面的0...
  8. Cassandra1.2文档学习(12)—— hint机制
  9. [洛谷P1908] 逆序对|归并排序|树状数组
  10. ssas计算度量_如何在Analysis Services(SSAS)中创建中间度量
  11. web开发中特殊字符的对应值与转义字符
  12. TCP协议的缺陷及其可选替代方案
  13. 前端面试题之手写事件模型及事件代理/委托
  14. 向Richedit插入动态Gif的实现(关于QQ表情功能的制作)
  15. 数据库实验一、实验二、实验三、实验四
  16. C-CCSK云计算安全知识认证
  17. C语言循环结构作业总结
  18. 远程过程调用失败0x800706be
  19. redis streams_如何构建Redis Streams应用程序
  20. 光学红外雨量IFR202型传感器智慧检测雨量场景等行业

热门文章

  1. 物联网开发笔记(30)- 使用Micropython开发ESP32开发板之控制240x240的oled屏幕显示二维码(ST7789芯片)
  2. drf框架图片路径问题
  3. SolidWorks 如何制作装配体
  4. 员工与客户之间就是一个微信
  5. ps软件怎么测试性能,实际性能测试:Photoshop处理
  6. 第十届极客大挑战——复现未解决的web和RE
  7. 保险入门,我不推荐买保险
  8. 计算机 北航 在线作业,北航计算机组成原理在线作业
  9. 【蓝桥系列】——十三届蓝桥杯PythonB组第五题E题蜂巢(AC代码)
  10. 可视化项目使用vw/vh布局进行适配