SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
PyMite
ou p14p (python on a chip)
Microcontrolleur ?
●
    Les ordinateurs
●
    Les micro controlleurs
    –   Realtime, peu de resources
    –   8 bits (avr, pic)
    –   16 bits (msp430, pic)
    –   32 bits (arm, avr32, pic32...)
Et Arduino ?
●
    C / C++ avec macros
●
    Bootloader
●
    8bit
●
    16 mhz
Et Arduino ?
●
    C / C++ avec macros
●
    Bootloader
●
    8bit
●
    16 mhz
●
    32k rom / 2k ram
Et Arduino ?
●
    Facile
●
    Grand eco-système
●
    Beaucoup de tutoriels
Et Arduino ?
●
    Facile
●
    Grand eco-système
●
    Beaucoup de tutoriels



        Beginners friendly !
Python ?
●
    Langage lisible
●
    Maintenable
●
    Simple
Python ?
●
    Langage lisible   ●
                          Lourd
●
    Maintenable       ●
                          Lent
●
    Simple            ●
                          Pas adapté
Pymite !
●
    Très léger
●
    Rapide
Pymite !
●
    Très léger
●
    Rapide

●
    Mais toujours pas assez...
Pymite !
●
    Très léger
●
    Rapide

●
    Mais toujours pas assez...
        Pour du 8bit !
stm32f4
stm32f4
●
    32bit
●
    168mhz
stm32f4
●
    32bit
●
    168mhz
●
    USB otg
●
    ADC
●
    SPI, I2C
●
    Micro I2S, DAC
●
    Accéléromètre
Stm32f4 Discovery
  ●
      32bit
  ●
      168mhz
  ●
      USB otg
  ●
      ADC
  ●
      SPI, I2C
  ●
      Micro I2S, DAC
  ●
      Accéléromètre

  ●
      16 euros.
Etat du portage
●
    Marche (hello world)
Etat du portage
●
    Marche (hello world)
●
    GPIO
Etat du portage
●
    Marche (hello world)
●
    GPIO
●
    Accéléromètre
Etat du portage
●
    Marche (hello world)
●
    GPIO
●
    Accéléromètre

●
    Reste à mapper :
    –   ADC
    –   PWM générique
    –   SPI, I2C, etc.
    –   GDB / PDB
Bidouille !
●
    Allons-y !
●
    Mais avant :
    –   PYTHON 2.6 !
    –   PyMite 0.9 avec plateforme STM32F4
    –   Chaine de compilation :
        ●
            GCC (arm-none-eabi)
        ●
            Pré-compilé en ia32 : sourcery codebench lite
    –   Flashage
        ●
            STLink avec GDB
        ●
            DFU-UTIL
●
    STLink :
      $ git clone https://github.com/texane/stlink.git
      $ cd stlink
      $ make
      $ cd stlink/
      $ sudo ./gdbserver/st-util fu bar
●
    PyMite
    –   Installer la toolchain
    –   $ export PATH=$PATH:{TOOLCHAIN_PATH}/bin
    –   Extraire PyMite 0.9
    –   Vérifier que /usr/bin/python est python2.6 !
    –   scons PLATFORM=stm32f4
●
    Charger le programme :
      $ cd src/platform/stm32f4
      $ arm-none-eabi-gdb
      .. # target extended localhost:4242
      .. # load main.elf
      .. # continue
●
    Changer le programme :
      Editer main.py dans src/platform/stm32f4
      Relancer scons PLATFORM=stm32f4
      ctrl+c dans la fenetre avec le continue
      .. # load main.elf
      .. # continue

Más contenido relacionado

Similar a Atelier PyMite sur STM32F4 à PyconFR 2012

Architecture des ordinateurs
Architecture des ordinateursArchitecture des ordinateurs
Architecture des ordinateursRMwebsite
 
Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3Yannick Comte
 
Hacking your Home @bdx.io
Hacking your Home @bdx.ioHacking your Home @bdx.io
Hacking your Home @bdx.iolaurenthuet
 
Isbs slides 2010
Isbs slides 2010Isbs slides 2010
Isbs slides 2010RMwebsite
 
