Reference project repository#
The main repository of Phoenix-RTOS is the phoenix-rtos-project. The project consists of the following GitHub submodule repositories.
-
Standard C library. Written from scratch for Phoenix-RTOS.
-
Building scripts, makefile templates, rules, flags definitions, target selection and toolchain.
-
Libraries for use in user space.
-
Hardware drivers.
-
Documentation.
-
Filesystem drivers.
-
Utilities for development PC (e.g. a tool for transferring system binary image to the target).
-
Microkernel repository.
-
LwIP network stack.
-
Linux (and potentially other OSes) applications ported to Phoenix-RTOS.
-
POSIX server; user space server that is providing additional POSIX features not provided by the kernel itself (e.g. pipes).
-
Tests based on our own framework.
-
USB stack (both host and device).
-
System utilities (e.g. native shell psh).
-
Phoenix-RTOS bootloader.
There are 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).