diff --git a/src/images/posts/zephyr/capture-console-blinky.png b/src/images/posts/zephyr/capture-console-blinky.png new file mode 100644 index 0000000..c7e7f4c Binary files /dev/null and b/src/images/posts/zephyr/capture-console-blinky.png differ diff --git a/src/images/posts/zephyr/capture-cortex-debug.png b/src/images/posts/zephyr/capture-cortex-debug.png new file mode 100644 index 0000000..a807375 Binary files /dev/null and b/src/images/posts/zephyr/capture-cortex-debug.png differ diff --git a/src/images/posts/zephyr/capture-debug-main.png b/src/images/posts/zephyr/capture-debug-main.png new file mode 100644 index 0000000..c8f68c5 Binary files /dev/null and b/src/images/posts/zephyr/capture-debug-main.png differ diff --git a/src/images/posts/zephyr/capture-stm32-uart.jpg b/src/images/posts/zephyr/capture-stm32-uart.jpg new file mode 100644 index 0000000..9587173 Binary files /dev/null and b/src/images/posts/zephyr/capture-stm32-uart.jpg differ diff --git a/src/images/posts/zephyr/capture-stm32f4-serialconsole.png b/src/images/posts/zephyr/capture-stm32f4-serialconsole.png new file mode 100644 index 0000000..df196ae Binary files /dev/null and b/src/images/posts/zephyr/capture-stm32f4-serialconsole.png differ diff --git a/src/images/posts/zephyr/zephyr-image.jpg b/src/images/posts/zephyr/zephyr-image.jpg new file mode 100644 index 0000000..639f3b2 Binary files /dev/null and b/src/images/posts/zephyr/zephyr-image.jpg differ diff --git a/src/posts/tuto-debug-zephyr.md b/src/posts/tuto-debug-zephyr.md new file mode 100644 index 0000000..7e1c6d1 --- /dev/null +++ b/src/posts/tuto-debug-zephyr.md @@ -0,0 +1,138 @@ +--- +title: Tutoriel développement embarqué +date: '2024-02-02' +type: 'news' +illustration: '/images/posts/zephyr/zephyr-image.jpg' +--- + +Dans le cadre des mes missions de développeur embarqué sur plateforme libre depuis plus de 15 ans, j'ai dû mettre en place un certain nombre d'outils. Celui qui revient régulièrement est le debug. Lors de la phase de développement, le debug est indispensable mais nécessite d'avoir les équipements et les outils adaptés. Voici mon retour d'expérience sur ce sujet que je ([Francois Bonningues](/members/francois-bonningues/)) veux partager avec le système d'exploitation [**Zephyr OS**](https://fr.wikipedia.org/wiki/Zephyr_(système_d'exploitation)). Cela comprend les traces sur la console et le debug avec un outil comme **gdb**. + +L'objectif de ce tutorial est de déboguer une application basique d'exemple (**blinky** fourni par Zephyr) qui s'exécute sur une carte d'évaluation **stm32F4** depuis un PC sous linux. + +# Environnement + +## Zephyr OS +L'installation de l'environnement est très bien documenté sur le site officiel: + +[https://docs.zephyrproject.org/latest/develop/getting_started/index.html](https://docs.zephyrproject.org/latest/develop/getting_started/index.html) + +## Matériels utilisés +Voici le matériel nécessaire pour cet exemple : +* un PC sous Debian 12 "Bookworm" +* le kit d'évaluation stm32F407 [https://www.st.com/en/evaluation-tools/stm32f4discovery.html](https://www.st.com/en/evaluation-tools/stm32f4discovery.html) +* un module USB TTL, par exemple [https://www.amazon.fr/dp/B0BTB2TZW2/ref=pe_27091421_487030221_TE_SCE_3p_dp_i1](https://www.amazon.fr/dp/B0BTB2TZW2/ref=pe_27091421_487030221_TE_SCE_3p_dp_i1) + + +## Compilation, flashage + +Une fois l'environnnement installé sur le PC (ici dans mon répertoire **home**) et après y avoir branché la carte d'évaluation, il suffit de taper ces commandes: +``` +cd ~/zephyrproject/zephyr +source ~/zephyrproject/.venv/bin/activate +west build -p always -b stm32f4_disco samples/basic/blinky +west flash +``` + +# Débogage de l'application embarquée + +## Traces sur la console série + +Les traces de l'application peuvent être observées via la liaison série. +Les broches PA2, PA3 et GND de la carte d'évaluation doivent être reliées à un adaptateur USB TTL comme indiqué ci-dessous. + +