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
_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).