Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
  • dev-smart-pointer-refactor-2
  • topics
  • outgoingmessagesviewer
  • qt6
  • dev-smart-pointer-refactor
  • gse-interface-dev
  • crash-report-dev
  • riccardo-dev
  • roccaraso2024
  • euroc2024
  • euroc2023
  • roccaraso2023
  • euroc-2021
14 results

linuxdeploy

  • Clone with SSH
  • Clone with HTTPS
  • Skyward

    Skyward Boardcore

    Boardcore is a framework for developing and building rockets software for custom boards with Miosix.

    Miosix is a lightweight OS for embedded developing which provides support for basic things such as Threads, GPIO, Time and many other. You can find our fork of the kernel here: skyward/miosix-kernel

    Building is made with SBS, which was created to easily compile and reuse code for different boards.

    Content

    Path Description
    src/shared/ Objects, drivers and other stuff written by us
    src/entrypoints/ Each file here is a 'main'
    src/tests/ Contains the 'main' of every test
    build/ Compiled binaries that can be flashed on a target board
    libs/ External libs (Miosix kernel and others as a git submodule)
    scripts/ Some tools (e.g. script for flashing on the boards)

    In the main folder you will find CMakeLists.txt which is used to configure the build system.

    Getting Started

    Dependencies

    • CMake
    • Git
    • Miosix Toolchain

    Also, Ccache, Ninja, OpenOCD, Cppcheck, clang-format and pre-commit are recommended for a better experience.

    Cloning the repo

    Clone this repo with the --recursive option.

    git clone --recursive https://git.skywarder.eu/avn/swd/skyward-boardcore.git
    cd skyward-boardcore

    Building

    You can build everything using the SBS script:

    ./sbs

    The build system will start building all the targets (entrypoints and tests). Depending on how many targets there are, this operation may take several minutes. If you installed ccache, subsequent runs will be much faster.

    Or you can use directly CMake:

    mkdir build
    cd build
    cmake -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_TOOLCHAIN_FILE=../libs/miosix-kernel/miosix/_tools/toolchain.cmake -GNinja ..
    cmake --build .

    Documentation

    The code is documented with Doxygen, check it here.

    Contributing

    You can install a pre-commit hook to ensure changes to the code will pass CI:

    pre-commit install

    What's next?

    In the Wiki you will find some first-steps guides (configuring the IDE, building a firmware, etc.) as well as the coding guidelines and some best practices we adopt.

    If you want to contribute to this repository, please read Git Workflow.

    If you just want to start messing around, try this.