Pages: 1 2 [3]   Go Down
Author Topic: STM32 Comment cela se programme ?  (Read 1792 times)
0 Members and 2 Guests are viewing this topic.
IDF/SO
Offline Offline
Edison Member
*
Karma: 41
Posts: 2303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci,
C'est plus simple que je ne pensais.
Il ne me reste plus qu'à choisir un modèle et il y aura de quoi occuper un retraité pour plusieurs semaines  smiley-mr-green.
Logged

IDF/SO
Offline Offline
Edison Member
*
Karma: 41
Posts: 2303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

68tjs, si je t'offre une STM32F4 discovery, tu me fais un retour de prog? mp...
Info : j'ai cru voir que quelques cartes Discovery sont maintenant gérables avec le projet MBED contrairement à ce que ST avait annoncé au départ.
Logged

France
Offline Offline
Faraday Member
**
Karma: 40
Posts: 3634
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci,
C'est plus simple que je ne pensais.
Il ne me reste plus qu'à choisir un modèle et il y aura de quoi occuper un retraité pour plusieurs semaines
Le passage du monde Arduino au monde mbed n'est pas très douloureux.
On retrouve des fonctionnements voisins (même genre de librairies DigitalIn, DigitalOut, PWM).
De base des librairies intéressantes pour gérer les timers et les actions dépendantes du temps (librairies Timeout et Ticker).
Les librairies sont bien documentées voir le Handbook. Depuis le compilateur, si on clique sur une librairie que l'on a associé au projet sa documentation s'ouvre ce qui est pratique.
De ce que j'en ai vu, les librairies sont pratiquement toutes C++ (des objets avec des méthodes associées)
On est plus près d'une gestion de projet C classique. On choisit les librairies que l'on ajoute au projet explicitement. Les projets sont sauvegardés avec les librairies. Il faut d'ailleurs penser à mettre les librairies à jour (il y a un bouton pour ça dans l'IDE) lorsqu'on charge des programmes un peu anciens car il y a du avoir une évolution du bas niveau à un moment et les anciens codes compilent mais ne s'exécutent pas.
« Last Edit: August 26, 2014, 01:52:41 am by fdufnews » Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5405
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut tout le monde,

Bon, le topic date un peu, mais vu qu'on parle de moi (avec deux o au lieu de deux d dans mon pseudo, c'pas sympa smiley-razz), je me sent obligé de prendre le train en route smiley-mr-green

Skywood s'y est penché (un STM32 qu'il soit sur une discovery ou une bread-board, ça reste un STM32...) :
(...) et là, ça refroidit. il y a une manip de ouf à faire pour "installer" en mode troll des fichiers mais pas tous etc etc...
La manip n'est plus nécessaire avec les versions récentes de CoIDE.
Du reste plein de manipulations ne sont plus nécessaire, ça a bien évolué dans ce sens CoIDE.
Par contre l'installation à la main de ARMGCC reste toujours obligatoire ...

Je ne sais pas où ça en est, mais moi, de base, j'aurais bien aimé une interface IDE comme l'arduino : tu codes, pis tu cliques sur "upload", pis ça marche...
CoIDE fait ça de base, mais avec un petit côté usine à gaz en plus smiley-sweat
(c'est le logiciel Eclipse derrière, donc on aime ou on déteste, perso j'aime bien)

Skywodd a d'ailleurs fait un article avec cette carte et cet IDE  smiley-wink.
Je quitte le forum 6 mois et paf tout le monde oubli comment écrire mon pseudo.
Z'allez voir, je vais changer tout ça smiley-evil

@ Super_Cinci, pour les STM32, les datasheets ne donnent aucune information détaillée sur la programmation (registres...). Pour cela, il faut aller voir le "reference manual" : 1710 pages dans le cas des STM32F4xx  smiley-eek
Le reference manual n'apporte franchement pas plus d'info, quand t'as lu le chapitre horloge et gestionnaire RCC tu sais même plus comment tu t'appelles ...

