Broches inutilisables sur ESP32wroom

Bonjour,

j'ai cherché pendant plusieurs heures à résoudre le problème suivant sur un ESP32wroom:

un reset provoqué lors du démarrage et à l'infini

23:56:57.720 -> ets Jul 29 2019 12:21:46
23:56:57.720 -> 
23:56:57.720 -> rst:0x8 (TG1WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
23:56:57.720 -> configsip: 0, SPIWP:0xee
23:56:57.720 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
23:56:57.752 -> mode:DIO, clock div:1
23:56:57.752 -> load:0x3fff0030,len:4916
23:56:57.752 -> load:0x40078000,len:16492
23:56:57.752 -> load:0x40080400,len:4
23:56:57.752 -> load:0x40080404,len:3524
23:56:57.752 -> entry 0x400805b8

C'est finalement grâce à cette page - merci en passant! - que j'ai pu comprendre et résoudre: Il y des broches qui ne doivent être appelées au démarrage .... et elles sont nombreuses. Je me doutais de GIPO-00 ET GPIO-02, mais là ... c'est la forêt des broches inutilisables.

Voici que j'ai marqué des points de couleur (vert, jaune, rouge) chacune des broches de mon ESP32wroom pour aider quiconque rencontrerait le même souci.

Question: les broches marquées en rouge pourront-elles être utilisées hors de la section setup() ?
Si non ... pourquoi les qualifier de GPIO et ne pas simplement sauter leur tour lorsque vient de la numérotation ?
Si oui .... sous quelle(s) condition(s) ?

Merci.

le terme GPIO concerne à la base le micro-controlleur ESP32

Les GPIO (de 6 à 11 sont déjà utilisés pour relier , dans le module WROOM-32 sous capot métallique , le circuit intégré ESP32 à sa mémoire Flash Externe)

Deux GPIO (1 et 3) sont déjà utilisés pour relier , sur la carte, le module WROOM-32 au circuit intégré CP2102 d'interface

ON n'accède pas à un ESP32 nu et ses GPIOs, mais à un ESP32 déjà bien entouré de composants, soit dans le module WROOM-32, soit sur la carte utilisant ce module.
USB

On peut effectivement se demander pourquoi certains fabricants de cartes XYZ sortent des GPIOs déjà utilisés pour accéder à d'autres composants, il suffit de donner accès aux seuls GPIO restant disponibles.

Tu as cité une page du site Last Minute Enginners.
Sur ce Forum une autre page est souvent mentionnée pour faire le tour des contraintes de GPIO pour les ESP32 :
https://randomnerdtutorials.com/esp32-pinout-reference-gpios/

Ne pas utilser les GPIO 6 à 11 pour ne pas perturber les échanges entre le micro-contrôleur et sa mémoire Flash

Attention au GPIO0 : s'il est à l'état bas lors de la mise sous tension ou d'un Reset l'ESP32 n'exécute pas le programme téléversé mais démarre en mode Programmation, son bootloader s'active.
Après le Reset il est entièrement utilisable.

J'éprouve des difficultés semblables, sans trop de surprise avec la broche TOUCH2 (GPIO02),

Voici, suite à ces informations de al1fch, une mise à jour du mappage de ESP32-Wroom

Espérant que ce vous sera utile.

Bonjour @Patriboom

Si le fabricant de ta carte a choisi le GPIO2 (c'est parfois le cas) pour activer une LED , ce GPIO2 perd certaines fonctionnalités (très probablement aussi l'ADC) en raison de le led et de la résistance de pull-up ou de pull-down associée.

C'est certainement le cas; j'enlèverai donc aussi l'ADC12 du schéma. Merci.

Elles sont sorties pour, je crois, pouvoir ajouter une PSRAM externe.

en effet.
La preuve : dans les modules ESP32-WROVER la FLASH et la PSRAM sont bien sur le même bus SPI

Oui, c'était bien expliqué par al1fch

Essayez-vous de me dire que je devrais aussi effacer les rectangles colorés en marine ?
Je les avais laissés afin de rendre clair que ces broches sont dédiées à la mémoire flash.
J'ai aussi retiré la couleur autour des descriptifs GPIO désignés afin de garder la trace de leur identité et - sans couleur - indiquer qu'elles ne sont pas diisponibles.

Spi pour ESP32

pas moi !

Ce n'est pas le cas , elles peuvent te servir , si elles te conviennent, pour exploiter un bus SPI totalement disponible (l'ESP32 contient 4 modules de bus SPI)
Il est même probable (je n'ai pas vérifié, '(je 'nutilise pas de grande carte de ce format 'Devkit') qu'elles correspondent au choix par défaut pour le SPI pour ta carte dans l'IDE

Oui, j'exploite le bus SPI sur une autre carte, ça c'est en bleu électrique.
Le bleu marine était utilisé pour les broches « Flash »; peut-être aurais-je dû parler de « bleu nuit » pour simplifier. Ce sont, en effet, les broches dont vous parliez ci-haut, celles utilisées pour la mémoire flash; elles portent cette mention - quel beau hasard! Je les ai donc mises en blanc.

Mon exploitation du bus SPI n'est pas fameuse, mon set de 5 écrans MAX72 ne fonctionne pas bien. C'est une autre histoire; peut-être simplement des soudures mal faites.

--- Fin de l'apartée ---

J'ai pris ma carte sur eBay; elle est décrite comme étant « ESP32-DevKitC », ce qui écrit sur la carte elle-même: « ESP32-DevKitC_V4 » J'ignorais qu'il y avait de nombreuses versions du ESP32wroom, croyant plutôt qu'en disant « wroom » on parlait d'un modèle bien précis. Ce que j'ai remarqué, dans les images du net, c'est que ces images ne montrent pas la prise d'antenne que comporte ma carte. Sur ma carte, le boîtier métallique n'est pas carrée (donc pas comme ceci), mais un petit carré lui a été subtilisé dans un coin afin de faire place à une prise d'antenne (comme ceci).

C'est bon de vous avoir au forum, j'apprends à chaque fois que le visite.

Merci.

Bonne journée.

C'est pas vraiment ce qui est dit dans la doc

ESP32-WROOM-32 (ESP-WROOM-32) integrates 4 MB of external SPI flash. The 4-MB SPI flash can be memory mapped onto the CPU code space, supporting 8, 16 and 32-bit access. Code execution is supported. The integrated SPI flash is connected to GPIO6, GPIO7, GPIO8, GPIO9, GPIO10 and GPIO11. These six pins cannot be used as regular GPIO.

Une liaison externe a toute les chances de "planter le bus"