Ponte en Contacto
 Duración 14 horas

Temario del curso

Introducción a Rust para sistemas embebidos

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

Herramientas, compilación y flujo de depuración

  • Uso de cargo, cargo-embed, probe-run y flujos de trabajo con OpenOCD
  • Flashing y depuración con sondas de hardware (ST-Link, JLink)
  • Consideraciones de CI para compilar firmware 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)
  • Escribir y utilizar controladores HAL y crates de soporte de placa (BSCs)

Seguridad de memoria, concurrencia y tiempo real

  • Patrones seguros para el estado compartido y las referencias mutables en interrupciones
  • RTIC y otros modelos de concurrencia para sistemas en tiempo real
  • Uso de pila (stack) frente a montón (heap), asignadores y evitar la asignación dinámica

Manejo de errores, pruebas y confiabilidad

  • Patrones de manejo de errores en entornos con restricciones
  • Pruebas unitarias en el anfitrión frente a pruebas de integración en hardware
  • Análisis de fallos, registro (logging) y estrategias de post-mortem

Rendimiento, energía y optimización de recursos

  • Medición de rendimiento (benchmarks), métricas y optimización de rutas críticas
  • 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 y mejores prácticas del ecosistema

  • Arranque seguro (secure boot), 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, prestamos (borrowing) y tiempos de vida (lifetimes)
  • Experiencia escribiendo programas Rust no triviales (Rust intermedio)
  • Familiaridad con conceptos embebidos: E/S de memoria mapeada (memory-mapped I/O), interrupciones y periféricos

Público objetivo

  • Ingenieros de firmware embebido que buscan adoptar Rust
  • Ingenieros de software con experiencia en Rust que se están trasladando a sistemas de bajo nivel
  • Líderes técnicos que evalúan Rust para el desarrollo de productos embebidos

Número de participantes


Precio por participante

Reseñas (1)

Próximos cursos

Categorías Relacionadas