Gracias por enviar su consulta! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Gracias por enviar su reserva! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Temario del curso
Inicio con Rust para sistemas embebidos
- Visión general del ecosistema de Rust para sistemas embebidos: no_std, core y demás.
- Elección de un objetivo (target) y comprensión de las triples de destino.
- Configuración de rustup, cargo y toolchains de destino.
Flujo de trabajo de herramientas, compilación y depuración
- Uso de cargo, cargo-embed, probe-run y OpenOCD.
- Grabación y depuración con sondas de hardware (ST-Link, JLink).
- Consideraciones de CI para compilar firmware embebido con Rust.
Abstracción de hardware y acceso a periféricos
- Comprensión de los traits de embedded-hal y patrones de controladores.
- Cajas de acceso a periféricos (PAC) y cajas de dispositivo (svd2rust).
- Escritura y uso de controladores HAL y cajas de soporte de placa (BSC).
Seguridad de memoria, concurrencia y tiempo real
- Patrones seguros para estado compartido y referencias mutables en interrupciones.
- RTIC y otros modelos de concurrencia para sistemas en tiempo real.
- Uso de heap vs. stack, asignadores y evitar la asignación dinámica.
Manejo de errores, pruebas y confiabilidad
- Patrones de manejo de errores en entornos restringidos.
- Pruebas unitarias en el host frente a pruebas de integración en hardware.
- Análisis de fallos, registro de eventos y estrategias post-mortem.
Desempeño, energía y optimización de recursos
- Análisis de rendimiento, medición y optimización de rutas críticas.
- Técnicas de reducción de tamaño del código y scripts de enlace.
- Estrategias de gestión de energía y patrones de diseño para bajo consumo.
Despliegue, seguridad y mejores prácticas del ecosistema
- Arranque seguro, firma de firmware y estrategias de actualización.
- Consideraciones de la cadena de suministro y gestión de dependencias.
- Hoja de ruta para migrar firmware de C a Rust y recursos de la comunidad.
Resumen y próximos pasos
Requerimientos
- Comprensión de conceptos básicos de Rust: propiedad, préstamo y ciclos de vida.
- Experiencia programando en Rust en proyectos no triviales (nivel intermedio).
- Conocimiento de conceptos de sistemas embebidos: E/S mapeada en memoria, interrupciones y periféricos.
Público objetivo
- Ingenieros de firmware embebido que buscan adoptar Rust.
- Engenieros de software con experiencia en Rust que desean transicionar a sistemas de bajo nivel.
- Líderes técnicos que evalúan Rust para el desarrollo de productos embebidos.
14 Horas
Testimonios (1)
Ser capaz de solicitar temas avanzados incluso si no estaban planificados inicialmente.
Gabriel Chouinard - Spark Microsystems
Curso - FreeRTOS: Programming for Real Time Operating Systems
Traducción Automática