IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Partitions ESP32 - Passage de .csv à .bin - Procédure complexe [Arduino ESP32]


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 406
    Par défaut Partitions ESP32 - Passage de .csv à .bin - Procédure complexe
    Bonjour à tous
    J'ai créé un fichier spiffs_4MO.csv avec l'OTA afin de l'adapter au mieux à mon projet.

    Nom : spiffs_4Mo.JPG
Affichages : 168
Taille : 20,7 Ko

    Mais maintenant, il faut que j'en fasse un fichier .bin et c'est là que mes ennuis commencent:
    Il faut d'abord charger Python que je ne connais pas; puis lancer une procédure, certainement bien décrite en anglais sur le site d'ESPRESSIF, mais incompréhensible pour moi.
    Quelqu'un aurait-il déjà pratiqué cette manip et pourrait me la communiquer en français.
    Merci

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 196
    Billets dans le blog
    47
    Par défaut
    Bonsoir,

    Tu peux mettre le lien vers le site d'Espressif qui explique la procédure en Python ?

  3. #3
    Membre éclairé
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 406
    Par défaut
    Merci pour votre intérêt:
    Le lien: https://docs.espressif.com/projects/...on-tables.html
    Tout sur les partitions y est bien expliqué sauf qu'à la fin il faut convertir en .bin avec la commande Python: python gen_esp32part.py input_partitions.csv binary_partitions.bin
    J'ai bien téléchargé Python mais je ne comprends pas comment faire.
    Alors j'ai essayé avec Visual Studio Code où il faut ajouter l'extention ESP-IDF sur le site de Pedro Minatel: https://medium.com/the-esp-journal/h...2-69c0f3fa89c8.
    Toutes les explications semblent d'une simplicité élémentaire. Je me lance.
    Mais après une heure de téléchargement de moulte méga octets, rien ne va plus, aucune trace des menus décrits par Pedro.
    Au final j'ai trouvé un menu avec des exemples; mise à part les sempiternels "hello world" et "blink", rien d'utile pour mon cas.

    Est-ce donc si compliqué de passer d'un fichier .csv à un fichier .bin?

    Dans l'invite windows j'écris la commande Python: gen_esp32part.py spiffs_4MB partitions.bin
    et , en réponse:

    gen_esp32part.py' n’est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.

    ce qui ne m'étonne pas, car où irait-il chercher ce prog?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 540
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 540
    Par défaut
    1-installer python depuis python.org
    2-télécharger le fichier mentionné https://github.com/espressif/esp-idf...n_esp32part.py et le mettre au même endroit que ton fichier csv (par exemple "c:\projet\esp01")
    3-ouvrir une invite de commande et se placer dans le répertoire des fichiers csv et py (cd c:\projet\esp01")
    4-lancer la commande décrite (python gen_esp32part.py input_partitions.csv binary_partitions.bin) (adapte avec le nom de ton fichier csv)
    et voilà (si aucun message apparait)

    PS dans ta commande tu as oublié d'appelé python d'où le message d'erreur, et penser à mettre les 2 fichiers au même endroit pour plus de faciliter, sinon il faut indiquer le chemin de chacun des fichiers (python c:\utils\gen_esp32part.py c:\projet\esp01\input_partitions.csv c:\projet\esp01\binary_partitions_.bin) par exemple

  5. #5
    Membre éclairé
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 406
    Par défaut Résolu
    merci umfred pour ton aide
    j'ai fais exactement ce que tu m'as préconisé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Users\Mormic>python gen_esp32part.py spiffs_4MB.csv spiffs_4MB.bin
    et j'obtiens la réponse:
    'python' n’est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    Ne serait-ce pas un problème de PATH?
    -------------------------------------------------------------------------------------------------------------------
    Après avoir trouvé où se planquait les applications Python, j'ai mis tous les fichiers dans le répertoire et lancé cette commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Users\Mormic\AppData\Local\Programs\Python\Python313>python gen_esp32part.py spiffs_4MB.csv partitions.bin
    Et eureka! cela a fonctionné.
    J'ai mis les fichiers .csv et .bin dans le répertoire de mon projet (sur platformio dans VSC). mais j'ai toujours ce message:
    Building in release mode
    *** [.pio\build\az-delivery-devkit-v4\partitions.bin] Source `spiffs_4MB.csv' not found, needed by target `.pio\build\az-delivery-devkit-v4\partitions.bin'.
    ================== [FAILED] Took 15.80 seconds ==================
    Maintenant je ne sais plus à quelle saint me vouer.
    Si quelqu'une ou quelqu'un a une idée?
    ------------------------------------------------------------------------------------------------------------------------------
    Dernière modif pour dire que c'est résolu.
    En fait, l'ESP32 que j'utilise a une mémoire flash de 4MO. Or la partition que j'ai écrit (spiffs_4MB) fait en réalité 8MO. Donc cela de rentrait pas.
    J'ai ainsi écrit une nouvelle partition pour un ESP32 de 4MO de mémoire flash avec 1MO environ dédiés au spiffs (spiffs_1MB):
    # Name, Type, SubType, Offset, Size, Flags
    nvs, data, nvs, 0x9000, 0x5000,
    otadata, data, ota, 0xe000, 0x2000,
    app0, app, ota_0, 0x10000, 0x2E0000,
    spiffs, data, spiffs, 0x2F0000,0x107000,
    j'ai mis ce fichier dans la racine de mon projet sur platformio et j'ai fait: 'built filesystem image'.
    Tout c'est bien passé et je n'ai même pas eu besoin de créer le .bin avec Python, cela s'est fait tout seul. Merci Plateformio.

    En conclusion de tout ce bazar:
    1. bien connaître la taille de la flash memory de son ESP32.
    2. trouver la taille qu'aura le spiffs en regardant la taille du répertoire 'Data' du projet.
    3. prendre un .csv existant (ex: min_spiffs.csv) et adapter la taille du spiffs en réduisant dans la mesure du possible la taille de la zone programme.
    4. reconstruire le filesystem image.
    5. recompiler le programme.

    Pour finir cela m'a permis de jeter un coup d'oeil sur Python: impressionnant! et il me faudra encore des heures et des heures avant de pouvoir l'utiliser.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 540
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 540
    Par défaut
    Citation Envoyé par mormic Voir le message
    merci umfred pour ton aide
    j'ai fais exactement ce que tu m'as préconisé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Users\Mormic>python gen_esp32part.py spiffs_4MB.csv spiffs_4MB.bin
    et j'obtiens la réponse:


    Ne serait-ce pas un problème de PATH?
    absolument. en principe, pendant l'installation de python, ça te demande si tu veux rajouter python au PATH (ça peut se faire manuellement sinon)

    uilding in release mode
    *** [.pio\build\az-delivery-devkit-v4\partitions.bin] Source `spiffs_4MB.csv' not found, needed by target `.pio\build\az-delivery-devkit-v4\partitions.bin'.
    ================== [FAILED] Took 15.80 seconds ==================
    Le message te dit qu'il ne trouve pas le fichier spiffs_4MB.csv, donc encore un problème de chemin à coup sûr

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Client SOAP et passages de parametres un peu plus complexe
    Par atrhacker dans le forum XML/XSL et SOAP
    Réponses: 0
    Dernier message: 09/03/2011, 16h13
  2. [textscan] Lire .csv complexe
    Par Newenda dans le forum MATLAB
    Réponses: 10
    Dernier message: 03/04/2009, 14h40
  3. Passage de variable complexe par GET ?
    Par xxkirastarothxx dans le forum Langage
    Réponses: 2
    Dernier message: 16/03/2009, 16h00
  4. Passage MCD complexe à MLD, conseil pour le MCD
    Par Kalion dans le forum Schéma
    Réponses: 9
    Dernier message: 22/10/2008, 13h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo