Gracias por enviar su consulta! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Gracias por enviar su reserva! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Duración 14 horas
Temario del curso
Introducción al Rust embebido
- Vista general de no_std, core y el ecosistema de Rust embebido.
- Selección de la plataforma objetivo y comprensión de las tuplas de destino (target triples).
- Configuración de rustup, cargo y las cadenas de herramientas del destino.
Herramientas, compilación y flujo de trabajo de depuración
- Uso de flujos de trabajo con cargo, cargo-embed, probe-run y OpenOCD.
- Flash y depuración con sondas de hardware (ST-Link, JLink).
- Consideraciones de CI para la compilación de firmware embebido en Rust.
Abstracción de hardware y acceso a periféricos
- Comprensión de los traits de embedded-hal y patrones de controladores (drivers).
- Crate de acceso a periféricos (PACs) y crate de dispositivos (svd2rust).
- Escritura y uso de controladores HAL y crate de soporte de placa (BSCs).
Seguridad de memoria, concurrencia y tiempo real
- Patrones seguros para el estado compartido y referencias mutables en interrupciones.
- RTIC y otros modelos de concurrencia para sistemas de tiempo real.
- Uso de pila (stack) vs. heap, asignadores (allocators) y evitar la asignación dinámica.
Gestión de errores, pruebas y confiabilidad
- Patrones de gestión de errores en entornos limitados.
- Pruebas unitarias en la máquina huésped vs. pruebas de integración en hardware.
- Análisis de fallos, registro de eventos (logging) y estrategias de análisis posterior (post-mortem).
Rendimiento, energía y optimización de recursos
- Benchmark, 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).
- 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.
- Ruta de migración de firmware en C a Rust y recursos de la comunidad.
Resumen y siguientes pasos
Requerimientos
- Comprensión de los conceptos fundamentales de Rust: propiedad, préstamos (borrowing) y tiempos de vida (lifetimes).
- Experiencia escribiendo programas de Rust no triviales (nivel intermedio).
- Familiaridad con 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 deseen transitar a sistemas de bajo nivel.
- Líderes técnicos evaluando Rust para el desarrollo de productos embebidos.
Reseñas (1)
Ser capaz de solicitar temas avanzados incluso si no estaban planificados inicialmente.
Gabriel Chouinard - Spark Microsystems
Curso - FreeRTOS: Programming for Real Time Operating Systems
Traducción Automática