这个教程是PLCT推出的,强烈推荐。在这篇文章中,我们就简单记录下这个学习过程。
资料
https://gist.github.com/sunshaoce/90216c19591581f8997df0109b65c154 这个是RISC-V环境的构建脚本,需要先下载有相应的代码仓库。
riscv elfapi url: https://github.com/riscv-non-isa/riscv-elf-psabi-doc
Docker 环境也有了:
大家好,RVCC 开发环境的 Docker 镜像已经配置好,欢迎大家使用。详情可以参考:https://github.com/ksco/rvcc-env-docker。
提供的是国内阿里云的 registry,下载飞快!
[完结] 循序渐进,学习开发一个RISC-V上的操作系统 - 汪辰 - 2021春
https://www.bilibili.com/video/BV1Q5411w7z5
可以看看前面一部分的公共知识课,包含了RISC-V的基础指令集的详细的介绍和一些程序执行堆栈的知识
01
01视频地址 首先我是在rv硬件上执行这个程序的,所以命令稍微不同,但是效果是一样的。我只是没用交叉编译器嘛。
接下来,我们再进一步,使用一个 .c 文件:
然后Makefile:
这里还有一个test.sh:
执行 make test
:
其实,程序的注释已经非常清晰明了,除了一些特性,基本的流程我们总结一下。
首先,项目的主程序是main.c,也就是我们通过c程序把目前的汇编代码重定向输出到汇编文件,这个过程转换完成之后, 再利用一个简易的脚本把汇编文件编译成可执行文件,基本上模拟了一个编译器的整体流程。
02 支持+ -运算符
徒手写一个RISC-V编译器 - 第002课
https://www.bilibili.com/video/BV1KS4y1E79u