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 en Sistemas Embebidos
- Resumen del ecosistema de no_std, core y Rust embebido
- Elegir un objetivo (target) y comprender las tripletes de objetivos
- Configurar rustup, cargo y las cadenas de herramientas de objetivos
Herramientas, Compilación y Flujo 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 Rust embebido
Abstracción de Hardware y Acceso a Periféricos
- Comprensión de los rasgos (traits) de embedded-hal y patrones de controladores
- Paquetes de acceso a periféricos (PAC) y paquetes de dispositivos (svd2rust)
- Escritura y uso de controladores HAL y paquetes de soporte de placa (BSC)
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 vs. pila, 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 host vs. pruebas de integración en el hardware
- Análisis de fallas, registro de eventos y estrategias posmortem
Rendimiento, Energía y Optimización de Recursos
- Medición de rendimiento, medición y optimización de caminos críticos (hot paths)
- Técnicas de reducción del tamaño del código y scripts del vinculador
- 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, 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 fundamentales de Rust: propiedad, préstamos (borrowing) y tiempos de vida (lifetimes).
- Experiencia escribiendo programas de Rust no triviales (Rust a nivel intermedio).
- Conocimiento de conceptos de embebidos: E/S mapeada en memoria, interrupciones, periféricos.
Público objetivo
- Ingenieros de firmware embebido que buscan adoptar Rust.
- Ingenieros de software con experiencia en Rust que transicionan 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