Serveur nomade dans l'nternet des Objets
Serveur nomade dans l'nternet des ObjetsServeur nomade dans l'nternet des Objets
Serveur nomade dans l'nternet des ObjetsChristophe Villeneuve
 
Usrp episode 1: smoke gets in your eyes
Usrp episode 1: smoke gets in your eyesUsrp episode 1: smoke gets in your eyes
Usrp episode 1: smoke gets in your eyes📡 Sebastien Dudek
 
Cours16 ressources pour arduino
Cours16   ressources pour arduinoCours16   ressources pour arduino
Cours16 ressources pour arduinolabsud
 
raspberry pi
 raspberry pi raspberry pi
raspberry piTECOS
 
Jeux vidéo sur mobile - Unity3d
Jeux vidéo sur mobile - Unity3dJeux vidéo sur mobile - Unity3d
Jeux vidéo sur mobile - Unity3dXavier MARIN
 
presentation_arduino.pdf
presentation_arduino.pdfpresentation_arduino.pdf
presentation_arduino.pdfMajidAmmar
 
Kit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIYKit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIYlaurenthuet
 
Projet boot loader avec le pic16f887_ppt
Projet boot loader avec le pic16f887_pptProjet boot loader avec le pic16f887_ppt
Projet boot loader avec le pic16f887_pptMouhcine Nid Belkacem
 
Présentation Raspberry Pi @ekito
Présentation Raspberry Pi @ekitoPrésentation Raspberry Pi @ekito
Présentation Raspberry Pi @ekitoArnaud Boudou
 
presentation serrure codee
presentation serrure codeepresentation serrure codee
presentation serrure codeeMohammedFassih
 
CWIN17 Morocco / IoT - arduino, the brain knot rachid el ayadi
CWIN17 Morocco / IoT - arduino, the brain knot rachid el ayadiCWIN17 Morocco / IoT - arduino, the brain knot rachid el ayadi
CWIN17 Morocco / IoT - arduino, the brain knot rachid el ayadiCapgemini
 
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...mbrechet
 
Presentation arduino
Presentation arduinoPresentation arduino
Presentation arduinoSinGuy
 
Level up your ci-cd experience
Level up your ci-cd experienceLevel up your ci-cd experience
Level up your ci-cd experienceFrederic Leger
 

Similar a Atelier PyMite sur STM32F4 à PyconFR 2012 (20)

Architecture des ordinateurs
Architecture des ordinateursArchitecture des ordinateurs
Architecture des ordinateurs
 
Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3
 
Hacking your Home @bdx.io
Hacking your Home @bdx.ioHacking your Home @bdx.io
Hacking your Home @bdx.io
 
Isbs slides 2010
Isbs slides 2010Isbs slides 2010
Isbs slides 2010
 
Serveur nomade dans l'nternet des Objets
Serveur nomade dans l'nternet des ObjetsServeur nomade dans l'nternet des Objets
Serveur nomade dans l'nternet des Objets
 
Usrp episode 1: smoke gets in your eyes
Usrp episode 1: smoke gets in your eyesUsrp episode 1: smoke gets in your eyes
Usrp episode 1: smoke gets in your eyes
 
Cours16 ressources pour arduino
Cours16   ressources pour arduinoCours16   ressources pour arduino
Cours16 ressources pour arduino
 
raspberry pi
 raspberry pi raspberry pi
raspberry pi
 
Jeux vidéo sur mobile - Unity3d
Jeux vidéo sur mobile - Unity3dJeux vidéo sur mobile - Unity3d
Jeux vidéo sur mobile - Unity3d
 
Les systèmes embarqués arduino
Les systèmes embarqués arduinoLes systèmes embarqués arduino
Les systèmes embarqués arduino
 
presentation_arduino.pdf
presentation_arduino.pdfpresentation_arduino.pdf
presentation_arduino.pdf
 
Kit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIYKit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIY
 
Projet boot loader avec le pic16f887_ppt
Projet boot loader avec le pic16f887_pptProjet boot loader avec le pic16f887_ppt
Projet boot loader avec le pic16f887_ppt
 
