Source

pymite_stm32f4 / source / index.rst

Full commit

Documentation sur python et le STM32F4 :

Warning

Cette documentation ne porte que sur la plateforme linux. Il sera donc nécessaire de la compléter pour win32, et Mac Os.

Warning

Pymite ne fonctionne qu'avec PYTHON 2.6 et rien d'autre.

Warning

ipm ne fonctionne pas encore sur le STM32F4, pour la simple raison que le code qui devrait assurer cette fonction n'est pas développé (cf le fichier plat.c où il reste à développer la communication avec la liaison série, pour récupérer le code à exécuter ainsi que renvoyer le résultat de l'exécution)

Warning

Les éléments importants :

Introduction sur la plaque STM32F4 (discovery) :

La rencontre de python et du STM32F4

Le STM32F4 est composé d'un microcontroleur ARM 32 bits,

  • Quelques éléments de documentation :

    • sélectionnez ensuite l'archive STM32F4 DSP and standard peripherals library, including 82 examples for 26 different peripherals and template project for 5 different IDEs cette archive contient notamment, un fichier .chm contenant toute la documentation sur la librairie c/c++ mis à disposition ainsi que les 82 exemples en c/c++. Ce qui pourrait faire un point de départ intéressant pour tous les gens qui souhaitent développer des librairies pour permettre d'accéder à des périphériques internes ou externes.
  • Quelques caractéristiques :

    • 32 bit
    • 168 MHZ
    • USB otg
    • ADC
    • SPI,12C
    • Micro 12S, DAC
    • Sortie son
    • Accéléromètre
    • Des leds
    • 3 ADC accessible en DMA
  • En résumé :

    • les plus :

      • Coût/Puissance : Une carte très intéressante (12€ -> 17€ selon les sites) car moins cher qu'un arduino basic,

        mais nettement plus puissante. Comprenez : L'arduino apparait alors comme un tracteur et pour un coût bien plus élevé. Enfin bon, on trouve toujours des fans de moisonneuse :)

      • Des périphériques en plus : (Accéléromètre, leds incorporés, possibilité de lire et d'enregistrer du son)

      • Language : Python 2.6, grâce à la mémoire dont il dispose, on arrive à embarquer

        une vm python et votre programme python. Ceci est rendu possible grâce au projet pymite

      • GPIO : la carte est très riche côté pin /GPIO (un plus face à l'arduino de base)

    • les moins :

      • Documentation :

        très peu de documentation END USER, de blog, tutorial, ou site parlant de cette plateforme. Apparement ce sont des japonais qui se sont intéressés les premiers à cette plateforme pour y intégrer python.

      • Librairies :

        Il y a nettement moins de librairies pour accéder à des périphérique comme un écran LCD. La plateforme est par contre plus récente que l'Arduino et ne bénéficie donc pas d'une communeauté aussi forte ...

      • Packaging & Debug :

        Un manque certain de facilité, par rapport à l'IDE de l'ARDUINO où toutes les difficulté techniques sont masqués à l'utilisateur. Le debug n'est pas inclu également ...

Pymite :

Pymite ou P14P (python on a chip). Pymite permet de faire fonctionner une vm python sur un micro controleur (d'autres micro-contrôlteur sont supportés). La vm fonctionne avec des greenthreads, scheduler interne qui gère les threads ...

Note

Si vous voulez faire du debug, il vous faudra acheter également une petite plaque électronique permettant le lien USB vers série (FOCA par ex) pour utiliser la console série dédiée (USART2) de la carte. On branche les deux fils nécessaires : FOCA/TXD sur la patte PA3/STM32F4 et FOCA/RXD sur la patte PA2/STM32F4. Il ne reste qu'à connecter cette plaque sur un autre port USB et a écouter sur le port USB avec putty par exemple :

putty -serial -sercfg 57600 /dev/ttyUSB0

La vitesse (57600 dans l'exemple) dépend de la valeur saisie dans le fichier src/platform/stm32f4/SConscript 57600 fait référence à la valeur utilisée dans le dépôt https://bitbucket.org/tuck/pymite