Go Down

Topic: STM32 DUINO (Read 3601 times) previous topic - next topic

hbachetti

Oui j'ai vu ça, mais apparemment le mien est bien sérigraphié.
Ça charge comme une fleur.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

hbachetti

#31
Mar 29, 2019, 09:52 pm Last Edit: Mar 30, 2019, 06:04 am by hbachetti


https://fr.aliexpress.com/item/ST-LINK-V2-CN-ST-LINK-STLINK-STM8-STM32-emulator-official-version/32230072665.html?spm=a2g0s.9042311.0.0.27426c37xNAP8G

Soit disant version officielle.

Heu ... sans vouloir être malpoli, mes c***lles ...

A éviter !

Code: [Select]

riton@alpha:/mnt/sdc1/riton$ st-flash write /tmp/arduino_build_579822/Blink.ino.bin 0x8000000
2019-03-29T20:36:26 INFO src/stlink-common.c: Loading device parameters....
2019-03-29T20:36:26 WARN src/stlink-common.c: unknown chip id! 0
riton@alpha:/mnt/sdc1/riton$

L'emballage est joli, ça console.

Préférer ceci :



https://fr.aliexpress.com/item/ST-Link-V2-Programming-Unit-mini-STM8-STM32-Emulator-Downloader-M89-New/32631496848.html?spm=a2g0s.9042311.0.0.27426c37Knvivh

Ces petite machins qui n'ont l'air de rien fonctionnent :

Code: [Select]

riton@alpha:/mnt/sdc1/riton$ st-flash write /tmp/arduino_build_579822/Blink.ino.bin 0x8000000
2019-03-29T21:17:02 INFO src/stlink-common.c: Loading device parameters....
2019-03-29T21:17:02 INFO src/stlink-common.c: Device connected is: F1 Medium-density device, id 0x20036410
2019-03-29T21:17:02 INFO src/stlink-common.c: SRAM size: 0x5000 bytes (20 KiB), Flash: 0x10000 bytes (64 KiB) in pages of 1024 bytes
2019-03-29T21:17:02 INFO src/stlink-common.c: Attempting to write 12844 (0x322c) bytes to stm32 address: 134217728 (0x8000000)
Flash page at addr: 0x08003000 erased
2019-03-29T21:17:02 INFO src/stlink-common.c: Finished erasing 13 pages of 1024 (0x400) bytes
2019-03-29T21:17:02 INFO src/stlink-common.c: Starting Flash write for VL/F0/F3 core id
2019-03-29T21:17:02 INFO src/stlink-common.c: Successfully loaded flash loader in sram
 12/12 pages written
2019-03-29T21:17:03 INFO src/stlink-common.c: Starting verification of write complete
2019-03-29T21:17:03 INFO src/stlink-common.c: Flash written and verified! jolly good!
riton@alpha:/mnt/sdc1/riton$


Quelques fois la merde chinoise se cache bien sous des apparences trompeuses !

Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

hbachetti

Quelques petites présentations STM32 :

https://riton-duino.blogspot.com/2019/03/stm32-environnements-de-developpement.html
https://riton-duino.blogspot.com/2019/03/stm32-boitier-st-link.html
https://riton-duino.blogspot.com/2019/03/stm32-duino-deboguer.html
https://riton-duino.blogspot.com/2018/03/stm32f103c8t6-et-arduino.html

Je suis de plus en plus convaincu par l'IDE PlatformIO (Visuel Studio), sur ARDUINO, ESP8266 ou ESP32 et STM32, même MSP430 on dirait, et bien d'autres.

La liste des plateformes : https://docs.platformio.org/en/latest/boards/index.html#boards

Sur STM32 le chargement est fait par OpenOCD.
Avec les cartes ST cela se passe très bien.

Mais sur la BLUE PILL apparemment le code est bien chargé mais il démarre au mauvais endroit.
Certainement un problème de vecteur de reset.
Avec l'utilitaire ST-FLASH de ST Microelecronics c'est correct.

Je travaille actuellement sur une F429ZI, une carte possédant 3 ADC 12bits :



Cette carte est époustouflante :

833333 échantillons par seconde et par canal en mode polling.
Si j'utilisais les interruptions ou la DMA ce serait encore plus fort, mais j'ai besoin de 100K/s, pas plus.
Actuellement j'exploite deux canaux.

Du code ici : https://bitbucket.org/henri_bachetti/stm32duino-samples/src

A comparer avec les 38500 échantillons par seconde que l'on peut obtenir d'un ARDUINO sur lequel l'ADC est boosté. Il paraît que l'on peut le pousser à 77000.
Et l'ADC n'a que 10 bits.

@+
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

hbachetti


Quelques résultats d'une petite plongée dans l'ADC du STM32, avec polling, interruptions et DMA.

STM32 : l'ADC

Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Leptro

#34
May 25, 2019, 05:02 pm Last Edit: May 25, 2019, 05:09 pm by Leptro
Salut la compagnie,

Voici un petit retour d'expérience sur l'utilisation du STM32.
J'ai acheté, il y a quelques mois de cela, un clone maple mini embarquant un STM32F103C8, afin de l'utiliser dans l'environnement Arduino.

Je n'avais pas eu le temps de le mettre en oeuvre j'usqu'à hier.


Une fois les bibliothèques installées (stm32duino), le branchement de la carte créer dans windows (désolé linuxiens) un nouveau port série.


Pour tester la bébète, je compile sans problème un sketch style blink mais le téléversement est systématiquement en erreur " DFU not find".

Je télécharge depuis le site de St Micro le

stm32 loader demonstrator
et en utilisant un convertisseur usb vers série connecté aux ligne TX1 et RX1 du maple mini.
Je démarre la carte avec boot0 à Vcc.

Je constate que la mémoire du stm32 est protèger en écriture.

Pas de problème, le soft stm32 loader demo permet de dévérouiller la mémoire mais l'éfface en totalité.

Pour le rendre le maple de nouveau fonctionnel, il faut lui injecter un nouveau boot loader.

ce fichier se trouve dans le dossier ici

voici un  
lien qui vous aidera à mieux comprendre la démarche.

il suffit après de redemarrer le maple mini avec boot0 à gnd, de le connecter en usb.
et tout roule.
Bonne lecture






hbachetti

Détail : le stm32 loader demonstrator est une application Windows.

Dommage de flasher un bootloader alors que le STM32 en possède déjà un nativement, celui qui te permet d'ailleurs de charger le bootloader STM32DUINO par la ligne série.

Mais c'est vrai que cela oblige à utiliser un convertisseur USB / série.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Leptro

Hbachetti, merci pour ta remarque.

Mais une fois la mémoire effacée, je n'ai pas pu réutiliser la carte.
Je n'ai eu comme solution que le bootloader.

Si il y a une autre solution, je suis preneur.

J'ai commandé un st-link.. je ferais des essais une fois réceptionné.


hbachetti

Pas besoin de ST-LINK.
Ce boîtier est ce que j'utilisais au boulot pour charger à partir d'un Makefile en ligne de commande.
Avec l'IDE ARDUINO il y a plus simple : stm32f103c8t6-et-arduino. Voir 7. Chargement
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Leptro

Merci je vais tester cela.. mais une fois la mémoire effacée suite au retrait de la protection mémoire, je n'avais plus de port série.


J'essai de revenir à cette étape.



hbachetti

Réserve ces cartes à des projets gourmands en ressources, ça pédale vite.

 ;)
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Go Up