Compilation de Zephyr sur FreeBSD

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.

Liens

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>