En recompilant NuttX sur FreeBSD 13 pour une carte bluepill (STM32F103C8T6), j’ai eu une mauvaise surprise: même si le code se compile correctement, le binaire ne fonctionne pas une fois arrivé sur la cible.
La classique « laide qui clignote » fonctionne sans problème, mais des fonctions avancées (USB par exemple) ne fonctionnent pas du tout.
En fait, il faut utiliser le compilateur devel/gcc-arm-embedded au lieu de devel/arm-none-eabi-gcc.
Notez que ce compilateur s’installe dans le répertoire /usr/local/gcc-arm-embedded
. Pour l’utiliser, il faut exporter la variable PATH
comme suit (/bin/sh
):
export PATH=$PATH:/usr/local/gcc-arm-embedded/bin
Exemple de configuration NuttX avec authentification sur la console via le port USB :
Je n’ai pas encore compris l’intérêt d’avoir deux compilateurs différents, mais je ne désespère pas d’avoir une réponse.
La source.
La capture de terminal est réalisée avec asciinema
et convertie avec gifcast