Ponte en Contacto
 Duración 14 horas

Temario del curso

Introducción al Rust embebido

  • Resumen de no_std, core y el ecosistema de Rust embebido.
  • Elección de objetivos y comprensión de las triplas de objetivo.
  • Configuración de rustup, cargo y cadenas de herramientas de objetivo.

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 integración continua para la compilación de firmware de Rust embebido.

Abstracción de hardware y acceso a periféricos

  • Comprensión de los rasgos de embedded-hal y los patrones de conductores.
  • Crate de acceso a periféricos (PAC) y crate de dispositivo (svd2rust).
  • Escritura y uso de conductores HAL y crate de soporte de placa (BSC).

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 de tiempo real.
  • Uso de heap frente a pila, asignadores y evitación de asignación dinámica.

Manejo de errores, pruebas y confiabilidad

  • Patrones de manejo de errores en entornos limitados.
  • Pruebas unitarias en el host frente a pruebas de integración en hardware.
  • Análisis de fallos, registro de eventos y estrategias de análisis posterior.

Rendimiento, energía y optimización de recursos

  • Pruebas de rendimiento, medición 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.

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.
  • Ruta de migración de 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 y tiempos de vida.
  • Experiencia en la escritura de programas de Rust no triviales (nivel intermedio).
  • Familiaridad con conceptos de sistemas embebidos: E/S mapeada en memoria, interrupciones y 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