STM32 Discovery & Nucleo



Les cartes STM32 sont des cartes d'évaluation peu onéreuses des microcontrôleurs STM32 (ARM7 M3 Cortex).

Cartes Discovery
Listes des principales cartes STM32 discovery (liste non exhaustive). On peut aussi consulter la page wikipedia pour une déscriptions plus technique de la famille [STM32 http://en.wikipedia.org/wiki/STM32].

STM32F0-DISCOVERY
La carte STM32FO-DISCOVERY est doté d'un microcontroleur STM32F0 ayant un coeur Cortex-M0 à 48 MHz (0.9 DMIPS/MHz) alimenté en 1.8V à 3.6V Vcc. Il est doté de 64 KBytes Flash et de 8 KBytes RAM. Il consomme 5µA en Stop mode, en 2µA Standby mode, 430nA Vbat mode (with only RTC running and 20 RAM registers kept alive) Une très bonne série de tutoriaux pour la prise en main de cette carte ici.

STM32L-DISCOVERY
Le nouveau modèle (STM32L-DISCOVERY) (ultra-low power STM32L152RBT6) dispose en plus d'un mini afficheur LCD détachable (occupant 28 IO), un potentiomètre tactile (prenant 3 IO) et la mesure du courant consommé (prenant 3 IO). Le processeur offre a 12-bit ADC, 2 DACs and 2 ultralow power comparators, 6 general-purpose 16-bit timers and 2 basic timers, a RTC, advanced communication interfaces (up to two I2Cs and SPIs, three USARTs and a USB), a LCD controller and a temperature sensor.

Un projet d'émulation de cette carte par le logiciel Qemu réaliser par les étudiant de Polytech Grenoble, filière RICM4, est disponible ici

STM32VL-Discovery
La carte STM32VL-Discovery est construite autour d'un microcontrôleur STM32F100RB disposant de 128 KB Flash, 8 KB RAM et de broches (pin) pour les 64 I/Os QFP permettant de réaliser des montants rapides semblables à celui de l'Arduino. Elle est alimentable en 3.3V ou 5V (notanment par le lien USB STLink).

STM32F3-DISCOVERY
STM32F303VCT6 microcontroller featuring 256 KB Flash, 48 KB RAM with L3GD20, ST MEMS motion sensor, 3-axis digital output gyroscope &LSM303DLHC, ST MEMS system-in-package featuring a 3D digital linear acceleration sensor and a 3D digital magnetic sensor http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF254044

STM32F4-DISCOVERY
La carte STM32F4-DISCOVERY est doté de 1 MB Flash et 192 KB RAM. , Il est doté de 2 MEMS 3g digital accelerometer LIS302DL et MP45DT02 omni-directional digital microphone et d'un audio DAC CS43L22 avec une prise jack 3,5 mm. Cette carte est actuellement la plus puissante de la série mais aussi la plus complexe à exploiter.

STM32F7-DISCOVERY
voir ...

Cartes Nucleo
Les cartes Nucleo sont des cartes STM32 découvertes supportant les shields Arduino. La programmation et le debug passe par le port USB (ST-Link/V2-1). Le port USB émule le Serial USB. Le PCB est sécable pour détacher le programmateur ST-Link/V2-1. Elles sont programmables avec l'IDE en mode SaaS Mbed.

STM32F072 Nucleo
Processeur STM32F072RBT6 http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1574/LN1823/PF259605

ARM Cortex-M0 MCU with 128 Kbytes Flash, 48 MHz CPU, USB, CAN and CEC functions

STLink
Le chargement (ie flashage) et le déboggage du programme sur la carte se fait au moyen du lien USB STLINK (connecteur USB). Un fois le programme installé, ce lien est déconnectable du reste de la carte par des cavaliers. Le lien ST-Link ne peut cependant pas être utilisé comme lien série pour que le programme flashé puisse échanger des données avec l'hôte (comme dans le cas de l'Arduino qui possède un convertisseu r USB Serial). Attention, il y a 2 versions de STLink.

Introduction générale et programmation
Un document général et didactique pour la compréhension et la programmation des STM32 Discovering the STM32 Microcontroller

Environnement de développement
A completer

Une liste assez complète des outils disponibles pour cette carte

Web-based

 * Mbed in C with STM Nucleo
 * Espruino in Javascript with Chrome App and soon Eclipse Orion
 * Premiers pas avec les cartes STM32 Nucleo

Support de la sonde de programmation ST-LINK v1 et v2
Les cartes sont maintenant supportées par OpenOCD.

Une alternative: le logiciel stlink

Utilisation sous MacOS X
Flashage et débuggage avec OpenOCD.

STM32 ST-LINK Utility
Utilitaire (GUI et Command Line Interface) sous Windows pour utiliser le STLink avec les STM8 et STM32.
 * manuel

Attolic Studio
Attolic TrueStudio est un IDE Eclipse pour le développement ARM et le chargement et débuggage au travers du STLINK. Une version non payante et limité est disponible pour développer/débugger avec le STM32.
 * Getting start with Attolic TrueStudio

Mentor Code Sourcery

 * https://sites.google.com/site/stm32discovery/open-source-development-with-the-stm32-discovery/setting-up-eclipse-for-stm32-discovery-development

Arduino IDE

 * https://github.com/mlu/arduino-stm32

OpenSTM32
AC3 installateur one-click de Eclipse pour STM32
 * http://www.openstm32.org/tiki-register.php
 * http://www.st.com/web/en/press/en/p3669

coIDE CooCox
Remarque : Il faut installer la chaine de compilation arm-none-eabi pour Windows et la configurer via Project > Select Toolchain Path
 * http://www.coocox.org/software.html

la toolchain est téléchargeable ici https://launchpad.net/gcc-arm-embedded/+download

Il faut aussi configurer l’adapteur pour le flash/debug dans View > Configuration > Debugger et choisir ST-LINK SWD 1M SYSRESETREQ.

yotta
''tool that we're building at mbed to help ourselves and others build better software for C-family languages (that's C, C++ and Objective-C). It's a command line tool yotta, but also a culture of building software components that do one thing well, declare a clear interface, and can be re-used.''
 * http://yottadocs.mbed.com/

Autres

 * Devtools http://www.aim-store.eu/

Operating Systems

 * FreeRT OS sur STM32 Discovery http://www.freertos.org/FreeRTOS-for-Cortex-M3-STM32-STM32F100-Discovery.html
 * RIOT OS
 * embOS (RT OS for µC (ARM7,M3 Cortex, ...) http://www.segger.com/embos.html
 * mBed OS

Misc

 * OpenOCD, http://developer.berlios.de/projects/openocd/
 * http://stm32.spacevs.com/
 * http://www.emcu.it/

=Liens=
 * http://en.wikipedia.org/wiki/STM32
 * http://gostm32.blogspot.com/
 * http://hackaday.com/2010/10/12/arm-prototyping-on-the-cheap-with-stm32-discovery/

=Livre=
 * Mastering STM32 http://www.carminenoviello.com/en/mastering-stm32/
 * Code source https://github.com/cnoviello/mastering-stm32