Ponte en Contacto
 Duración 14 horas

Temario del curso

Introducción a Rust en Sistemas Embebidos

  • Resumen del ecosistema de no_std, core y Rust embebido
  • Elegir un objetivo (target) y comprender las tripletes de objetivos
  • Configurar rustup, cargo y las cadenas de herramientas de objetivos

Herramientas, Compilación y Flujo de Depuración

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

Abstracción de Hardware y Acceso a Periféricos

  • Comprensión de los rasgos (traits) de embedded-hal y patrones de controladores
  • Paquetes de acceso a periféricos (PAC) y paquetes de dispositivos (svd2rust)
  • Escritura y uso de controladores HAL y paquetes 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. pila, 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 host vs. pruebas de integración en el hardware
  • Análisis de fallas, registro de eventos y estrategias posmortem

Rendimiento, Energía y Optimización de Recursos

  • Medición de rendimiento, medición y optimización de caminos críticos (hot paths)
  • 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

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 los conceptos fundamentales de Rust: propiedad, préstamos (borrowing) y tiempos de vida (lifetimes).
  • Experiencia escribiendo programas de Rust no triviales (Rust a nivel intermedio).
  • Conocimiento de conceptos de embebidos: E/S mapeada en memoria, interrupciones, periféricos.

Público objetivo

  • Ingenieros de firmware embebido que buscan adoptar Rust.
  • Ingenieros de software con experiencia en Rust que transicionan 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