Avec les processeurs ARM il ne faut pas lire la doc, il faut utiliser la lib CMSIS du fabricant et lire la doc de la lib. Sinon c'est foutu.

Sinon, /hs : je ne conseille vraiment pas MBED. Le compilateur en ligne et les binaires sur un serveur web perso ça me fait froid dans le dos.
Pour faire du ARM "à la sauce Arduino", il vaut mieux utiliser les lib hardware fournies par le projet CooCox. Ya même un RTOS compatible avec plein de µc différents.

Sinon si vous avez encore des questions sur les cartes ARM je peux aider. Je collectionne en ce moment. J'ai toute la série des cartes à jouer Nucleo, STM32 Discovery et autre.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 2
france age 55
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
je suis nouveau sur ce forum.
Je peux confirmer que programmer sur stm32 est complexe. (Keil pour ce qui me concerne). On passe trop de temps à gérer les bibliothèques et essayer de comprendre ce que fait l'IDE.
Arduino, dont l'atout 21 est la convivialité, a donc de beaux jours devant lui.

ATMEGA328 fait cependant chiche, face à la flopée de périphériques offerte par le moindre STM32M0.
Je suis également réticent vis à vis de mbed : les sources doivent pouvoir être exportés sur l'IDE de son choix.

L'idéal serait en effet la parution d'un Cortex avec la facilité de programmation d'un arduino.
Alors  je me mets en mode sleep et j'attends une telle interruption.  smiley-sleep smiley-sleep smiley-sleep
Marc
Logged

IDF/SO
Offline Offline
Edison Member
*
Karma: 41
Posts: 2303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour à toutes et à tous.

J'ai franchi le pas et j'ai reçu ma carte Nucleo (L152).
Comme je l'ai déjà dit je n'agis que par curiosité et absolument pas par nécessité.
Quand je me compare à certains d'entre vous je me considère encore comme un neuneu de la programmation, disons un neuneu un peu éclairé mais surtout très curieux.
Je vous transmet mes premières impression sur le projet Mbed.

Ce qui me vient en premier à l'esprit c'est :
- heureusement que  j'ai commencé à jouer avec la simplicité des micro 8bits et  l'IDE Wiring/Arduino.
- heureusement qu'il y avait ce forum très convivial et où l'on peut s'exprimer en français.

MBed c'est d'abord un projet mené par ARM. Certains clients ARM y adhèrent (NXP, Freescale, ST, Nordic..) d'autres n'y adhère pas (Texas, Atmel , ..).
Chaque fabricant est libre de la composition de ses micros, c'est pourquoi certains micros ont un Dac d'autre pas, de l'Eeprom interne ou pas , etc....  . C'est sûr que cela ne simplifie pas les choses.

En conséquence le projet ARM-Mbed ne gère que le socle commun  à tous les micros, les bibliothèques particulières sont gérées à part, mais restent dans le projet.

Parlons de l'utilisation en ligne. C'est vrai que ce n'est pas enthousiasment en prime abord. En professionnel avoir sa propriété intellectuelle dans des nuages qu'on ne maîtrise pas peut être inquiétant mais pour l'utilisateur lambda  si on regarde de près il y a quelques avantages :    plus de sauvegardes à faire   smiley-mr-green et surtout les comptes perso sont intéressants.
Mbed utilise un dépot Mercurial. Quand on s'inscrit on dispose d'un sous-dépot personnel avec wiki et gestion des versions dans lequel on peut déposer ses programmes et ses librairies. Le tout pouvant être, au cas par cas, public ou privé. Bien sûr on peut avoir la même chose avec GitHub mais là tout est déjà configuré et intégré dans l'environnement de développement.

Bibliothèques non Mbed officielles :
Elles se trouvent dans tous les sous-dépots personnels.  A noter que le moteur de recherche est performant et que la recherche d'une bibliothèque pour un micro particulier est tout à fait faisable.

