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
Empezando con Rust Incrustado
- Visión general de no_std, core y el ecosistema de Rust incrustado
- Elección de un objetivo y comprensión de los triples de destino
- Configuración de rustup, cargo y toolchains de destino
Herramientas, Flujo de Trabajo de Construcción y Depuración
- Uso de cargo, cargo-embed, probe-run y flujos de trabajo OpenOCD
- Flash y depuración con probes de hardware (ST-Link, JLink)
- Consideraciones de CI para construir firmware de Rust incrustado
Abstracción de Hardware y Acceso a Periféricos
- Comprensión de los traits de embedded-hal y patrones de drivers
- Crates de acceso a periféricos (PACs) y crates de dispositivo (svd2rust)
- Escritura y uso de drivers HAL y crates de soporte para placas (BSCs)
Seguridad en Memoria, Concurrencia & Tiempo Real
- Patrones seguros para estado compartido y referencias mutables en interrupciones
- RTIC y otros modelos de concurrencia para sistemas en tiempo real
- Uso del heap vs. stack, allocators y evitando la asignación dinámica
Manejo de Errores, Pruebas & Fiabilidad
- Patrones de manejo de errores en entornos restringidos
- Pruebas unitarias en el host vs. pruebas de integración en hardware
- Análisis de fallas, registro y estrategias post-mortem
Rendimiento, Potencia & 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 de enlazador
- Estrategias de gestión de energía y patrones de diseño de bajo consumo
Despliegue, Seguridad & 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 en C a Rust y recursos de la comunidad
Resumen y Próximos Pasos
Requerimientos
- Una comprensión de los conceptos fundamentales de Rust: propiedad, préstamo, tiempos de vida
- Experiencia escribiendo programas no triviales en Rust (Rust intermedio)
- Familiaridad con conceptos embebidos: E/S mapeada a memoria, interrupciones, periféricos
Audiencia
- Ingenieros de firmware embebido que buscan adoptar Rust
- Ingenieros de software con experiencia en Rust que se trasladan a 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