第五章 - 第 3 课(下) - Risc-V 的初始化

本章概述

在上一章内容里,我们介绍了系统的初始化流程,并且以 Linux 系统为例,介绍了 Linux 系统启动的各个阶段。本章则详细介绍了 Risc-V 架构下的系统初始化过程,包括从启动流程、链接脚本、页表和异常向量的设置等内容。

在第一节,我们会讲一下 Risc-V 设备的一般的启动流程。我们会介绍到 bootloader 和链接脚本(Linker Script),它们扮演着重要的角色。链接脚本定义了如何将程序的不同部分(如代码、数据和栈)映射到内存中的不同位置,也是我们编写内核过程中需要掌握的终点。

在第二节,我们延续上一章介绍过的页表和异常向量的初始化过程,只需要同学们稍作了解,具体的细节会在下一阶段详细介绍。

在第三节,我们描述了从系统上电到操作系统开始运行的过程。我们将介绍几个重要的引导加载程序,即 OpenSBI 和 U-Boot,它们在系统启动过程中扮演着桥梁的角色,负责初始化硬件、加载操作系统镜像等任务。此外,我们还将探讨 DeviceTree 和 UEFI 在 Risc-V 系统初始化中的作用,以及它们之间的对比和特点。

本章目录