首页
›
热销单品
›
嵌入式Linux与RTOS
›
《RISC-V用户与特权级(machinesupervisor)隔离》
所属分类:嵌入式Linux与RTOS
当前为单品课程,可返回上一级继续浏览同方向资料。
← 返回上一级
← 返回所属目录
咨询 / 购买
📘
RISC-V用户与特权级(machinesupervisor)隔离
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导入
学习目标 · 核心概念 · 整体框架
课程导入
学习目标
02
RISC-V特权级架构概述
特权级定义 · 模式切换 · CSR寄存器基础
RISC-V
特权级架构概述
03
用户态(U-mode)特性
用户态可用的指令与资源限制 · 以及用户态程序的基本执行环境
U-mode
用户态
04
监督态(S-mode)特性
监督态职责 · 中断与异常处理入口 · 以及操作系统内核运行的基础
S-mode
监督态
05
机器态(M-mode)特性
机器态的最高权限 · 固件与引导加载程序的作用 · 以及M-mode的CSR访问
M-mode
机器态
06
特权级切换机制
ecall/ebreak指令 · mret/sret指令 · 以及切换时的状态保存与恢复
特权级切换机制
ecall/ebreak
07
CSR寄存器与权限控制
mstatus · sstatus · mepc
CSR
寄存器
08
地址空间与内存隔离
虚拟内存 · 页表(satp) · 物理内存保护(PMP)在隔离中的角色
地址空间
内存隔离
09
物理内存保护(PMP)
PMP配置 · 地址匹配规则 · 以及如何限制S/U模式访问物理内存
PMP
物理内存保护
10
虚拟内存与页表机制
页表项格式 · 地址转换流程 · 以及S-mode如何管理U-mode…
虚拟内存
页表机制
11
中断与异常隔离
不同特权级的中断委托(medeleg… · 异常处理流程与权限检查
异常隔离
medeleg
12
系统调用(ecall)实现
用户态发起系统调用 · 陷入S-mode或M-mode的完整…
ecall
系统调用
13
用户态与内核态切换实战
编写一个简单的系统调用示例 · 观察特权级切换与CSR变化
用户态
内核态切换实战
14
S-mode与M-mode交互
S-mode调用M-mode固件(如… · 以及服务接口(如ecall)
S-mode
M-mode
15
RISC-V SBI规范
SBI的功能 · 调用约定 · 以及如何通过SBI实现控制台输出和定…
RISC-V
SBI
16
隔离的硬件支持
RISC-V对隔离的硬件特性(如PM… · 虚拟化扩展)总结与对比
隔离的硬件支持
RISC-V
17
常见隔离漏洞与攻击面
用户态提权 · 侧信道 · 错误配置PMP等风险分析
常见隔离漏洞
攻击面
18
配置PMP实现内存隔离
通过QEMU或硬件平台配置PMP · 限制S/U模式访问特定内存区域
PMP
配置
19
使用QEMU模拟RISC-V环境
搭建QEMU+Linux或裸机环境 · 验证特权级隔离行为
QEMU
RISC-V
20
编写裸机程序体验特权级切换
在M-mode初始化 · 切换到S-mode · 再切换到U-mode的完整代码
编写裸机程序体验…
M-mode
21
实现一个简单的用户态库
在U-mode下使用系统调用接口 · 理解用户态编程约束
实现一个简单的用…
U-mode
22
操作系统中的隔离实践
以Linux或RTOS为例 · 分析内核如何利用S-mode和U-m…
操作系统
隔离实践
23
异常处理与上下文切换
编写异常处理程序 · 保存/恢复上下文 · 确保隔离不被破坏
异常处理
上下文切换
24
中断委托配置实战
配置medeleg/mideleg · 将部分中断委托给S-mode处理 · 观察效果
断委托配置实战
medeleg/mide…
25
多特权级协作案例
设计一个M-mode固件+S-mod…
多特权级协作案例
M-mode
26
调试与排查隔离问题
使用GDB · OpenOCD · 日志等工具定位特权级违规或CSR错误
调试
排查隔离问题
27
性能与隔离的权衡
隔离带来的开销 · 优化方法(如快速系统调用 · 减少模式切换)
性能
隔离的权衡
28
RISC-V虚拟化扩展(H-mode)
H扩展对隔离的增强 · 以及Type-1/Type-2虚拟化…
RISC-V
H-mode
29
综合项目
构建一个支持用户态程序运行的最小内核 · 实现系统调用 · 内存隔离和中断处理
综合项目
构建一个支持用户…
30
课程总结与进阶方向
回顾核心知识点 · 推荐学习资源 · 探讨RISC-V隔离在安全
课程总结
进阶方向
所属VIP或分类
同VIP:1536-Zephyr-构建系统(West-&-CMake)工作流程详
同VIP:3D打印Klipper固件-开源智能硬件入门
同VIP:ADC采样与I2C协议SPI协议寄存器驱动开发实战