Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Zera-Algorithm/farmos

Repository files navigation

FarmOS

FarmOS 是北京航空航天大学的三名本科生共同开发的基于 RISC-V 的宏内核类 Unix 操作系统。

快速开始

环境准备

  • 安装基础构建工具 GNU/make、GNU/Bash
  • 安装 Python 3
  • 安装 RISCV 64位 gcc 编译工具链
    • riscv64-unknown-elf-gcc
    • riscv64-unknown-elf-ld
    • ...
    • riscv64-unknown-elf-gdb
  • 安装 Qemu-7.0.0 for Riscv64

在 Ubuntu 22.04 下安装 riscv64-unknown-elf-* 系列编译器:

sudo apt install gcc-riscv64-unknown-elf

调试器则需要自行编译安装。

安装 Qemu:

sudo apt install qemu-system-riscv64

编译 FarmOS

克隆本仓库代码到本地,然后运行:

make

即可编译得到 FarmOS 内核二进制文件 kernel-qemu.

运行 FarmOS

运行:

make qemu

可以运行FarmOS操作系统。

调试 FarmOS

运行:

make qemu-gdb

之后新建一个终端窗口,输入:

riscv64-unknown-elf-gdb kernel-qemu

用于加载内核二进制文件中的符号并开始调试。

然后在gdb提示符下,输入 target remote localhost:26000 连接调试端口。这样就可以开始调试了。

目录结构

  • include/kern
    • boot 启动相关代码
    • dev 硬件抽象层
    • driver 驱动
    • fs 文件系统
    • lib 通用库
    • lock
    • mm 内存管理
    • proc 进程管理
    • trap 中断处理
    • kernel.asm 内核反汇编文件
    • Makefile
  • lib 用户与内核的通用库
  • linker 链接脚本
  • scripts 辅助脚本
  • user 用户代码

常用的 Makefile 命令

  • make / make all:生成内核镜像文件
  • make clean:清空编译中间文件和目标文件
  • make qemu:在qemu中运行FarmOS
  • make qemu-gdb:使用gdb调试内核
  • make check-style:使用clang-format检查C代码格式是否符合规范。代码规范位于 .clang-format 文件内
  • make fix-style:使用clang-format自动修复C代码的格式

文档列表

架构与工具使用笔记

区域赛文档

全国赛文档

全国赛现场赛文档

各阶段代码存档

参考资料

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

AltStyle によって変換されたページ (->オリジナル) /