STM32 Project Consulting

Pages

STM32F4 Discovery USB host and MP3 player

I have not written any new post for a while, so here is one more project for the stm32f4 discovery. I prepared this post a long time ago, but for some reason I never posted it, so here goes:






Based on one of the examples provided by ST, I have written a program for the STM32F4 Discovery board that plays MP3 files from an USB memory stick. You can download it

If you use a usb-host cable such as this one you can connect an USB memory stick (with fat32 file system) with mp3-files to the micro-usb port of the stm32f4 discovery. The files should then be played one by one. The user button can be used to skip to the next file.
If you follow this tutorial you should be able to build and upload the provided files right away.
The main.c-file has many comments, so hopefully you can figure out how it works. Using a USB-memorystick for logging is quite easy with this program as a basis. Only the two usb-pins, 5V and gnd are required to connect it to any stm32 with USB support, so hw-wise it’s even easier than using an SD-card.

STM32F4 Discovery and ULINK2

On-board is a STM32F407VGT6 microcontroller. On Board is an ST-LINK/V2 embedded debug tool, two ST MEMS, digital accelerometer and digital microphone, one audio DAC with integrated class D speaker driver, LEDs and push buttons and an USB OTG micro-AB connector. By removing two jumpers ST-LINK could be used to program external microcontroller.





ST-Link V2 is intended for debuging the on-board microcontroller or as debug interface for any external ST cortex MCU. I have ULINK2 Debug Adapter. and I wanted to connect discovery board to ST32F4 MCU.  Unfortunately there’s no direct debug connection to DISCOVERY board, which could allow using external debugging interfaces. Here’s how it can be done:
Take STM32F4-DISCOVERY board and turn it upside down. There are several jumpers (solder bridges) marked with SBxxx. Remove SB5 and SB9. This will disconnect ST/LINK output signals from main MCU avoiding colision with ULINK2 signals:

Next, solder tiny wires to open solder bridges. Each solder bridge has arrow shape. Connect wires at proper side of the jumpers and to pads, as indicated in this diagram:




Next, solder breadboard with 20 pin header to discovery board and connect wires to proper pins as indicated above. Take care about IDC pin numbering (zig-zag)!
Connect ULINK-2, run uVision, open your favorite STM32F400 project and check the debug window:


And finally, snapshot with webcam (I was holding my DELL above the desk):













Cours Complet STM32F4 Discovery

Je vous présente aujourd'hui un cours complet en STM32F4 Discovery .
Téléchargement gratuite :
Cours Complet STM32 [PDF]




STM32F4 la nouvelle génération d’ARM cortex M4


Bonjour tout le monde !
Aujourd’hui je vais vous présenter une carte qui a beaucoup fait parler d’elle et qui tend à devenir le « futur » des microcontrôleurs ARM Cortex.
Le sujet du jour : la STM23F4 Discovery et son ARM Cortex M4 de derniére génération.


Tout d’abord niveau packaging on reste trés classique.
Comme pour toutes les cartes de la série Discovery de ST, la STM32F4 Discovery est livré dans un blister plastique sans autre accessoires.
Restez sobre n’est pas plus mal finalement vu qu’un blister plastique protège trés bien des chocs et permet de mettre en valeur le produit qu’il contient.

Alors qu’est ce que ça peut bien être ces STM32F4 dont toute la webOsphére parle ?
La série Cortex-M4 est une série de microcontrôleurs ARM hyper amélioré, reprenant les caractéristiques des ARM Cortex M3 classique, avec en plus, tout un systéme de DSP (digital Signal Processing, aka « Manipulation de signaux numérique ») et des caractéristiques / performances de D I N G U E !
Pour ne citer que les caractéristiques générale les plus intéréssante :
- unité de calcul à virgule flottante de haute précision
- cœur 32 bits pouvant atteindre 1,25 DMIPS/MHz
- unité de protection mémoire (MPU)
- mode de débogage/traçage économique
- consommation (dynamique) du processeur inférieure à 40 µW/MHz
- compatible avec la derniére version de la couche « Cortex Microcontroller Software Interface Standard » (CMSIS)
Et bien plus !
La STM32F4 Discovery en elle même reprend les éléments « classique » des cartes de la série Discovery.
Ainsi on ne sera pas étonné de voir qu’il y a un ST-Link V2 embarqué, en plus du STM32F4 et d’un certain nombre de petits périphériques bien sympa qui gravitent autour.


L’exemple de base quand on branche la carte pour la première fois est trés sympa.
Les led de couleurs clignotent en cercle et la carte se faire reconnaitre comme une souris hid via l’usb, de la il est possible de contrôler la souris sur l’écran en inclinant la carte grâce à l’accéléromètre.
Petit probléme auquel je fait fasse pour le moment, c’est au niveau de la toolchain gcc.
Pour pouvoir utiliser la série Cortex-M4 il faut une version trés récente de gcc, la toolchain yagarto est je pense la solution la plus viable.
Je suis actuellement en train de regarder comment l’utiliser pour compiler des programmes simple, en attendant que CoIDE supporte la série STM32F4xx (c’est prévu, il faut juste attendre).

On conclusion ,
Puissante, pas chère, avec un « potentielle hack » énorme, cette carte (et plus généralement la série M4) a tout pour plaire.
Reste juste la partie software encore un peu complexe mais ça promet de beaux bidouillages !
La guerre entre les fabricants de microcontrôleurs fait rage et franchement je suis au anges !
La STM32F4, la STM32L Discovery, la Launchpad, etc etc … c’est que du bon pour le marché du hack/bidouillage hardware, prions pour que cela dure encore longtemps :))

Installing the GNU ARM Toolkit

The instructions that seem to work for me best are the ones here http://lejos-osek.sourceforge.net/installation_linux.htm . You only need to install section 1 - install the Ubuntu components suggested, copy the script to a directory, run it and wait quite a while.
I've put the serial port interface on a bit of Veroboard. I've left half the board empty because I want to put a 3.3v regulator on there as well, and drive it from the 5v line.