table des matières
  1. Installation de la chaîne de développement croisée
  2. Option : Passer de STLink en Jlink
  3. Installation de la chaîne de compilation croisée
    1. Debian 11
  4. mbed_cli
    1. Installation de mbed_cli
    2. Configurer mbed cli
  5. Visual Studio Code (VsCode)
    1. Installation
      1. Installation des plugins C/C++ IntelliSense et Cortex-Debug
  6. Sonde Jlink
  7. Outils et ressources documentaires
    1. Documentation STM32-F746

Installation de la chaîne de développement croisée

Cross compilation

Nous utilisons les platines Nucleo-F746ZG. Le tutorial ci-après vous guide dans l’installation de MBED et Visual Studio Code sous Ubuntu/Debian pour ces platines.

Les platines nucleo possèdent un microcontrôleur ARM Cortex M qui est compatible avec MbedOs.

Pour pouvoir les utiliser, il faut avant tout mettre en place la chaîne de compilation croisée.

Nous utiliserons :

  • l’IDE Visual Studio Code pour programmer
  • Le compilateur gcc-arm pour obtenir un exécutable compatible avec la carte nucléo.
  • Le programmateur JLink pour téléverser et déboger le programme.

Le tutoriel ci-après est adapté de celui-ci

wiki.segger.com/J-Link:Visual_Studio_Code

Attention, La modification du programmateur est déjà faite sur les cartes de la section CIEL-IR

Par défaut, les cartes nucléo sont fournies avec le programmateur StLink. Nous avons choisi de les modifier pour pouvoir utiliser JLink. Dans le cas d’une nouvelle carte (personnelle par exemple), il faut flasher le firmware pour la rendre compatible JLink. Suivre le tutoriel ci-dessous.

STLink to JLink

Installation de la chaîne de compilation croisée

La chaîne de compilation croisée va permettre de générer un exécutable pour le processeur de notre carte (ARM Cortex M)

sudo apt install gdb-multiarch libusb-1.0-0-dev gawk gcc
sudo apt install libffi-dev libncurses5

Debian 11

Il faut télécharger la version de arm-gcc GNU Arm Embedded version 9-2019-q4-major

  1. Télécharger gcc-arm-none-eabi-9-2019-q4-major-x86_64
  1. Décompresser dans /opt

    sudo mv gcc-arm-none-eabi-9-2019-q4-major-x86_64.tar.bz2 /opt
    cd /opt && sudo tar xjf gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2
    
  2. Ajouter les chemins au fichier ~/.bashrc

    1. Ouvrir le fichier .bashrc

      nano ~/.bashrc
      
    2. Ajouter la ligne ci-dessous à la fin du fichier

      export PATH=$PATH:/opt/gcc-arm-none-eabi-9-2019-q4-major/bin:/opt/gcc-arm-none-eabi-9-2019-q4-major/arm-none-eabi/bin:/opt/gcc-arm-none-eabi-9-2019-q4-major/arm-none-eabi/lib
      
  3. Sauvegarder le fichier (CTRL+O, CTRL+X)

  4. Recharger le fichier .bashrc

    source ~/.bashrc
    

mbed_cli

Mbed cli est une suite logicielle en ligne de commande pour gérer les projets Mbed

Installation de mbed_cli

  1. Installer les paquets nécessaires

    sudo apt install python3 python3-pip git mercurial
    
    python3 -m pip install mbed-cli
    
  2. Ajouter le chemin de l’exécutable dans le PATH

    1. Ouvrir ~/.bashrc

      nano ~/.bashrc
      
    2. Ajouter la ligne ci-dessous à la fin du fichier

      export PATH="$HOME/.local/bin/:$PATH"
      
    3. Sauvegarder le fichier et recharger la configuration

      source ~/.bashrc
      
  3. Vérifier l’installation de mbed cli

    mbed --version
    >1.10.1 (ou supérieur)
    

Attention, Si vous n’obtenez pas la version du logiciel (exemple, mbed not found), recommencer la procédure

Configurer mbed cli

Il faut configurer le PATH de gcc-arm dans la configuration pour tous vos projets Mbed

  • Ubuntu 20.04, Debian 10 et Debian 11
mbed config -G GCC_ARM_PATH /opt/gcc-arm-none-eabi-9-2019-q4-major/bin

Visual Studio Code (VsCode)

VsCode est l’IDE utilisé pour programmer. Vérifier qu’il est installé, sinon suivez la procédure ci-dessous

Installation

  1. Importer la clé GPG de microsoft

    wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
    
  2. Ajouter le dépot de vscode

    sudo apt-get install software-properties-common
    sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
    
  3. Installer vscode

    sudo apt update
    sudo apt install code
    
Installation des plugins C/C++ IntelliSense et Cortex-Debug

Pour installer les plugins, il faut ouvrir VsCode, aller dans plugins, télécharger et activer les plugins ci-dessus

Attention, La version de Cortex-debug 1.6.x est incompatible avec notre configuration. Downgradez Cortex-debug en version 1.4.4

VsCode

La sonde Jlink nous permet de téléverser et de deboger les programmes sur la carte nucléo

  1. Télécharger la dernière version du Jlink Software for Linux v64bits (v782c ou plus)

  2. Installer le .deb

    sudo apt install ./JLink_Linux_V782_x86_64.deb
    

Outils et ressources documentaires

API Mbed OS 6.15

Documentation STM32-F746

Nucleo Databrief

Nucleo UserManual

STM32F746

CortexM7-peripherals

CortexM7 registers