Esp32-S3: Rust y ESP-IDF, doble potencia en un chip

Fuentes: Developer combines Rust and ESP-IDF on ESP32-S3 for dual-core functionality

Un desarrollador ha logrado ejecutar código Rust y el framework ESP-IDF de Espressif simultáneamente en los dos núcleos del chip ESP32-S3. Tradicionalmente, uno de los núcleos se mantiene inactivo al usar ESP-IDF, pero este enfoque permite que el núcleo 0 gestione las funciones de Wi-Fi y Bluetooth a través de ESP-IDF, mientras que el núcleo 1 ejecuta código Rust 'bare-metal' (sin sistema operativo) para tareas críticas como procesamiento de audio, donde la latencia es crucial. Esto se logra reservando una región de memoria para el núcleo 1 y utilizando funciones de hardware para activarlo y ejecutar el código Rust directamente, evitando la gestión del planificador de FreeRTOS y garantizando un rendimiento determinista. La técnica implica vincular estáticamente la biblioteca Rust al firmware ESP-IDF y luego usar una rutina de arranque para iniciar el código Rust en el segundo núcleo. Esta solución ofrece lo mejor de ambos mundos: la estabilidad y las características de ESP-IDF para las tareas de conectividad, y la seguridad y eficiencia de Rust para el procesamiento de datos y tareas de tiempo real.