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.
Temario del curso
Inicio con Rust para sistemas embebidos
- Resumen del ecosistema Rust embebido: no_std, core y otras librerías.
- Elegir una plataforma destino y comprender los triples de destino.
- Configuración de rustup, cargo y las cadenas de herramientas correspondientes.
Flujos de trabajo de herramientas, compilación y 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 compilar firmware embebido en Rust.
Abstracción de hardware y acceso a periféricos
- Comprensión de los rasgos embedded-hal y patrones de controladores.
- Cajas de acceso a periféricos (PAC) y cajas de dispositivo (svd2rust).
- Escribir y utilizar controladores HAL y cajas de soporte para placas (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 vs. stack, asignadores y evitación de la 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 vs. pruebas de integración en hardware.
- Análisis de fallos, registro (logging) y estrategias post-mortem.
Optimización de rendimiento, energía y recursos
- Realización de benchmarks, medición y optimización de rutas críticas.
- 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 para bajo consumo.
Despliegue, seguridad y mejores prácticas del ecosistema
- Arranque seguro, firma de firmware y estrategias de actualización.
- Consideraciones de la cadena de suministro y gestión de dependencias.
- Hoja de ruta para migrar firmware en 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éstamo (borrowing) y ciclos de vida (lifetimes).
- Experiencia escribiendo programas no triviales en Rust (nivel intermedio).
- Familiaridad con conceptos de embebido: E/S mapeada a memoria, interrupciones y periféricos.
Audiencia objetivo
- Ingenieros de firmware embebido que buscan adoptar Rust.
- Desarrolladores de software con experiencia en Rust que desean transicionar a sistemas de bajo nivel.
- Líderes técnicos que evalúan Rust para el desarrollo de productos embebidos.
14 Horas
Testimonios (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