Contacta con nosotros

Temario del curso

Inicio con Rust Embebido

  • Vista general del ecosistema no_std, core y Rust embebido.
  • Selección de un objetivo (target) y comprensión de las triples de destino.
  • Configuración de rustup, cargo y cadenas de herramientas para objetivos específicos.

Cadena de Herramientas, Compilación y Flujo de Trabajo de Depuración

  • Uso de workflows con cargo, cargo-embed, probe-run y OpenOCD.
  • Grabación y depuración con sondas de hardware (ST-Link, JLink).
  • Consideraciones para CI en la construcción de firmware Rust embebido.

Abstracción de Hardware y Acceso a Periféricos

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

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 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 frente a pruebas de integración en hardware.
  • Análisis de fallos, registro de eventos (logging) y estrategias post-mortem.

Rendimiento, Consumo Energético y Optimización de Recursos

  • Medición de rendimiento, benchmarking y optimización de rutas críticas.
  • Técnicas de reducción del tamaño del código y scripts del vinculador (linker scripts).
  • Estrategias de gestión energética 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 sobre la cadena de suministro y gestión de dependencias.
  • Ruta de migración de firmware en C a Rust y recursos comunitarios.

Resumen y Próximos Pasos

Requerimientos

  • Comprensión de los conceptos básicos de Rust: propiedad, préstamo y duraciones (lifetimes).
  • Experiencia escribiendo programas no triviales en Rust (Rust intermedio).
  • Familiaridad con conceptos embebidos: E/S 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 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