Il y a 1 peu plus d'un an j'ai découvert l'existence d'une carte de développement très économique basée sur un µC STM32F103C8T6. Il s'agit d'un µC 32 bits Cortex M3. Suite à la lecture de l'article suivant sur hackaday, j'en ai commander 5 sur ebay.ca. Cette carte a étée bâptisée blue pill.
Cet article est le premier d'une série sur la programmation de la blue pill en utilisant différents outils.
- Programmation en utilisant Arduino IDE.
- Programmation en C en utilisant les outils GNU arm-none-eabi.
- Programmation en utilisant MECRISP Forth.
- Programmation en utilisant la plateforme WEB mbed.
- J'ai créé un dépôt sur github pour cet série d'articles.
Pré-requis
Je travaille sous Ubuntu 16.04 LTS les descriptions que je vais faire sont donc pour cette plateforme. Ça devrait aussi être valide pour une autre distribution Linux basé sur Debian-Linux.
Dans cette première partie je vais décrire comment installer les outils de développement qui seront nécessaires pour les prochains articles.
Blue pill
Voici la schématique de la carte blue pill
Sur les cartes que j'ai en main la résistance R10 a une valeur de 10k au lieu des 4k7 montré sur cette schématique. Ce sera à prendre en considération lorsque viendra le temps d'utiliser cette carte avec Ardruino IDE.Discription des broches
STM32F103C8T6
Voici les principales caractéristiques du µC qui est installé sur cette carte.
- Coeur ARM Cortex M3, Fsys maximale 72Mhz.
- Mémoire flash 64Ko
- Mémoire RAM 20Ko
- 3 timers usage général et 1 avancé.
- 2 SPI
- 2 I2C
- 3 USART
- 1 USB
- 1 CAN
- 37 GPIO
- 2 ADC 10 canaux résolution 12 bits
- datasheet
STLINK-V2
Pour programmer la carte il faut un programmeur STLINK-V2. Heureusement un clone de ce programmeur est aussi disponible sur ebay.ca à petit prix.
Installation des outils logiciels.
Pour les étapes d'installation logicielle vous devez être membre du groupe sudo car des privilèges root sont requis pour certaines étapes.
utilitaire ST-LINK
Les utilitaires ST-LINK sont disponibles en open-source sur https://github.com/texane/stlink.
Étapes à suivre à partir de la ligne de commande i.e. sous Ubuntu on fait <CTRL>-<ALT>-T pour ouvrir la console de comamdes.
- Installer les outils de développement gcc et binutils.
sudo apt install gcc binutils
- Installer l'utilitaire cmake.
sudo apt install cmake
- Installer libusb-dev
sudo apt install libusb-dev
- Cloner le dépôt https://github.com/texane/stlink.
J'ai créé un dossier ~/Documents/blue pill dans lequel j'ai cloné le dépôt:git clone https://github.com/texane/stlink - Lancer cmake à partir du dossier stlink pour créer les fichiers de configurations utilisés par make. N'oubliez pas le point après cmake pour indiquer à cmake qu'il travaille à partir du répertoire courant.
cmake .
- Lancer make
make
- Lancer make install. Utilisez sudo car les privilèges root sont requis.
sudo make install.Les utilitaires sont installés dans /usr/local
- Modifier /etc/ld.so.conf pour indiquer le chemin des librairies utilisées par st-link. Utilisez votre éditeur
de texte préféré et ajouter à la fin du fichier /etc/ld.so.conf la ligne /usr/local/lib et sauvegarder. sudo est requis.
sudo gedit /etc/ld.so.confcat /etc/ld.so.confOn recharge la configuration avec la commande.
include /etc/ld.so.conf.d/*.conf
/usr/local/lib
$ sudo ldconfig -
Maintenant branchez le programmeur ST LINK v2 dans un port USB. Faites la commande
$ lsusbAssurez-vous que votre système a bien détecter le programmeur identifié par STMicroelectronics ST-LINK/V2
Bus 002 Device 007: ID 0483:3748 STMicroelectronics ST-LINK/V2
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 0461:0010 Primax Electronics, Ltd HP PR1101U / Primax PMX-KPR1101U Keyboard
Bus 001 Device 003: ID 0000:0538
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Branchement de la carte blue pill
Le programmeur viens avec un petit cable à 4 fils. Les connections sont bien identifiées sur le programmeur et sur le connecteur à 4 broches qui dépassent au bout de la carte blue pill.
broche programmeur | broche carte |
---|---|
GND (4) | GND |
3v3 (8) | 3v3 |
SWCLK (6) | SWCLK |
SWDIO (2) | SWIO |
Maintenant on va essayer l'utilitaire st-info avec l'option --probe qui devrait nous afficher les informations sur le programmeur et la µC qui y est branché.
Found 1 stlink programmers
serial: 483f6e066772574857351967
openocd: "\x48\x3f\x6e\x06\x67\x72\x57\x48\x57\x35\x19\x67"
flash: 65536 (pagesize: 1024)
sram: 20480
chipid: 0x0410
descr: F1 Medium-density device
$
Nous avons donc complété la première étape de cette série d'articles dans le prochain article nous allons voir comment programmer la blue pill à partir de l'environnement Arduino IDE.
Aucun commentaire:
Publier un commentaire
Remarque : Seuls les membres de ce blogue sont autorisés à publier des commentaires.