Contacta con nosotros

Temario del curso

Comenzando con Rust embebido

  • Visión general del ecosistema Rust embebido, core y no_std.
  • Elegir un objetivo (target) y comprender los triples de destino.
  • Configurar rustup, cargo y las cadenas de herramientas de destino.

Flujo de trabajo de herramientas, construcción y depuración

  • Uso de los flujos de trabajo de cargo, cargo-embed, probe-run y OpenOCD.
  • Grabación y depuración con sondas de hardware (ST-Link, JLink).
  • Consideraciones de CI (Integración Continua) para construir firmware de Rust embebido.

Abstracción de hardware y acceso a periféricos

  • Comprensión de los traits de embedded-hal y patrones de controladores (drivers).
  • Cajas de acceso a periféricos (PACs) y cajas de dispositivos (svd2rust).
  • Escribir y utilizar controladores HAL y cajas de soporte para placas (BSCs).

Seguridad de la memoria, concurrencia y tiempo real

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

Manejo de errores, pruebas y confiabilidad

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

Optimización de rendimiento, energía y recursos

  • Métricas de rendimiento, medición y optimización de caminos críticos.
  • Técnicas de reducción del tamaño del código y scripts del vinculador (linker scripts).
  • 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 del firmware y estrategias de actualización.
  • Consideraciones de la cadena de suministro y gestión de dependencias.
  • Hoja de ruta para migrar el firmware de C a Rust y recursos de la comunidad.

Resumen y siguientes pasos

Requerimientos

  • Comprensión de los conceptos centrales de Rust: propiedad, préstamos y duraciones (lifetimes).
  • Experiencia escribiendo programas de Rust no triviales (Rust intermedio).
  • Familiaridad con conceptos embebidos: E/O mapeado 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 hacia 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 (2)

Próximos cursos

Categorías Relacionadas