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
Primeros pasos con Rust embebido
- Visión general del ecosistema Rust no_std, core y embebido
- Elegir una arquitectura objetivo y comprender las triplets de destino
- Configurar rustup, cargo y conjuntos de herramientas de destino
Herramientas, flujo de compilación y depuración
- Uso de flujos de trabajo con cargo, cargo-embed, probe-run y OpenOCD
- Grabación y depuración con sondas de hardware (ST-Link, JLink)
- Consideraciones de CI para compilar firmware Rust embebido
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 (PACs) 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 en tiempo real
- Uso de heap frente a stack, asignadores y evitación de asignación dinámica
Gestión de errores, pruebas y fiabilidad
- Patrones de gestión de errores en entornos con recursos limitados
- 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
- Benchmarking, medición y optimización de caminos críticos
- 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 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
- Hoja de ruta para migrar 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 (Rust intermedio)
- Familiaridad con conceptos embebidos: E/S mapeado en memoria, interrupciones y periféricos
Público objetivo
- Ingenieros de firmware embebido que buscan adoptar Rust
- Ingenieros de software con experiencia en Rust que transicionan hacia sistemas de bajo nivel
- Líderes técnicos evaluando 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