Esp32 eeprom
Par défaut, les puces des séries ESP32/ESP32-S/ESP32-C utilisent une flash NOR pour stocker et accéder au code et aux données des utilisateurs. La flash peut être intégrée au module ou à la puce et est généralement de 4 Mo, 8 Mo ou 16 Mo. Pour les versions ESP-IDF v4.0 et ultérieures, le composant flash SPI prend non seulement en charge les opérations de lecture et d’écriture sur la flash principale, mais peut également se connecter à une autre flash externe pour le stockage des données.
La flash peut être partitionnée à l’aide de la table de partition. En fonction des fonctions de la table de partition, la flash peut non seulement être utilisée pour stocker le code binaire généré par les utilisateurs, mais elle peut également servir de mémoire non volatile (NVS) pour stocker les paramètres de programmation des applications. En outre, des zones spécifiques de la flash peuvent être montées sur un système de fichiers (par exemple, FatFS) pour stocker du texte, des images et d’autres fichiers.
La puce flash prend en charge les modes de fonctionnement à 2 lignes (DOUT/DIO) et à 4 lignes (QOUT/QIO) et peut être configurée pour fonctionner en mode 40 MHz ou 80 MHz. Étant donné que la puce flash principale peut être utilisée directement pour le stockage de données sans nécessiter de puces mémoire supplémentaires, elle est particulièrement adaptée aux applications sensibles au coût ayant des exigences de faible capacité (Mo) et des besoins d’intégration élevés.
Taille maximale de la carte sd Esp32
Le composant spi_flash contient des fonctions API liées à la lecture, l’écriture, l’effacement, le mappage de la mémoire pour les données dans le flash externe. Le composant spi_flash possède également des fonctions API de plus haut niveau qui fonctionnent avec les partitions définies dans la table de partition.
Contrairement à l’API avant IDF v4.0, la fonctionnalité des API esp_flash_* n’est pas limitée à la puce flash SPI “principale” (la même puce flash SPI à partir de laquelle le programme s’exécute). Avec différents pointeurs de puce, vous pouvez accéder à des puces flash externes connectées non seulement à SPI0/1 mais aussi à d’autres bus SPI comme SPI2.
Au lieu de passer par le cache connecté au périphérique SPI0, la plupart des API esp_flash_* passent par d’autres périphériques SPI comme SPI1, SPI2, etc. Cela leur permet d’accéder non seulement à la flash principale, mais aussi à la flash externe.
Cependant, en raison des limitations du cache, les opérations à travers le cache sont limitées à la flash principale. La limitation de la plage d’adresses pour ces opérations se trouve également du côté du cache. Le cache n’est pas en mesure d’accéder aux puces flash externes ou à une plage d’adresses supérieure à ses capacités. Ces opérations de cache comprennent : mmap, lecture/écriture cryptée, exécution de code ou accès à des variables dans la flash.
La carte sd Esp32 ne fonctionne pas
Je voudrais stocker plusieurs versions de firmware sur une carte SD et sélectionner une version à charger et à redémarrer. J’ai regardé avr_boot, mais je crois que c’est seulement pour les microcontrôleurs ATMega. Y a-t-il un endroit où je peux commencer à chercher pour l’ESP32 et l’ESP8266 ?
L’ESP8266 (je ne connais pas l’ESP32) charge normalement son logiciel à partir d’une mémoire Flash externe. Cette mémoire est intégrée aux modules – par exemple, l’ESP-01 est normalement livré avec une puce Flash de 512 kB, l’ESP-12 avec une puce Flash de 4 MB. Il communique avec cette puce en utilisant SPI sur GPIO6-11, qui pour certains modules (comme l’ESP12E) ont été séparés.
Sachant qu’une carte SD utilise également le SPI, il est possible (du moins en théorie) de faire en sorte que l’ESP lise son logiciel sur la carte SD plutôt que sur une puce Flash externe. Cependant, cela ne vous permettra pas de choisir le programme à exécuter, et ce sera beaucoup plus lent qu’une puce Flash ordinaire. Vous devrez concevoir votre propre circuit imprimé avec la puce ESP8266 (donc construire votre propre module ESP !), si cela peut fonctionner.
Taille de la mémoire flash Esp32
En raison des différences dans le matériel embarqué, il est nécessaire d’ajouter la ligne suivante au fichier makefile de l’application pour utiliser la configuration correspondante pour Olimex ESP32-GATEWAY : USEMODULE += olimex_esp32_gateway
Le tableau suivant montre la configuration par défaut de la carte, qui est triée en fonction de la fonctionnalité définie des GPIOs. Cette configuration peut être remplacée par des configurations spécifiques à l’application.
Les images suivantes montrent le brochage des cartes Olimex ESP32-EVB et Olimex ESP32-GATEWAY tel que défini par la configuration par défaut de la carte. Les GPIO vert clair ne sont pas utilisés par les composants matériels embarqués configurés et peuvent être utilisés à n’importe quelle fin. Cependant, si des modules matériels optionnels hors carte sont utilisés, ces GPIOs peuvent également être occupés, voir la section Configuration de la carte pour plus d’informations.
Flashing RIOT est assez facile. La carte possède un connecteur Micro-USB avec une logique de reset/boot/flash. Connectez simplement la carte à votre ordinateur et tapez sur le port de programmation : make flash BOARD=esp32-olimex-evb …