Ponte en Contacto

Temario del curso

Introducción a Rust Empotrado

  • Vista general de no_std, core y el ecosistema de Rust embebido.
  • Elección de la arquitectura objetivo y comprensión de los triples de objetivo (target triples).
  • Configuración de rustup, cargo y las cadenas de herramientas (toolchains) del objetivo.

Herramientas, Compilación y Flujo de Depuración

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

Abstracción de Hardware y Acceso a Periféricos

  • Comprensión de los rasgos (traits) de embedded-hal y patrones de controladores (drivers).
  • Crates de acceso a periféricos (PACs) y crates de dispositivo (svd2rust).
  • Escripción y uso de controladores HAL y crates de soporte de placa (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 pila (heap) vs. pila (stack), asignadores (allocators) y cómo evitar la asignación dinámica.

Manejo de Errores, Pruebas y Confiabilidad

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

Rendimiento, Energía y Optimización de Recursos

  • Pruebas de rendimiento (benchmarking), medición y optimización de rutas críticas (hot paths).
  • 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 Próximos Pasos

Requerimientos

  • Comprensión de los conceptos centrales de Rust: propiedad (ownership), préstamo (borrowing) y tiempos de vida (lifetimes).
  • Experiencia escribiendo programas de Rust no triviales (nivel intermedio en Rust).
  • Familiaridad con conceptos embebidos: E/S de memoria mapeada, interrupciones y periféricos.

Público Objetivo

  • Ingenieros de firmware embebido interesados en adoptar Rust.
  • Ingenieros de software con experiencia en Rust que estén transitando hacia sistemas de bajo nivel.
  • Líderes técnicos evaluando 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