Reference project
The main repository of Phoenix-RTOS is the phoenix-rtos-project. The project consists of the following Github submodule repositories.
- libphoenix Standard C library. Written from scratch for Phoenix-RTOS
- phoenix-rtos-build Building scripts, makefile templates, rules, flags definitions, target selection and toolchain
- phoenix-rtos-corelibs Libraries for use in userspace.
- phoenix-rtos-devices Hardware drivers
- phoenix-rtos-doc Documentation
- phoenix-rtos-filesystems Filesystem drivers.
- phoenix-rtos-hostutils Utilities for developement PC (e.g. a tool for transfering system binary image to the target)
- phoenix-rtos-kernel Microkernel repository
- phoenix-rtos-lwip LwIP network stack
- phoenix-rtos-ports Linux (and potentially other OSes) applications ported to Phoenix-RTOS
- phoenix-rtos-posixsrv POSIX server; userspace server that is providing additional POSIX features not provided by the kernel itself (e.g. pipes)
- phoenix-rtos-tests Tests based on our own framework
- phoenix-rtos-usb USB stack (both host and device)
- phoenix-rtos-utils System utilities (e.g. native shell psh)
- plo Phoenix-RTOS bootloader
There are also other directories and files directly in phoenix-rtos-project
.
-
_fs/
- rootfs template, -
_targets/
- rules for building the system for each hardware target, -
_user/
- user applications are placed here. Some demos are available from the box - e.g. hello world, voxeldemo, -
mtd-utils
- outside tool for creating jffs2 partitions, -
riscv
- bootloader for RISC-V CPU, -
scripts
- bash scripts for running Phoenix-RTOS on simulators (e.g. QEMU), -
build.project
- bash include file, defines how to build the whole system, it is included by phoenix-rtos-build/build.sh, -
busybox-config
- configuration for busybox (baseline Linux based toolkit and shell), -
docker-build.sh
- script for building using docker (docker allows user to not have toolchain on his or her development PC).