Skip to content

oresat/oresat-zephyr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oresat-zephyr

OreSat firmware projects using Zephyr RTOS.

Setup

NOTE: This mostly rework of https://docs.zephyrproject.org/latest/develop/getting_started/index.html

Install dependencies

  • Arch Linux

    sudo pacman -S git cmake ninja gperf ccache dfu-util dtc wget \
      python-dev python-pip python-setuptools python-tk python-wheel \
      xz file make sdl2 stlink
  • Debian Linux

    sudo apt install --no-install-recommends git cmake ninja-build gperf \
      ccache dfu-util device-tree-compiler wget \
      python3-dev python3-pip python3-setuptools python3-tk python3-wheel \
      xz-utils file make libsdl2-dev libmagic1 stlink-tools

Install Zephyr SDK

  • Arch Linux (from AUR)

    paru -S zephyr-sdk-bin
  • Everything else

    cd /opt
    wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.8/zephyr-sdk-0.16.8_linux-x86_64.tar.xz
    tar xvf zephyr-sdk-0.16.8_linux-x86_64.tar.xz
    cd zephyr-sdk-0.16.8
    ./setup.sh

Add udev rule:

sudo cp /opt/zephyr-sdk-0.16.8/sysroots/x86_64-pokysdk-linux/usr/share/openocd/contrib/60-openocd.rules /etc/udev/rules.d
sudo udevadm control --reload

Install west

pip install west

Get the source code

west init -m https://github.com/oresat/oresat-zephyr --mr master zephyr-workspace
cd zephyr-workspace
west update

Export Zephyr CMake package:

west zephyr-export

Install the rest of Zephyr's Python dependencies

pip install -r zephyr/scripts/requirements.txt

Install OreSat Configs

While the latest oresat-configs release can be install via pip, for development, it is better to have latest code from the git repo.

cd oresat-configs
pip install -r requirements.txt
./build_and_install.sh
cd -

Test compile and flash

cd zephyr/samples/basic/blinky
west build -p always -b nucleo_f091rc .
west flash --runner openocd

Tools

  • clang-format: Used to auto format the code. Can be installed with the clang-format package.

CAN Tools

Since the main communication bus on OreSat is a CAN bus, CAN bus monitoring tools are needed for development and testing.

  • candump: Useful for monitoring if there is some CAN communication. Can be installed with can-utils package.
  • SavvyCAN: A GUI to decode and display/graph signals from CAN messages. Use oresat-configs to generate the .dbc file used to decode CAN messages and their signals with SavvyCAN.

About

OreSat firmware projects using Zephyr RTOS.

Resources

License

Stars

Watchers

Forks

Releases

No releases published