Mon réseau

Mon réseau d’entreprise

26.1 Micropython pour le Discovery IoT

Précédent   Suivant

Nous présentons ici comment mettre en place Python pour le discovery IoT. Les instruction pour la mise en place sont sur la page du portage STM32

Le firmware doit être d’abord compilé. Cela sera plus facile sur GNU/Linux, mais ce n’est pas complétement impossible à partir d’un système privatif. Il faut commencer par avoir git sur l’ordinateur pour cloner le dépôt.

Il faut ajouter les outils de développement et de cross compilation.

apt install binutils-arm-none-eabi gcc-arm-none-eabi build-essential

Puis compiler micropython :

cd micropython/
make -C mpy-cross

Puis le support de la carte spécifique :

cd ports/stm32/
make V=1 BOARD=B_L475E_IOT01A

Si tout s’est bien passé, alors le firmware est dans le fichier

arno@averell:~/micropython/ports/stm32$ ls -lh build-B_L475E_IOT01A/firmware.bin
-rwxr-xr-x 1 arno arno 324K mai   20 09:40 build-B_L475E_IOT01A/firmware.bin

Il faut flasher le firmware sur la carte en utilisant la commande du paquet stlink-tools.

st-flash write build-B_L475E_IOT01A/firmware.bin 0x08000000
st-flash 1.5.1
2020-05-20T09:14:10 INFO common.c: Loading device parameters....
2020-05-20T09:14:10 INFO common.c: Device connected is: L4 device, id 0x10076415
2020-05-20T09:14:10 INFO common.c: SRAM size: 0x18000 bytes (96 KiB), Flash: 0x100000 bytes (1024 KiB) in pages of 2048 bytes
2020-05-20T09:14:10 INFO common.c: Attempting to write 331264 (0x50e00) bytes to stm32 address: 134217728 (0x8000000)
Flash page at addr: 0x08050800 erasedEraseFlash - Page:0xa1 Size:0x800
2020-05-20T09:14:14 INFO common.c: Finished erasing 162 pages of 2048 (0x800) bytes
2020-05-20T09:14:14 INFO common.c: Starting Flash write for F2/F4/L4
2020-05-20T09:14:14 INFO flash_loader.c: Successfully loaded flash loader in sram
size: 32768
size: 32768
size: 32768
size: 32768
size: 32768
size: 32768
size: 32768
size: 32768
size: 32768
size: 32768
size: 3584
2020-05-20T09:14:21 INFO common.c: Starting verification of write complete
2020-05-20T09:14:24 INFO common.c: Flash written and verified! jolly good!

Il est alors possible de se connecter sur la carte par une connexion série, par exemple en utilisant le câble USB. Le périphérique devrait être créé. Les paramètres de connexion pour minicom sont 115200 8N1. Un reset de la carte permet d’afficher la version de micro python.

minicom -D /dev/ttyACM0

Bienvenue avec minicom 2.7.1

OPTIONS: I18n
Compilé le May 6 2018, 08:02:47.
Port /dev/ttyACM0, 23:08:24

Tapez CTRL-A Z pour voir l'aide concernant les touches spéciales

roPython v1.12-464-gcae77daf0 on 2020-05-19; B-L475E-IOT01A with STM32L475
Type "help()" for more information.
>>> MicroPython v1.12-464-gcae77daf0 on 2020-05-19; B-L475E-IOT01A with STM32L45
Type "help()" for more information.
>>>




pour faire clignoter la LED :

         >>> from pyb import LED
         >>> led=LED(1)
         >>> led.toggle()

Précédent   Suivant