自己动手写RISC-V的C编译器-00环境配置
一直都想写一个编译器,苦于
懒没有时间。正好看到PLCT实验室的大佬开了一个编译器课程。这个假期,将跟着这个课程实现一个完整的RISC-V的编译器
开发环境
操作系统:Ubantu 20.04
,这里为了简单起见不涉及编译直接使用老师在群里发的可执行文件包。注意这个可执行文件必须运行在Ubantu 20.04
中。不然在使用qemu
的时候会因为libc.so.6
的版本问题导致运行失败。
实验环境:以下连接打包了RISC-V实验环境用到的各种可执行文件,包括riscv-gnu-toolchain、spike、pk、qemu、llvm等程序。https://mirror.iscas.ac.cn/plct/rvcc-course-sysroot-20220721.tar.bz2
配置环境变量
打开~/.bashrc
vim ~/.bashrc
在末尾添加行
export PATH=$HOME/ws/rvcc-sysroot/usr/bin:$PATH
其中ws
是我自定的工作文件,你也可以自己定义;rvcc-sysroot
这个文件是从压缩包解压出来的文件改的名字,因为原来的名字太长了。
最后使环境生效
source .bashrc
如果输入命令的时候发现找不到,重启一下就好了。
交叉编译的概念
由于开发环境使X86架构的,但是测试程序需要运行RISC-V架构的汇编程序,所以就需要用到交叉编译器。在X86的电脑上编译出可运行在RISC-V计算机上的可执行文件。由于没有开发板,需用使用qemu
来模拟RISC-V环境。