Sepro's docs Open documentation

Installation de la chaine de cross-compilation

Installation de la chaine de développement croisée

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 microcontroleur ARM Cortex M qui est compatible avec MbedOs.

Pour pouvoir les utiliser, il faut avant tout mettre en place la chaine 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ébugger le programme.

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

wiki.segger.com/J-Link:Visual_Studio_Code

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 chaine 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

Attention, l’installation du compilateur dépend de votre OS

Ubuntu 18.04

Il faut télécharger le paquet ci-dessous

sudo apt install gcc-arm-none-eabi

Ubuntu 20.04 et Debian10

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

  2. Décompresser dans /opt

    sudo mv file.tar.bz2 /opt
    cd /opt && sudo tar xjf file.tar.bz2
    
  3. 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
      
  4. Sauvegarder le fichier (CTRL+O, CTRL+X)

  5. 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 18.04
mbed config -G ARM_PATH /usr/bin
  • Ubuntu 20.04 et debian 10
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.

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

VsCode

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

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

  2. Installer le .deb

    sudo apt install ./JLink_Linux_V680c_x86_64.deb
    

Outils et ressources documentaires

API Mbed OS 6.15

Documentation STM32-F746

Nucleo Databrief

Nucleo UserManual

STM32F746

CortexM7-peripherals

CortexM7 registers