Présentation Raspberry Pi @ekito
Présentation Raspberry Pi @ekitoPrésentation Raspberry Pi @ekito
Présentation Raspberry Pi @ekito
 
presentation serrure codee
presentation serrure codeepresentation serrure codee
presentation serrure codee
 
CWIN17 Morocco / IoT - arduino, the brain knot rachid el ayadi
CWIN17 Morocco / IoT - arduino, the brain knot rachid el ayadiCWIN17 Morocco / IoT - arduino, the brain knot rachid el ayadi
CWIN17 Morocco / IoT - arduino, the brain knot rachid el ayadi
 
Microcontroleur
MicrocontroleurMicrocontroleur
Microcontroleur
 
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...
 
Presentation arduino
Presentation arduinoPresentation arduino
Presentation arduino
 
Level up your ci-cd experience
Level up your ci-cd experienceLevel up your ci-cd experience
Level up your ci-cd experience
 

Atelier PyMite sur STM32F4 à PyconFR 2012

  • 2. Microcontrolleur ? ● Les ordinateurs ● Les micro controlleurs – Realtime, peu de resources – 8 bits (avr, pic) – 16 bits (msp430, pic) – 32 bits (arm, avr32, pic32...)
  • 3. Et Arduino ? ● C / C++ avec macros ● Bootloader ● 8bit ● 16 mhz
  • 4. Et Arduino ? ● C / C++ avec macros ● Bootloader ● 8bit ● 16 mhz ● 32k rom / 2k ram
  • 5. Et Arduino ? ● Facile ● Grand eco-système ● Beaucoup de tutoriels
  • 6. Et Arduino ? ● Facile ● Grand eco-système ● Beaucoup de tutoriels Beginners friendly !
  • 7. Python ? ● Langage lisible ● Maintenable ● Simple
  • 8. Python ? ● Langage lisible ● Lourd ● Maintenable ● Lent ● Simple ● Pas adapté
  • 9. Pymite ! ● Très léger ● Rapide
  • 10. Pymite ! ● Très léger ● Rapide ● Mais toujours pas assez...
  • 11. Pymite ! ● Très léger ● Rapide ● Mais toujours pas assez... Pour du 8bit !
  • 13. stm32f4 ● 32bit ● 168mhz
  • 14. stm32f4 ● 32bit ● 168mhz ● USB otg ● ADC ● SPI, I2C ● Micro I2S, DAC ● Accéléromètre
  • 15. Stm32f4 Discovery ● 32bit ● 168mhz ● USB otg ● ADC ● SPI, I2C ● Micro I2S, DAC ● Accéléromètre ● 16 euros.
  • 16. Etat du portage ● Marche (hello world)
  • 17. Etat du portage ● Marche (hello world) ● GPIO
  • 18. Etat du portage ● Marche (hello world) ● GPIO ● Accéléromètre
  • 19. Etat du portage ● Marche (hello world) ● GPIO ● Accéléromètre ● Reste à mapper : – ADC – PWM générique – SPI, I2C, etc. – GDB / PDB
  • 20. Bidouille ! ● Allons-y ! ● Mais avant : – PYTHON 2.6 ! – PyMite 0.9 avec plateforme STM32F4 – Chaine de compilation : ● GCC (arm-none-eabi) ● Pré-compilé en ia32 : sourcery codebench lite – Flashage ● STLink avec GDB ● DFU-UTIL
  • 21. STLink : $ git clone https://github.com/texane/stlink.git $ cd stlink $ make $ cd stlink/ $ sudo ./gdbserver/st-util fu bar
  • 22. PyMite – Installer la toolchain – $ export PATH=$PATH:{TOOLCHAIN_PATH}/bin – Extraire PyMite 0.9 – Vérifier que /usr/bin/python est python2.6 ! – scons PLATFORM=stm32f4
  • 23. Charger le programme : $ cd src/platform/stm32f4 $ arm-none-eabi-gdb .. # target extended localhost:4242 .. # load main.elf .. # continue
  • 24. Changer le programme : Editer main.py dans src/platform/stm32f4 Relancer scons PLATFORM=stm32f4 ctrl+c dans la fenetre avec le continue .. # load main.elf .. # continue