eBreak's Blog
eBreak's Blog

[新坑] PokyuxOS

实习去了,没时间更新…

开了个新坑,打算用 C 实现一个 rv64 的 OS kernel。

Project URL: https://github.com/pokyux/pokyux

工程结构

$ tree
├── build                    # 系统内核构建输出(按照架构存放)
│   ├── riscv64
│   │   ├── pokyux.bin       # 内核二进制文件(用于 QEMU 引导)
│   │   └── pokyux.elf       # 内核 ELF 文件
│   └── user                 # 用户程序构建输出(按照架构存放)
│       └── riscv64
├── kernel                   # 内核源码
│   ├── arch                 # 体系结构相关源码
│   │   ├── pkx_arch.h       # 所有体系结构都要实现的接口
│   │   └── riscv64          # 体系结构
│   │       ├── boot.S       # pkx_entry 入口点(所有体系结构必须实现)
│   │       ├── linker.ld    # 内核内存布局(所有体系结构必须实现)
│   │       └── ...          # 其他源码,实现 pkx_arch.h 中的接口
│   ├── component            # 内核功能组件,管理内存、任务等
│   ├── init
│   │   └──main.c            # 内核 C 语言入口点
│   ├── lib                  # 功能型函数
│   ├── syscall              # 系统调用
│   └── type.h               # 类型定义(u8 i32 等)
├── Makefile
├── README.md
├── tool                     # pkx 使用的外部成品工具
│   └── rustsbi-qemu.bin     # RustSBI(用于实现 RISCV M 模式的功能)
└── user                     # 用户程序
    ├── arch                 # 体系结构相关的标准库实现
    │   └── riscv64
    │       ├── lib
    │       ├── linker.ld    # 应用程序内存布局
    │       └── start.S      # CRT0(_start 所在地)
    ├── include              # 应用程序标准头文件(体系结构无关)
    └── Makefile

发表回复

textsms
account_circle
email

eBreak's Blog

[新坑] PokyuxOS
实习去了,没时间更新... 开了个新坑,打算用 C 实现一个 rv64 的 OS kernel。 Project URL: https://github.com/pokyux/pokyux 工程结构 $ tree ├── build …
扫描二维码继续阅读
2023-11-23