Contacta con nosotros

Temario del curso

Inicio con Rust para sistemas embebidos

  • Resumen del ecosistema Rust embebido: no_std, core y otras librerías.
  • Elegir una plataforma destino y comprender los triples de destino.
  • Configuración de rustup, cargo y las cadenas de herramientas correspondientes.

Flujos de trabajo de herramientas, compilación y depuración

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

Abstracción de hardware y acceso a periféricos

  • Comprensión de los rasgos embedded-hal y patrones de controladores.
  • Cajas de acceso a periféricos (PAC) y cajas de dispositivo (svd2rust).
  • Escribir y utilizar controladores HAL y cajas de soporte para placas (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 y evitación de la asignación dinámica.

Manejo de errores, pruebas y confiabilidad

  • Patrones de manejo de errores en entornos con recursos limitados.
  • Pruebas unitarias en el host vs. pruebas de integración en hardware.
  • Análisis de fallos, registro (logging) y estrategias post-mortem.

Optimización de rendimiento, energía y recursos

  • Realización de benchmarks, medición y optimización de rutas críticas.
  • Técnicas de reducción del tamaño del código y scripts del enlazador (linker).
  • 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 en 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 ciclos de vida (lifetimes).
  • Experiencia escribiendo programas no triviales en Rust (nivel intermedio).
  • Familiaridad con conceptos de embebido: E/S mapeada a memoria, interrupciones y periféricos.

Audiencia objetivo

  • Ingenieros de firmware embebido que buscan adoptar Rust.
  • Desarrolladores 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

Número de participantes


Precio por participante

Testimonios (1)

Próximos cursos

Categorías Relacionadas