Ponte en Contacto
 Duración 14 horas

Temario del curso

Introducción al Rust Embebido

  • Visión general de no_std, core y el ecosistema de Rust embebido
  • Elegir un objetivo (target) y comprender las triples de objetivo (target triples)
  • Configuración de rustup, cargo y cadenas de herramientas de objetivo

Herramientas, Compilación y Flujo de Trabajo de Depuración

  • Uso de cargo, cargo-embed, probe-run y flujos de trabajo de OpenOCD
  • Flash y depuración con sondas de hardware (ST-Link, JLink)
  • Consideraciones de CI para la compilación de firmware de Rust embebido

Abstracción de Hardware y Acceso a Periféricos

  • Comprensión de los traits de embedded-hal y patrones de controladores
  • Crates de acceso a periféricos (PACs) y crates de dispositivos (svd2rust)
  • Escritura y uso de controladores HAL y crates de soporte de placa (BSCs)

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 de tiempo real
  • Uso de heap vs. stack, asignadores de memoria y evitación de la asignación dinámica

Gestión de Errores, Pruebas y Confiabilidad

  • Patrones de gestión de errores en entornos limitados
  • Pruebas unitarias en el anfitrión vs. pruebas de integración en hardware
  • Análisis de fallas, registro de eventos (logging) y estrategias de análisis posterior (post-mortem)

Rendimiento, Energía y Optimización de Recursos

  • Pruebas de rendimiento (benchmarking), medición y optimización de rutas críticas
  • Técnicas de reducción del tamaño del código y scripts del vinculador
  • Estrategias de gestión de energía y patrones de diseño de bajo consumo

Implementación, 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 los conceptos centrales de Rust: propiedad (ownership), préstamo (borrowing) y tiempos de vida (lifetimes)
  • Experiencia escribiendo programas de Rust no triviales (Rust intermedio)
  • Familiaridad con conceptos embebidos: E/S mapeada en memoria (memory-mapped I/O), interrupciones, periféricos

Público Objetivo

  • Ingenieros de firmware embebido interesados en adoptar Rust
  • Ingenieros de software con experiencia en Rust que se transicionan a sistemas de bajo nivel
  • Líderes técnicos evaluando Rust para el desarrollo de productos embebidos

Número de participantes


Precio por participante

Reseñas (1)

Próximos cursos

Categorías Relacionadas