Zephyr est un système d’exploitation pour les IoT qui a le vent en poupe. Il est développé sous licence Apache par la « Linux Fondation ». Il est sponsorisé par des fabricants de semi-conducteurs comme INTEL ou NXP. Le projet est relativement récent (2015) mais le développement avance rapidement.
Siddharth Chandrasekaran de embedJournal.com a écrit un petit tuto pour compiler la démo « hello_world » sur une carte blue_pill. Cet article est une adaptation pour FreeBSD.
Pré-requis
Il vous faut python3
, mais également les paquets suivants
pkg install -y zsh dtc gperf py36-yaml py36-pyelftools py36-colorama openocd arm-none-eabi-gcc
zsh
peut être remplacé par bash
.
Vous avez également besoin du module Python py-kwalify
. Un port non-officiel est disponible ici:
https://github.com/lhondareyte/ports/tree/master/py-kwalify
Compilation
Depuis un environnent zsh
, procédez comme suit:
#!/usr/local/bin/zsh export PATH=/usr/local/bin:$PATH export ZEPHYR_TOOLCHAIN_VARIANT=cross-compile export CROSS_COMPILE=/usr/local/bin/arm-none-eabi- git clone https://github.com/zephyrproject-rtos/zephyr.git cd zephyr && git checkout v1.13.0 source zephyr-env.sh cd samples/basic/blinky mkdir build && cd build cmake -DBOARD=stm32_min_dev_blue .. make
Notez que pour éviter un conflit avec la version de dtc
fournie par le système, la priorité de /usr/local/bin
est modifiée dans la variable PATH
.
Il ne reste plus qu’a flasher le binaire disponible dans zephyr/samples/basic/blinky/build/zephyr
avec, par exemple stm32flash.