K-FSW ec10f94
Modular flight software on Zephyr, for small satellites
Loading...
Searching...
No Matches
K-FSW - Modular flight software on Zephyr, for small satellites

K-FSW gives spacecraft components the common services a mission needs: a console, ground links, parameters, files, logs, events, commands, housekeeping, and firmware updates. Enable what an OBC, radio, ADCS, EPS, or payload needs, then write the mission-specific code.

Start here

Task Page
Build and run a Linux node Getting started
Flash a board and check its interfaces Boards and targets
Connect a ground node or record telemetry in Yamcs Ground station

Reference

Topic Page
Shell syntax and examples Shell commands
Parameters, persistence, logging, files, commands, events Services and storage
CSP addresses, routes, UART/KISS, and CAN CSP and links
Upload, boot, confirm, and roll back an image Firmware update
Public C headers and functions API Reference

Repository layout

K-FSW repositories

k-fsw selects the modules and services, binds hardware, and orders startup. The other four repositories hold reusable code. west.yml pins the revisions used together.

Zephyr

Zephyr provides the RTOS, device drivers, board support, Kconfig, devicetree, and build tools. Its native simulator runs the application on Linux, so service and link tests can run before hardware is available.

K-FSW is not tied to one MCU vendor or board. A new Zephyr target supplies its hardware description and configuration. Modules and services can also be reused in another RTOS port, but their Zephyr kernel, driver, and filesystem calls need adapting. See Zephyr integration.

CSP is optional. Local parameters, persistence, logging and the shell work without it.

First run

From a configured west workspace:

./k-fsw/tools/kfsw-linux build
./k-fsw/tools/kfsw-linux run

After @READY, try status, param tables, storage info, and csp info. See Getting started for workspace setup.

Development

  • Architecture covers repositories, startup and configuration.
  • Contributing covers branches, dependency changes and pull requests.
  • Tests covers software checks and hardware tests.
  • Project status lists bench results and known limits.

Linux and NUCLEO-L496ZG are the reference targets. FRDM-K64F and Pico W run shell-only profiles.