总结与展望

这一章我们主要做的事情是为内核提供硬件平台支持。

首先要让我们的内核有可能在指定的平台上运行。而那与我们当前所在的并非一个平台,指令集并不相通。为此我们使用交叉编译将内核编译到用目标三元组描述的目标平台上,还使用链接脚本指定了其内存布局,将内核的代码、数据均放在高地址。

然而编译好了之后它也就静止地放在那里而已。为了让它启动起来,我们使用 bootloader(OpenSBI) 将内核加载进来并运行。同时,我们发现 OpenSBI 的能力比我们想象中要强大,我们简单地通过内联汇编请求 OpenSBI 向我们提供的服务,实现了格式化输出。当然出于方便及节约成本,这一切都是在模拟器 Qemu 上进行的。

到这里我们终于有了一个内核,而且它能在特定平台上运行了!

results matching ""

    No results matching ""