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 a Rust para sistemas embebidos
- Visión general de no_std, core y el ecosistema de Rust embebido
- Elección de un objetivo (target) y comprensión de las tripletas de objetivo
- Configuración de rustup, cargo y cadenas de herramientas de objetivo
Herramientas, compilación y flujo de depuración
- Uso de cargo, cargo-embed, probe-run y flujos de trabajo con OpenOCD
- Flashing 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 traits de embedded-hal y patrones de controladores
- Crates de acceso a periféricos (PACs) y crates de dispositivos (svd2rust)
- Escribir y utilizar controladores HAL y crates de soporte de placa (BSCs)
Seguridad de memoria, concurrencia y tiempo real
- Patrones seguros para el estado compartido y las referencias mutables en interrupciones
- RTIC y otros modelos de concurrencia para sistemas en tiempo real
- Uso de pila (stack) frente a montón (heap), asignadores y evitar la asignación dinámica
Manejo de errores, pruebas y confiabilidad
- Patrones de manejo de errores en entornos con restricciones
- Pruebas unitarias en el anfitrión frente a pruebas de integración en hardware
- Análisis de fallos, registro (logging) y estrategias de post-mortem
Rendimiento, energía y optimización de recursos
- Medición de rendimiento (benchmarks), métricas y optimización de rutas críticas
- 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 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
- 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, prestamos (borrowing) y tiempos de vida (lifetimes)
- Experiencia escribiendo programas Rust no triviales (Rust intermedio)
- Familiaridad con conceptos embebidos: E/S de memoria mapeada (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 se están trasladando a sistemas de bajo nivel
- Líderes técnicos que evalúan 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