Séquence de boot
Lorsque Micropython démarre, 2 fichiers sont lus successivement par défaut :
- le fichier boot.py
- le fichier main.py
Boot.py est prévu pour contenir des fichiers qui sont censés être utilisés systématiquement.
Main.py contient le code principal qui doit être exécuté au lancement.
Pour s'en assurer, créer 2 fichiers boot.py et main.py contenant respectivement :
boot.py
print(boot.py)
main.py
print(main.py)
Ensuite, ouvrir le terminal et saisir :
import machine
machine.reset()
ce qui doit donner :
ets Jun 8 2016 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:4
load:0x3fff0034,len:5636
load:0x40078000,len:12696
load:0x40080400,len:4292
entry 0x400806b0
boot.py
main.py
MicroPython v1.14 on 2021-04-16; ESP32 module with ESP32
Type "help()" for more information.
On voit bien que les 2 fichiers ont été appelé avant l'affichage de l'invite de Micropython.
Rester conscient que l'invite a lieu après l'exécution successive de boot.py
et main.py
Info
Il semble qu'il y ait une subtilité entre les 2 : boot.py
est exécuté y compris lors des réveils après mise en veille alors que main.py
dans ce cas n'est pas rebooté mais reprend à l'endroit où il était. A vérifier.
Liens +/- utiles
Voir : https://learn.adafruit.com/micropython-basics-load-files-and-run-code/boot-scripts