Me gustaría construir un dispositivo de puerta de enlace que use el ESP32. Esto debería conectarse al puerto ModBus TCP de un sensor. Para este propósito, me gustaría usar la implementación Modbus Rust, que ya existe. Pero hay muy poca información sobre cómo podría ejecutar el código Rust en el ESP32.
¿Alguien puede arrojar algo de luz sobre este tema?
Respuestas:
Rust utiliza la cadena de herramientas LLVM , que es un conjunto de programas que se utiliza para compilar la representación intermedia (IR) de LLVM en código específico de la plataforma. El proceso funciona un poco así:
Actualmente, no hay backend para la arquitectura Xtensa utilizada por ESP32. Esto, desafortunadamente, significa que no puede compilar el código Rust para el ESP32 . Dijo instalar en su pregunta, pero supongo que no quiso decir eso, sino que desea ejecutar el código Rust en el ESP32, no instalar el compilador Rust allí.
Si realmente está desesperado por usar Rust, podría, en teoría, usar el backend LLVM C , que convierte LLVM IR -> C, y luego usar la cadena de herramientas proporcionada por Espressif para compilar el código de máquina ESP32. Sin embargo, esto será difícil y podría no funcionar en absoluto. Le resultará mucho más fácil morder la bala y usar C en este caso, lo cual es una pena, porque Rust es un gran lenguaje, pero su soporte integrado no es tan bueno como el de C en este momento.
fuente
Xtensa acaba de lanzar un back-end oficial ESP32 / Espressif LLVM y un front-clang. Vea su anuncio aquí: https://esp32.com/viewtopic.php?p=38466 Repos: https://github.com/espressif/llvm-xtensa & https://github.com/espressif/clang-xtensa As Rust se basa en LLVM, este nuevo backend ESP32 LLVM debería ayudar a hacer más probable el soporte de Rust para ESP32. El anuncio incluso sugiere este futuro soporte de Rust.
fuente
Como dijo Aurora0001, no puede ejecutar Rust en un ESP32 actualmente (o el ESP8266 más antiguo).
Hay un chip muy similar, el RTL8710, que se recomienda para usar en situaciones en las que usaría un ESP32, pero quiere usar Rust.
Aquí hay un sitio web donde alguien recorre su configuración.
fuente