Contacta con nosotros

Temario del curso

Inicio con Rust embebido

  • Visión general del ecosistema de Rust embebido, no_std y core.
  • Elección de un objetivo y comprensión de las triples de objetivo (target triples).
  • Configuración de rustup, cargo y conjuntos de herramientas específicos para el objetivo.

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

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

Abstracción de hardware y acceso a periféricos

  • Comprensión de los rasgos (traits) de embedded-hal y patrones de controladores.
  • Cajas de acceso a periféricos (PACs) y cajas de dispositivo (svd2rust).
  • Escribir y utilizar controladores HAL y cajas de soporte de placa (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 en tiempo real.
  • Uso de heap vs. stack, asignadores (allocators) y evitar la asignación dinámica.

Gestión de errores, pruebas y fiabilidad

  • Patrones de gestión de errores en entornos restringidos.
  • 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, energía y optimización de recursos

  • Evaluación del rendimiento, medición y optimización de las 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, firma de firmware y estrategias de actualización.
  • Consideraciones sobre la cadena de suministro y gestión de dependencias.
  • Ruta para migrar firmware de C a Rust y recursos de la comunidad.

Resumen y próximos pasos

Requerimientos

  • Comprensión de los conceptos básicos de Rust: propiedad (ownership), préstamo (borrowing) y duraciones (lifetimes).
  • Experiencia en la escritura de programas Rust no triviales (nivel intermedio de Rust).
  • Conocimiento de conceptos embebidos: E/S mapeada en memoria (memory-mapped I/O), 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