Problema de tiempo de espera de flash ESP8266 FTDI

Actualmente estoy diseñando una placa basada en esp8266 para un proyecto. Tiene un LM317 para la regulación de voltaje y el esp8266 se usa para controlar un lector de tarjetas RFID (esas placas de lectores RC522 de China) y algunos LED direccionables (WS2812). También tomé un diseño de antena de la documentación de Texas Instruments ( antena AN043 ) que se usa en la mayoría de los diseños de esp8266 que he visto hasta ahora.

esquema de mi diseño

Por lo tanto, hice una PCB y la pedí ya ensamblada de jlc pcb hace un par de semanas. Tiene un diseño un poco extraño, pero es a propósito.

pcb del diseño

Cuando recibí el pcb pedí un FTDI de Amazon ( FT232 ) e intenté programar el esp8266. Lo primero que aprendí es que conecté el pin incorrecto al encabezado de reinicio (facepalm). Omití este problema desenchufándolo para restablecerlo. Entonces, conecté el GPIO0 a GND, lo restablecí e intenté flashearlo con Arduino: Intentando conectar: ​​Error de tiempo de espera. Probé una configuración diferente, una velocidad de transmisión diferente: el mismo resultado. Triple revisó mi cableado y parecía estar bien.

Cuando reinicio, mi esp8266 envía caracteres basura. Leí en línea que era algo común, así que no sé si debo preocuparme por eso. También intenté enviar el comando AT con el monitor serie Arduino, pero no hubo respuesta (AT y AT+RST con el mismo resultado).

Después de esto, probé con mi terminal y esptool para obtener más información sobre mi problema. Así que ejecuté "python esptool.py -p COM3 --trace -b 115200 read_mac" y obtuve el mismo error y registros no muy interesantes.

solo este bucle de inicio de sesión como podría esperarlo:

_TRACE +0.051 command op=0x08 data len=36 wait_response=1 timeout=0.100 data=
    0707122055555555 5555555555555555 | ... UUUUUUUUUUUU
    5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
    55555555                          | UUUU
TRACE +0.001 Write 46 bytes:
    c000082400000000 0007071220555555 | ...$........ UUU
    5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
    5555555555555555 5555555555c0     | UUUUUUUUUUUUU.
TRACE +0.101 Timed out waiting for packet header

Dado que esp8266 da una respuesta absolutamente nula, excepto el código basura al inicio, parece que el problema es de hardware y proviene de la propia placa esp (no del ftdi).

Espero que alguien pueda ayudarme. Gracias de antemano por sus ideas.

falta la memoria flash externa requerida para esp8266 en su diseño
Gracias por su respuesta. ¿Es absolutamente necesario el flash para arrancar y flashear esp8266? ¿Para qué se necesita? ¿El programa no está flasheado en el propio esp?

Respuestas (1)

Falta la memoria flash externa requerida para esp8266 en su diseño. ESP8266 no tiene flash interno. Ejecuta el código desde el flash externo.

Lea la documentación disponible en el sitio de Espressif.

De la hoja de datos:

No hay ROM programable en el SoC. Por lo tanto, el programa de usuario debe almacenarse en una memoria flash SPI externa.

ESP8266EX utiliza flash SPI externo para almacenar programas de usuario y, teóricamente, admite una capacidad de memoria de hasta 16 MB.