• Stars
    star
    863
  • Rank 52,844 (Top 2 %)
  • Language
    C
  • License
    BSD 2-Clause "Sim...
  • Created over 3 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

《从头写一个RISC-V OS》课程配套的资源

Step by step, learn to develop an operating system on RISC-V

1. Introduction

This course is used to teach and demonstrate how to write a simple operating system kernel for the RISC-V platform from scratch. Released under the BSD 2-Clause license (For details, please read the LICENSE file under the root directory of this repository).

If you have any questions or bug report, please use the issue tracking system on github.

Note: We also have a mirror repository on gitee (https://gitee.com/unicornx/riscv-operating-system-mooc), and we use the issue tracking system on gitee more actively than on github, all issue# filled in git commitment are from the issue tracking system of gitee.

2. Operating environment

Ubuntu 20.04 is recommended. Ubuntu 20.04 is currently the latest recommended long-term stable release of Ubuntu. It is also the easiest to install and run the environment in this environment.

Some students reported that they hope to still use Ubuntu 18.04. Because the official source of Ubunt 18.04 does not support the RISC-V development kit, so the environment is a little more complicated. I wrote a simple document, and you can refer here to have a try with Ubuntu 18.04.

All demo codes have been verified under the following environment. Please carefully check whether your Ubuntu version and kernel version are consistent with the following information.

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.3 LTS
Release:	20.04
Codename:	focal

$ uname -r
5.11.0-27-generic

At present, in the Ubuntu 20.04 environment, we can directly use the official GNU toolchain and QEMU emulator, and execute the following command to install online to start the test:

$ sudo apt update
$ sudo apt install build-essential gcc make perl dkms git gcc-riscv64-unknown-elf gdb-multiarch qemu-system-misc

3. Building and usage

  • make:Compile and build
  • make run:Start qemu and run
  • make debug:Start debugging
  • make code:Disassemble to view binary code
  • make clean:cleanup

For specific use, please refer to the Makefile under the specific sub-project.

4. References

The design of this course refers to the following network resources, thank you :)

More Repositories

1

v8-internals

面向编译器开发人员的V8内部实现文档
Python
1,451
star
2

PLCT-Open-Reports

PLCT实验室的公开演讲,或者决定公开的组内报告
990
star
3

PLCT-Weekly

软件所PLCT实验室在开源领域的不定期简报
HTML
563
star
4

writing-your-first-riscv-simulator

《从零开始的RISC-V模拟器开发》配套的PPT和教学资料
185
star
5

llvm-project

PLCT实验室的 RISC-V V Spec 实现,基于llvm/llvm-project,rkruppe/rvv-llvm 和 https://repo.hca.bsc.es/gitlab/rferrer/llvm-epi-0.8
C++
156
star
6

RISCV-Training

Training Materials for RISC-V HW/SW, focusing on compilers, emulators, and virtual machines. provided by PLCT Lab.
32
star
7

plct-gem5

upstream: https://github.com/RALC88/gem5
C++
31
star
8

mlibc

Embedded libc,especially for RISC-V.
C
29
star
9

plct-toolbox

PLCT工具箱
Shell
26
star
10

rvv-benchmark

PLCT实验室 rvv-llvm 实现配套的 benchmark / testcases
Assembly
21
star
11

plctlab.github.io

Technical blogs from the PLCT Lab.
21
star
12

riscv-lab-access

Access bookkeeping for RISC-V Lab
16
star
13

riscv-cluster

Towards a million-node RISC-V cluster.
14
star
14

riscv-ci

Build scripts of ci.rvperf.org
Shell
10
star
15

rvspoc

RISC-V Software Porting and Optimization Championship
HTML
8
star
16

PLCT-RISCV-Shanghai-Day

2021年6月26日在上海科技大学举办的 PLCT Lab 上海开放日活动。
5
star
17

mzi-lang

Java
4
star
18

llvm-ci

Python
4
star
19

felix-infra

The entry point of Felix Universe.
3
star
20

simd_for_godbolt

C++
3
star
21

riscv-ecosystem-tracking

提供一种比 riscv-software-list 更加详细的方式展示 RISC-V 软件生态的完备性程度,为业界决策何时选用 RISC-V 提供高价值情报。
JavaScript
3
star
22

sail-riscv-dropped

Coq
2
star
23

riscv-laptop

Preparing for RISC-V Laptops!
2
star
24

gofrontend

Go
1
star
25

gollvm

Porting gollvm to riscv64 platform.
C++
1
star