risc-v系统启动流程

系统启动流程
首先来说一下系统启动流程,系统可以从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寄存器是处理器核

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值