atelier pymite sur stm32f4 à pyconfr 2012

24
PyMite ou p14p (python on a chip)

Upload: jonathan-schemoul

Post on 10-Jul-2015

1.714 views

Category:

Art & Photos


3 download

TRANSCRIPT

Page 1: Atelier PyMite sur STM32F4 à PyconFR 2012

PyMiteou p14p (python on a chip)

Page 2: Atelier PyMite sur STM32F4 à PyconFR 2012

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

Et Arduino ?

● C / C++ avec macros● Bootloader● 8bit● 16 mhz

Page 4: Atelier PyMite sur STM32F4 à PyconFR 2012

Et Arduino ?

● C / C++ avec macros● Bootloader● 8bit● 16 mhz● 32k rom / 2k ram

Page 5: Atelier PyMite sur STM32F4 à PyconFR 2012

Et Arduino ?

● Facile● Grand eco-système● Beaucoup de tutoriels

Page 6: Atelier PyMite sur STM32F4 à PyconFR 2012

Et Arduino ?

● Facile● Grand eco-système● Beaucoup de tutoriels

Beginners friendly !

Page 7: Atelier PyMite sur STM32F4 à PyconFR 2012

Python ?

● Langage lisible● Maintenable● Simple

Page 8: Atelier PyMite sur STM32F4 à PyconFR 2012

Python ?

● Langage lisible● Maintenable● Simple

● Lourd● Lent● Pas adapté

Page 9: Atelier PyMite sur STM32F4 à PyconFR 2012

Pymite !

● Très léger● Rapide

Page 10: Atelier PyMite sur STM32F4 à PyconFR 2012

Pymite !

● Très léger● Rapide

● Mais toujours pas assez...

Page 11: Atelier PyMite sur STM32F4 à PyconFR 2012

Pymite !

● Très léger● Rapide

● Mais toujours pas assez...

Pour du 8bit !

Page 12: Atelier PyMite sur STM32F4 à PyconFR 2012

stm32f4

Page 13: Atelier PyMite sur STM32F4 à PyconFR 2012

stm32f4

● 32bit● 168mhz

Page 14: Atelier PyMite sur STM32F4 à PyconFR 2012

stm32f4

● 32bit● 168mhz● USB otg● ADC● SPI, I2C● Micro I2S, DAC● Accéléromètre

Page 15: Atelier PyMite sur STM32F4 à PyconFR 2012

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

Etat du portage

● Marche (hello world)

Page 17: Atelier PyMite sur STM32F4 à PyconFR 2012

Etat du portage

● Marche (hello world)● GPIO

Page 18: Atelier PyMite sur STM32F4 à PyconFR 2012

Etat du portage

● Marche (hello world)● GPIO● Accéléromètre

Page 19: Atelier PyMite sur STM32F4 à PyconFR 2012

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

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

● 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

● 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

● 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

● 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