Les fonctions des bibliothèques officielle Mbed sont propres et plus claires que celles Wiring/Arduino. Mbed étant un projet plus récent (Wiring = 2003, fork par Arduino = 2005,  Mbed = 2009)  il n'a pas eu de mal à bénéficier des expériences précédentes.

Documentation :
Ce n'est pas simple, surtout avec les docs ST dans lesquelles on ne trouve pas de petits exemples en C comme dans les doc Atmel et qui sont bien utiles. Il faut souvent aller chercher dans les nombreux fichiers d'en tête. Ceci dit les micros ATmel ARM comme celui de la DUE sont aussi beaucoup moins simples que les AVR 8bits.

Comparaison avec Arduino :
Pour comparer Mbed avec Arduino il faut bien avoir en tête qu'un micro ARM-32 bits est plus compliqué qu'un micro AVR 8 bits et que la DUE (ARM 32 bits) n'est pas ce qu'on peut appeler une réussite.

Ma conclusion :
Je comprend que certains fassent la fine bouche devant le projet Mbed, j'aurais plus de compétences en programmation  je pense que je rejoindrai leur camp, mais voila je n'ai pas ces compétences et je trouve qu'a mon niveau  Mbed ce n'est pas si mal que cela.
Ah si j'ai un reproche concernant l'éditeur : comme celui de l'IDE Arduino  il n'accepte pas le coupé/collé à la mode UNIX (surbrillance et juste un clic sur la molette) et faut passer par Controle-C, Controle-V --> fatigue supplémentaire  insoutenable  smiley-mr-green

Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5405
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

je suis nouveau sur ce forum.
Bienvenue sur le forum smiley

Je peux confirmer que programmer sur stm32 est complexe. (Keil pour ce qui me concerne). On passe trop de temps à gérer les bibliothèques et essayer de comprendre ce que fait l'IDE.
Arduino, dont l'atout 21 est la convivialité, a donc de beaux jours devant lui.
Keil est vraiment le pire IDE possible pour du ARM.
Dans l'entreprise où j'étais il ont même fait le coup de vendre du support technique en français (avec garantie sur la durée) puis quelques mois plus tard ils ont rappelé en disant que le support serait uniquement en anglais désormais.
C'est vraiment une bande de branlot chez Keil, en plus l'ide en lui même date de l'age de pierre.
Essaye CoIDE ou carrément un notepad++/sublime text avec ARM-GCC et la lib CMSIS du fabricant.
Tu verras tu perdras beaucoup moins de temps qu'avec l'ide de Keil.

ATMEGA328 fait cependant chiche, face à la flopée de périphériques offerte par le moindre STM32M0.
Disons que c'est deux mondes différents : d'un côté un petit µc 8 bits, simple et suffisamment puissant pour pas mal de chose.  De l'autre des µc 32 bits qui moyennant un peu plus de RAM et une MMU pourraient quasiment faire tourner linux ...

Je suis également réticent vis à vis de mbed : les sources doivent pouvoir être exportés sur l'IDE de son choix.
Pour moi c'est simple : si je ne suis pas maître de mon code source et de mes binaires ça ne le fait pas du tout. Savoir qu'une entité extérieur se charge de choisir le compilateur, les options et de stocker les fichiers pour moi ça me plais vraiment pas.

L'idéal serait en effet la parution d'un Cortex avec la facilité de programmation d'un arduino.
Alors  je me mets en mode sleep et j'attends une telle interruption.  smiley-sleep smiley-sleep
Ça existe déjà : voir le projet "Mapple" de LeafLab, ou encore les cartes Nucleo avec CoIDE et la lib Coocox.
Après c'est toujours une histoire de communauté et de librairie. Suffit de voir comment a fini la Due, les cartes chipkit ou même les cartes Mapple.

