Espace de stockage

bonjour, je travaille avec l'IDE arduino sur un ESP32-WROOM-DA . je test un programme de communication bluetooth entre mon "android" et l'ESP32. Ce programme fonctionne parfaitement. il fait 35 lignes de code mais je suis surpris de la place qu'il occupe quand j le compile: 55% de mon espace de stockage. Du coup je n'ai plus assez de place pour l'incorporer dans l' appli que je développe. j'ai ouvert un neew sketch (sans rien mettre dans le setup et le loop). je l'ai compilé il ocupe quand même 17%. Solutions ? Merci

dans l'IDE - quelles options avez vous choisies pour la répartition de la mémoire flash ?

par défaut par exemple vous n'avez que 1.2Mo affectés à l'application.

a vrai dire, je n'ai rien choisi. mis c'est bien celle que vous indiquez. merci pour votre réponse rapide

oui c'est la version par défaut.

si vous n'utilisez pas l'OTA, prenez "Huge APP" par exemple

bon alors j'ai un grave pb: OTA et "Huge APP" quesaco.... que je n'ai que 1,2 Mo de dispo je le conçois, mais qu'un programme de rien du tout occupe 727Ko c'est ça qui m'etonne. je vois qu'il y a des sujets connexes dans le forum. je vais regarder. Encore merci.

je viens de réaliser ce que vous me conseillez. je vais essayer je devrais pouvoir ainsi utiliser 3Mo. mais quand même OTA c'est quoi ?

Flasher un ESP32 ça consiste à y envoyer le code compilé + des compléments indispensables, l'IDE s'en charge
L'ESP32 n'est pas un microcontrolleur mais un SOC (system on chip)

je comprends. on en veux toujours plus....

OTA signifie "Over The Air". C'est un moyen de flasher ton firmware sans fil, donc sans relier physiquement ta carte à ton PC. C'est utile pour déployer une mise à jour chez des utilisateurs ou pour flasher une mise à jour dans un ESP32 situé dans un endroit peu accessible (par exemple la commande d'un volet roulant, donc au sein d'un mur).

Je ne connais pas la méthode utilisée, mais s'il a besoin de réserver de l'espace mémoire, c'est qu'il doit stocker le binaire reçu 'over the air' avant de le flasher, et donc il réserve de la mémoire pour ça.

Si tu ne comptes pas le faire, c'est une option dont tu n'as pas besoin et tu peux ainsi libérer cet espace mémoire réservé.

La zone en Flash est coupée en deux. Dans une moitié la version actuelle, dans l'autre la version que l'on charge lors de la mise à jour.
Si la mise à jour ce passe bien, la seconde zone devient la version actuelle et la première devient libre pour une prochaine mise à jour.
Donc, on consomme deux fois plus de Flash que nécessaire.

Oui, mais il ne faut pas oublier que:

  • il y a un OS qui tourne en tâche de fond, donc il occupe de la place dans ton exécutable
  • toutes les librairies nécessaires pour faire tourner le Bluetooth,

ok lesept, merci. effectivement je ne suis pas dans cette configuration. j'ai mis le code du programme bluetooth dans mon application principale et ça compile et televerse. je reviens vers vous si j'ai besoin. je considére le pb comme résolu. ça pourra servir à d'autre.
Merci aussi a fdufnews.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.