Go Down

Topic: Reprogrammer une carte via uart ou can (Read 330 times) previous topic - next topic

mar22

Bonjour,

J'aurais aimé savoir s'il était possible de reprogrammer une carte via de l'uart ou du can :

Je m'explique, actuellement j'ai une esp32 et des stm32 et j'aimerais savoir si je pouvais reprogrammer les stm32 en passant par de l'uart ou du can avec l'esp32. (en effet, cela faciliterais beaucoup les tests sur mon système).

J'ai remarquer que sur Arduino IDE, on pouvait exporter les binaires compilées et j'aimerais transférer ce fichier en wifi par l'ESP32 pour l'envoyer aux stm32 via uart ou can.

Autre problème, Arduino IDE me crée un fichier .hex et je ne comprends pas pourquoi il ne me crée pas un fichier .bin lors de l'export des binaires compilées.

Merci d'avance pour votre aide.

hbachetti

Quote
Autre problème, Arduino IDE me crée un fichier .hex et je ne comprends pas pourquoi il ne me crée pas un fichier .bin lors de l'export des binaires compilées.
Parce que ce n'est pas prévu. Ces fichiers IHEX sont normalement utilisés pour un chargement avec avrdude.

il faut utiliser objcopy :
Code: [Select]

avr-objcopy --input-target=ihex --output-target=binary fichier.hex fichier.bin
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

trimarco232

J'aurais aimé savoir s'il était possible de reprogrammer une carte via de l'uart ou du can : (…)
c'est faisable, c'est certain, mais il te faudra faire des recherches, je ne pense pas que quelqu'un conaisse des choses de ce genre ici
sujet intéressant, reprogrammation de l'esp32 en OTA, qui à son tour reprogramme le stm32 ...
par curiosité, pourquoi as-tu besoin d'un stm32 à proximité de l'esp32, ce dernier sait faire pas mal de chose, quite à le compléter avec des périphériques ?

hbachetti

#3
Jun 21, 2020, 01:01 am Last Edit: Jun 21, 2020, 01:04 am by hbachetti
Si, il y a du monde qui connaît  :)

Je suppose que l'idée est d'utiliser l'ESP32 comme programmateur OTA pour un STM32, c'est à dire recevoir le code par le WIFI et l'envoyer au STM32 par la ligne série.

Le STM32 possède un bootloader en ROM, capable de charger du code via une ligne série ou I2C, après avoir positionné la pin BOOT0 à 1.

stm32flash est l'outil standard pour flasher un binaire dans un STM32, qui est d'ailleurs utilisé par l'IDE ARDUINO pour charger un STM32 : stm32-et-arduino.

Il ne devrait pas être très compliqué d'en porter le code sur ESP32.

Une implémentation C : https://github.com/jsnyder/stm32ld
Une en PYTHON : https://pypi.org/project/stm32loader/
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

trimarco232

Il ne devrait pas être très compliqué d'en porter le code sur ESP32.
sans doute (je ne suis pas allé + en avant car je m'interroge d'abord sur la pertinence d'une coexistence esp32 + stm32)  :o

hbachetti

Je suppose que c'est une coexistence passagère, pendant une phase de tests et de mise au point.
Ensuite l'ESP32 est retiré.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Go Up