Contacta con nosotros

Temario del curso

Inicio con Rust para Sistemas Embarcados

  • Visión general del ecosistema de Rust embebido, no_std y core.
  • Elección del objetivo (target) y comprensión de las triples de destino.
  • Configuración de rustup, cargo y toolchains para el objetivo seleccionado.

Herramientas, Construcción y Flujo de Trabajo de Depuración

  • Uso de flujos de trabajo con cargo, cargo-embed, probe-run y OpenOCD.
  • Programación y depuración con sondas de hardware (ST-Link, JLink).
  • Consideraciones de CI para 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 drivers.
  • Crate de acceso a periféricos (PACs) y device crates (svd2rust).
  • Escribir y utilizar drivers HAL y crate de soporte de placa (BSC).

Seguridad en 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 pila vs. heap, allocators y evitación de asignación dinámica.

Manejo de Errores, Pruebas y Fiabilidad

  • Patrones de manejo de errores en entornos restringidos.
  • Pruebas unitarias en 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

  • Realización de benchmarking, medición y optimización de rutas críticas.
  • Técnicas de reducción del tamaño del código y scripts de enlace (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 sobre la cadena de suministro y gestión de dependencias.
  • Ruta para migrar firmware C a Rust y recursos de la comunidad.

Resumen y Próximos Pasos

Requerimientos

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

Audiencia Objetivo

  • Ingenieros de firmware embebido que desean adoptar Rust.
  • Desarrolladores de software con experiencia en Rust que buscan transicionar 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