Ponte en Contacto
 Duración 14 horas

Temario del curso

Introducción a Rust para embebidos

  • Visión general del ecosistema de Rust para embebidos, no_std y core
  • Elegir un objetivo (target) y comprender los tripletes de objetivo
  • Configuración de rustup, cargo y cadenas de herramientas del objetivo

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

  • Uso de flujos de trabajo de cargo, cargo-embed, probe-run y OpenOCD
  • Programación (flashing) y depuración con sondas de hardware (ST-Link, JLink)
  • Consideraciones de integración continua (CI) para compilar 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
  • Paquetes de acceso a periféricos (PACs) y paquetes de dispositivos (svd2rust)
  • Escritura y uso de controladores HAL y paquetes 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 heap frente a stack, asignadores (allocators) y evitar la asignación dinámica

Gestión 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 fallas, registro de eventos (logging) y estrategias de análisis post-mortem

Rendimiento, potencia y optimización de recursos

  • Pruebas de rendimiento (benchmarking), medición y optimización de rutas críticas
  • Técnicas de reducción del tamaño de código y scripts del enlazador (linker)
  • 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 la migración de 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éstamos (borrowing) y tiempos de vida (lifetimes)
  • Experiencia escribiendo programas de Rust no triviales (nivel intermedio de Rust)
  • Familiaridad con conceptos de embebidos: E/S mapeada en memoria, interrupciones, periféricos

Público objetivo

  • Ingenieros de firmware embebido que deseen adoptar Rust
  • Ingenieros de software con experiencia en Rust que estén transitando hacia sistemas de bajo nivel
  • Líderes técnicos que evalúen Rust para el desarrollo de productos embebidos

Número de participantes


Precio por participante

Reseñas (1)

Próximos cursos

Categorías Relacionadas