有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 新ちゃん 于 2020-8-20 23:11 编辑
RISC-V Tools编译安装三部曲之一
RISC-V Tools编译安装三部曲之二
RISC-V Tools编译安装三部曲之三
一、前言
在上一期中我们已经完成了RISC-VGCC/Newlib Toolchain、GNUtoolchain for RISC-V, ISA Simulator等工具的编译安装。在这一期中我们将尝试使用riscv64-unknown-linux-gnu-gcc来编译我们的linux内核。
不要忘了我们的环境变量: - $ export TOP=/home/lh/RISCV
- $ export RISCV=$TOP/riscv
- $ export PATH=$PATH:$RISCV/bin
复制代码
二、Building the Linux Kernel1.获取Kernel Sources我们终于准备好了引入Linux内核源代码了。从riscv-tools/riscv-gnu-toolchain目录中进行更改,并将riscv-linux git存储库克隆到以下目录:linux-4.15._xx_,其中xx表示当前修订的版本(截至2018年1月8日,它是“Linux 4.15-rc7”)。 - $ cd $TOP
- $ git clone https://github.com/riscv/riscv-linux.git Linux-4.15-rc7
复制代码
2.Configuring the Linux Kernel
Linux内核虽然是无限可配置的。但是,对于目前的开发状态,没有太多的设备或选项可以进行调整。但是,从默认配置开始,该配置应该与ISA模拟器一起工作。这里需要使用ARCH= 来指定目标的体系架构,使用CROSS_COMPILE=来指定使用的交叉编译器的前缀(我们自然是使用前面装好的riscv64-unknown-linux-gnu-gcc)。 - $ make ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu- defconfig
复制代码
如果要编辑配置,可以使用基于文本的GUI(Ncurses)编辑配置: - $ make ARCH=riscv menuconfig
复制代码
等你对配置感到满意的时候,就开始编译内核。注意在编译RISC-V内核时,必须在make的每次调用中指定ARCH=riscv和CROSS_COMPILE=。这一行也不例外。如果你想加快进程,可以通过参数-j [number]来启用多线程编译。 - $ make -j16 ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu-
复制代码
做到这一步,很恭喜了,你终于为RISC-V交叉编译了linux内核。然而,在我们启动它之前还有一些事情要处理。
下一期,我们将编译安装Busybox,到这才是完整的riscv-tools的安装,让我们下期见吧。这一期虽然短,但是做起来却很容易出错,如果你是一名新手的话,笔者希望你在读到这篇文章时能够去了解一下linux内核,make过程以及Makefile。这会对你很有帮助,如果你编译过程中出错,阅读这些资料会对你有所帮助。
参考文献 [1] RISC-Vofficial network:https://riscv.org/software-tools/ [2]README of RISC-VGNU Compiler Toolchain: https://github.com/riscv/riscv-gnu-toolchain
本篇完,感谢关注:RISC-V单片机中文网 |