自己动手写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环境。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通