atelier pymite sur stm32f4 à pyconfr 2012
TRANSCRIPT
![Page 1: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/1.jpg)
PyMiteou p14p (python on a chip)
![Page 2: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/2.jpg)
Microcontrolleur ?
● Les ordinateurs● Les micro controlleurs
– Realtime, peu de resources– 8 bits (avr, pic)– 16 bits (msp430, pic)– 32 bits (arm, avr32, pic32...)
![Page 3: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/3.jpg)
Et Arduino ?
● C / C++ avec macros● Bootloader● 8bit● 16 mhz
![Page 4: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/4.jpg)
Et Arduino ?
● C / C++ avec macros● Bootloader● 8bit● 16 mhz● 32k rom / 2k ram
![Page 5: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/5.jpg)
Et Arduino ?
● Facile● Grand eco-système● Beaucoup de tutoriels
![Page 6: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/6.jpg)
Et Arduino ?
● Facile● Grand eco-système● Beaucoup de tutoriels
Beginners friendly !
![Page 7: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/7.jpg)
Python ?
● Langage lisible● Maintenable● Simple
![Page 8: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/8.jpg)
Python ?
● Langage lisible● Maintenable● Simple
● Lourd● Lent● Pas adapté
![Page 9: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/9.jpg)
Pymite !
● Très léger● Rapide
![Page 10: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/10.jpg)
Pymite !
● Très léger● Rapide
● Mais toujours pas assez...
![Page 11: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/11.jpg)
Pymite !
● Très léger● Rapide
● Mais toujours pas assez...
Pour du 8bit !
![Page 12: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/12.jpg)
stm32f4
![Page 13: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/13.jpg)
stm32f4
● 32bit● 168mhz
![Page 14: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/14.jpg)
stm32f4
● 32bit● 168mhz● USB otg● ADC● SPI, I2C● Micro I2S, DAC● Accéléromètre
![Page 15: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/15.jpg)
Stm32f4 Discovery
● 32bit● 168mhz● USB otg● ADC● SPI, I2C● Micro I2S, DAC● Accéléromètre
● 16 euros.
![Page 16: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/16.jpg)
Etat du portage
● Marche (hello world)
![Page 17: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/17.jpg)
Etat du portage
● Marche (hello world)● GPIO
![Page 18: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/18.jpg)
Etat du portage
● Marche (hello world)● GPIO● Accéléromètre
![Page 19: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/19.jpg)
Etat du portage
● Marche (hello world)● GPIO● Accéléromètre
● Reste à mapper :– ADC– PWM générique– SPI, I2C, etc.– GDB / PDB
![Page 20: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/20.jpg)
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
![Page 21: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/21.jpg)
● STLink :
$ git clone https://github.com/texane/stlink.git
$ cd stlink
$ make
$ cd stlink/
$ sudo ./gdbserver/st-util fu bar
![Page 22: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/22.jpg)
● 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
![Page 23: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/23.jpg)
● Charger le programme :
$ cd src/platform/stm32f4
$ arm-none-eabi-gdb
.. # target extended localhost:4242
.. # load main.elf
.. # continue
![Page 24: Atelier PyMite sur STM32F4 à PyconFR 2012](https://reader033.vdocuments.net/reader033/viewer/2022052602/559f5c0b1a28ab206b8b4741/html5/thumbnails/24.jpg)
● 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