En soit programmer sur du ARM ou sur du AVR c'est aussi simple. A la différence prés que sur ARM il faut d'abord comprendre tout le cheminement de fonctionnement du hardware (et comme il y en a beaucoup c'est vite casse gueule).
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5405
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma conclusion :
Je comprend que certains fassent la fine bouche devant le projet Mbed, j'aurais plus de compétences en programmation  je pense que je rejoindrai leur camp, mais voila je n'ai pas ces compétences et je trouve qu'a mon niveau  Mbed ce n'est pas si mal que cela.
Plus que le fait que tout soit dans le nuage, c'est surtout le fait qu'on ne maîtrise rien qui me déplais personnellement.
Le jour où le projet Mbed ne sera plus rentable tout fermera et byebye circulez ya rien à voir.
Et si demain les dév de Mbed se disent que ce serait bien d'ajouter des pubs un peu partout ben tu pourras rien y faire. Tu ne peux même pas travailler sans avoir une connexion permanente aux serveurs de Mbed (c'est la magie des outils en ligne) smiley-roll

Ah si j'ai un reproche concernant l'éditeur : comme celui de l'IDE Arduino  il n'accepte pas le coupé/collé à la mode UNIX (surbrillance et juste un clic sur la molette) et faut passer par Controle-C, Controle-V --> fatigue supplémentaire  insoutenable  smiley-mr-green
Si t'es sous firefox -> "about:config" -> "middlemouse.paste" -> "true" smiley-wink
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

IDF/SO
Offline Offline
Edison Member
*
Karma: 41
Posts: 2303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Je suis également réticent vis à vis de mbed : les sources doivent pouvoir être exportés sur l'IDE de son choix.
Les sources sont téléchargeables, elles sont même dans mon PC c'est que c'est pas compliqué !
https://mbed.org/users/mbed_official/code/mbed-src/archive/098575c6d2c8.zip
C'est plus simple pour les consulter tranquillement.

Il existe plusieurs tuto pour utiliser les sources Mbed avec Eclipse.
Mbed n'est pas géré par un fabricant mais par LE fournisseur des fabricants qui a tout intérêt à ce que ses conceptions se vendent.
Et si un jour Atmel envoie promener la bande arduino cela ne sera pas bien différent.
Dans les deux cas les bibliothèques existantes seront concervées, elles ne seront plus mise à jour c'est tout.

Note que je ne défend pas Mbed, je n'y ai aucune action.  Je n'ai pas encore réussit à faire un programme qui atteigne 10k, bon je ne force pas non plus, donc un avr me convient parfaitement. Mais le besoin de découvrir reste toujours présent. Et quand je trouve que quelque chose est pas mal et simple d'accès j'en fais part, c'est tout.

PS merci pour firefox je tente immédiatement.

Edit : ca marche pas ou plutôt c'était déjà a TRUE --> ce n'est pas un pb Firefox c'est dans l'éditeur de MBed.

« Last Edit: September 25, 2014, 08:18:59 am by 68tjs » Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5405
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Et si un jour Atmel envoie promener la bande arduino cela ne sera pas bien différent.
Dans les deux cas les bibliothèques existantes seront concervées, elles ne seront plus mise à jour c'est tout.
C'est vrai que maintenant qu'Arduino sous-traite la fabrication des cartes officielles à un peu tout le monde c'est un quasiment pareil.

Mais heureusement la communauté est là pour reprendre les choses en main si besoin. C'est bien une des seules choses que la team arduino n'a pas (encore) réussi à plomber smiley-mr-green
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

IDF/SO
Offline Offline
Edison Member
*
Karma: 41
Posts: 2303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Et nous finissons par nous rejoindre : c'est cette communauté, surtout francophone, qui manque cruellement au projet Mbed.
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5405
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Et nous finissons par nous rejoindre : c'est cette communauté, surtout francophone, qui manque cruellement au projet Mbed à toute les cartes à base d'arm et de pic32.
smiley-mr-green
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 2
france age 55
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Bienvenue sur le forum
Merci !
Logged

Pages: 1 2 [3]   Go Up
Jump to: