Temario del curso

Empezando con Rust Incrustado

  • Visión general de no_std, core y el ecosistema de Rust incrustado
  • Elección de un objetivo y comprensión de los triples de destino
  • Configuración de rustup, cargo y toolchains de destino

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

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

Abstracción de Hardware y Acceso a Periféricos

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

Seguridad en Memoria, Concurrencia & Tiempo Real

  • Patrones seguros para estado compartido y referencias mutables en interrupciones
  • RTIC y otros modelos de concurrencia para sistemas en tiempo real
  • Uso del heap vs. stack, allocators y evitando la asignación dinámica

Manejo de Errores, Pruebas & Fiabilidad

  • Patrones de manejo de errores en entornos restringidos
  • Pruebas unitarias en el host vs. pruebas de integración en hardware
  • Análisis de fallas, registro y estrategias post-mortem

Rendimiento, Potencia & Optimización de Recursos

  • Benchmarking, medición y optimización de caminos críticos
  • Técnicas de reducción del tamaño del código y scripts de enlazador
  • Estrategias de gestión de energía y patrones de diseño de bajo consumo

Despliegue, Seguridad & Mejores Prácticas del Ecosistema

  • Arranque seguro, firma de firmware y estrategias de actualización
  • Consideraciones sobre la cadena de suministro y gestión de dependencias
  • Hoja de ruta para migrar firmware en C a Rust y recursos de la comunidad

Resumen y Próximos Pasos

Requerimientos

  • Una comprensión de los conceptos fundamentales de Rust: propiedad, préstamo, tiempos de vida
  • Experiencia escribiendo programas no triviales en Rust (Rust intermedio)
  • Familiaridad con conceptos embebidos: E/S mapeada a memoria, interrupciones, periféricos

Audiencia

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

Número de participantes


Precio por Participante​

Testimonios (5)

Próximos cursos

Categorías Relacionadas