Divide y conquistaras.
Tareas de alto nivel:
- Obtenga el archivo de firmware y guárdelo en el sistema de archivos flash ESP.
- Coloque STM en modo de actualización de firmware.
- Enviar firmware de ESP a STM.
- Salga de actualizar / restablecer STM.
Necesitará una comprensión de lo siguiente:
- ¿Qué es "más que Moore"?
- Cómo atraer ingenieros electrotécnicos para una empresa de 3 personas, pero que no están llenos de emprendimiento y startup BS
- Sistemas integrados: ¿Por qué la configuración de los pines GPIO cambia entre placas EVM de desarrollo y placas personalizadas?
- ¿Sigma Solutions en Hyderabad es la mejor opción para aprender sistemas integrados?
- ¿Cuál es la diferencia entre la robótica hobby y la robótica real?
- Todos los detalles de la actualización del firmware.
- Cómo invocar el modo de actualización.
- En qué medios de comunicación (i2c, SPI, UART, etc.) el STM espera recibir datos de archivos de actualización. (Probablemente sea seguro asumir que lo espera sobre UART, ya que el método habitual de actualizarlo seguramente de PC a STM).
- Qué protocolo de transferencia espera el STM.
- Transferencia de datos a / desde ESP
- He escrito el código NodeMCU / Lua que es capaz de descargar archivos de la web usando HTTP y recibir archivos a través de WiFi, enviados (usando un archivo javascript que escribí) desde una PC de escritorio. El único límite de tamaño es el espacio disponible.
- Enviar datos de archivos a través de UART no es difícil, [en este caso] siempre que sepa lo que espera el STM.
El escenario que imaginé es: ESP está conectado a WiFi y está configurado con URL para determinar si la actualización está disponible y para adquirirla. Luego, bajo un conjunto de condiciones, inicia y completa el proceso de actualización. Dado que ambos dispositivos comparten una tierra, solo se necesitan dos cables (a menos que STM utilice control de flujo, en cuyo caso, cuatro cables) sin incluir la alimentación.
Nunca he visto un STM32 pero son lo suficientemente baratos y se ven bastante interesantes. He trabajado mucho con ESP8266.
¿Estás interesado en colaborar? Podríamos crear un proyecto en GitHub, obtendrá todos los detalles de la actualización y le proporcionaré el código base de NodeMCU y podrá ajustarlo a sus necesidades. Envíame un PM si te interesa.