Ponte en Contacto

Temario del curso

Introducción a Rust para sistemas embebidos

  • Resumen de no_std, core y el ecosistema de Rust para embebidos.
  • Selección de la plataforma objetivo y comprensión de los triples de destino (target triples).
  • Configuración de rustup, cargo y las toolchains de destino.

Tooling, compilación y flujo de trabajo de depuración

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

Abstracción de hardware y acceso a periféricos

  • Comprensión de los rasgos (traits) de embedded-hal y patrones de controladores.
  • Crate de acceso a periféricos (PACs) y crate de dispositivo (svd2rust).
  • Escribir y utilizar controladores HAL y crate de soporte de placa (BSCs).

Seguridad de memoria, concurrencia y tiempo real

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

Manejo de errores, pruebas y confiabilidad

  • Patrones de manejo de errores en entornos restringidos.
  • Pruebas unitarias en el host frente a pruebas de integración en el hardware.
  • Análisis de fallas, registro (logging) y estrategias de posmortem.

Rendimiento, energía y optimización de recursos

  • Medición de rendimiento (benchmarking), métricas y optimización de rutas críticas.
  • Técnicas de reducción del tamaño del código y scripts del enlazador (linker scripts).
  • 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 siguientes 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 (nivel intermedio en Rust).
  • Familiaridad con conceptos de embebidos: E/S mapeada en memoria, interrupciones y periféricos.

Público objetivo

  • Ingenieros de firmware embebido que desean 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.
 14 Horas

Número de participantes


Precio por participante

Reseñas (1)

Próximos cursos

Categorías Relacionadas