项目名称:基于RISC-V架构的轻量级操作系统内核开发
项目描述:独立设计并实现RISC-V架构的轻量级操作系统内核,完成从裸机启动到多任务调度的完整内核开发。
工作内容:
- 编写 RISC-V 汇编启动代码与链接脚本,完成栈初始化、BSS 段清零及 M-mode 特权级配置
- 实现 UART 16550 串口驱动与 printf 格式化输出,为内核提供基础调试手段
- 实现基于页帧位图的物理内存分配器,支持连续多页分配与释放
- 编写 trap_vector 中断入口汇编代码,通过 mscratch CSR 保存和恢复全部通用寄存器上下文,实现完整的中断和异常 处理框架,支持定时器中断、软件中断和外部中断的统一分发
- 实现 PLIC 外部中断控制器驱动,完成中断优先级设置、中断使能和中断响应确认
- 基于 CLINT 定时器中断实现抢占式多任务调度,通过 switch_to 汇编函数完成任务上下文切换
- 实现自旋锁同步原语和软件定时器机制,保障多任务环境下的数据一致性与定时事件管理
- 实现系统调用接口,通过 ecall 指令和 usys.S 桥接用户态与内核态
- 在 QEMU virt 平台上运行验证,使用 GDB 远程调试定位内核问题