Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/puppy-rtos/kernel

puppy-rtos kernel
https://github.com/puppy-rtos/kernel

arm riscv rtos smp

Last synced: 10 days ago
JSON representation

puppy-rtos kernel

Awesome Lists containing this project

README

        

# Puppy RTOS

Puppy RTOS 项目的目标是实现一个运行在低资源平台上的 POSIX 兼容实时操作系统,系统的原生接口就是 POSIX 接口,没有学习门槛。这是一个全新的项目,所以在实现的时候会多尝试一些新技术,最终目标是希望实现一个支持用户交互,可在线安装应用的实时微内核。

### Roadmap

**M0:一个最小实现的实时内核 [Doing]**

- 包含原子操作、实时调度、线程管理、线程间同步、中断管理、内存堆管理。
- 支持一个 Target,可以在 STM32L4 平台上运行。
- 支持两个工具链,gcc、armclang
- 充分的内核测试用例

**M1:一个最小实现的实时微内核 [ToDo]**

- 支持运行用户态应用
- 用户空间内存隔离
- 用户空间的应用崩溃不影响内核

**M2:一个支持用户交互的实时微内核 [ToDo]**

- 支持 apt install 安装应用
- 支持 apt update 检查更新
- 支持 apt remove 卸载应用

## 如何体验
### 下载工具链

```
wget -q https://github.com/RT-Thread/toolchains-ci/releases/download/v1.4/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz
sudo tar zxf riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz -C /opt
/opt/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/riscv64-unknown-elf-gcc --version
```
### 配置编译

```
xmake f -p cross --sdk=/opt/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14 --build_board=qemu-virt-riscv -m debug
xmake
```
### 运行
```
qemu-system-riscv32.exe -nographic -machine virt -net none -chardev stdio,id=con,mux=on -serial chardev:con -mon chardev=con,mode=readline -bios none -smp 4 -kernel puppy.bin
```

**运行结果**

```
Build Time: Aug 18 2023 08:44:26
_
____ ____ _____ (_) _ __
/ __ \ / __ \ / ___/ / / | |/_/
/ /_/ // /_/ / (__ ) / / > <
/ .___/ \____/ /____/ /_/ /_/|_|
/_/ Powered dy puppy-rtos
[ 0][I/drv.board] 1:IRQ:I am core 1!
[ 0][I/drv.board] 3:IRQ:I am core 3!
[ 0][I/drv.board] 2:IRQ:I am core 2!
puppy:
```