系统启动流程
首先来说一下系统启动流程,系统可以从SD卡和Flash启动,我们的FPGA板块中没有Flash,因此我们使用的是从SD卡启动。
SD卡启动需要使用bootrom,bootrom的主要作用就是将SD卡中放置的可执行文件搬移到指定的内存中,搬移完成后再跳转到DDR中执行;
启动流程为从u-boot跳转到opensbi,opensbi跳转到kernel,kernel起来调用文件系统之后系统就运行起来了。
RISC-V的三种模式
在理解risc-v的boot流程之前,首先需要知道的是risc-v设计的三种模式
机器模式:
M-mode(Machine Mode)
超级用户模式:
S-mode(Supervisor Mode)
用户模式:
U-mode(User Mode)
这三种模式对应的权限不同,
Machine Mode(机器模式),简称M Mode,具有最高的权限等级,允许执行所有操作,包括直接访问和修改所有硬件资源。机器模式通常用于硬件初始化、系统引导、中断和异常处理等关键任务,由于其高度特权,机器模式通常只允许特定的、受信任的代码运行。对于risc-v来说,系统上电启动后会在M-Mode。
Supervisor Mode(监督模式),简称S Mode,权限等级介于用户模式和机器模式之间。它允许操作系统管理硬件资源,为多个用户模式的程序提供服务和调度。在监管模式下,程序可以执行一些特权操作,如访问物理内存、管理设备驱动程序等。
User Mode(用户模式),简称U Mode,具有最低的权限等级。在这个模式下运行的程序(如应用程序)不能直接访问硬件资源或执行特权操作。用户模式提供了最基本的程序执行环境,用于隔离和保护操作系统内核和其他程序,确保应用程序的稳定性和安全性,防止它们对系统造成损害。
RISC-V架构还支持几种不同的存储器地址管理机制,包括对于物理地址和虚拟地址的管理机制,使得RISC-V架构能够支持从简单的嵌入式系统(直接操作物理地址)到复杂的操作系统(直接操作虚拟地址)的各种系统。
此外,RISC-V定义了CSR(控制和状态寄存器),用于配置或记录一些运行的状态,这些CSR寄存器是处理器核
risc-v系统启动流程
最新推荐文章于 2026-04-07 02:19:48 发布

2933

被折叠的 条评论
为什么被折叠?



