Flasher un fichier binaire sur une serial EEPROM

Bonjour,

Je me retrouve face à une problématique purement logicielle et je n'arrive pas à sortir du "tunnel" dans lequel je suis.

En gros, j'ai une serial EEPROM qui communique en I2C et je souhaite pouvoir lui écrire une configuration logicielle générée sur un outil en ligne (configuration générée en .bin). Le bute c'est qu'un composant aille chercher sur le bus I2C la config au démarrage du circuit, pour que mon µC n'ai pas à gérer cette programmation logicielle là. Actuellement j'utilise un ESP32, relié en I2C à mon EEPROM CAT24C256. Comment procéder pour écrire l'entièreté du binaire dans l'EEPROM? Y a t il un outil dédié?

Cordialement!

à ma connaissance il n’y a pas d’outil dédié standard, il faut coder cette fonction d’écriture page par page, (en s’assurant d’attendre la fin d’écriture EEPROM avant de passer à la page suivante).

Le code pourrait être une petite application arduino qui irait lire le fichier binaire en mémoire flash (l'IDE permet de charger des fichiers) puis écrire par blocs successifs dans l’EEPROM en respectant la taille des pages (64 octets je crois pour la CAT24C256).

Mais la question plus fondamentale est pourquoi avez vous besoin de cette EEPROM, pourquoi ne pas simplement utiliser la mémoire flash de votre ESP32 et un système de fichier ou de préférences ?

Bonjour,

Lire la datasheet de ladite EEPROM CAT24C256...

Quant à un outil "tout fait" et sauf erreur de ma part, je crains qu'il n'existe pas

A suivre...

Bonjour,

Merci pour votre réponse!

Je vais convertir le fichier .bin en .c et venir parcourir le tableau d'octets pour les écrire au fur et à mesure dans les registres de l'EEPROM.

Si j'utilise cet EEPROM justement et non la flash de l'ESP32 c'est suivre " à la lettre" les recommandations de configurations du composant nécessitant le patch (un contrôleur de power delivery). Il doit venir chercher la config au démarrage, au moment même ou l'application sur l'ESP32 se lance.

Outil tout fait ?

En entreprise on utilise des programmateurs de mémoires universels (Flash, EEPROM......) qui tiennent compte des spécificités des modèles de mémoire selon leurs marques.
Hors de prix pour un particulier qui n'a qu'un besoin occasionnel

pour garnir l'EEPROM externe 24C256 il serait içi avantageux d'utiliser l'écriture par pages (cf Page Write) , et non l'écriture par octets (Byte Write) plus lente parce qu'il faut alors définir pour chaque octet l'adresse de destination. (une auto-incrémentation de l'adresse au sein d'une page se produit en mode Page Write, voir le protocole dans la Data Sheet)

1 Like