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 al Rust Embebido
- Resumen del ecosistema de Rust embebido: no_std, core y Rust embebido.
- Elegir un objetivo (target) y comprender las triplets de objetivo.
- Configurar rustup, cargo y cadenas de herramientas de objetivos.
Herramientas, Compilación y Flujo de Depuración
- Uso de workflows con cargo, cargo-embed, probe-run y OpenOCD.
- Flash y depuración con sondas de hardware (ST-Link, JLink).
- Consideraciones de CI para compilar firmware de Rust embebido.
Abstracción de Hardware y Acceso a Periféricos
- Comprensión de los rasgos de embedded-hal y patrones de controladores.
- Crates de acceso a periféricos (PACs) y crates de dispositivos (svd2rust).
- Escritura y uso de controladores HAL y crates de soporte de placa (BSCs).
Seguridad de Memoria, Concurrencia y Tiempo Real
- Patrones seguros para estados compartidos y referencias mutables en interrupciones.
- RTIC y otros modelos de concurrencia para sistemas de tiempo real.
- Uso de heap vs. stack, asignadores y evitar la asignación dinámica.
Manejo de Errores, Pruebas y Confiabilidad
- Patrones de manejo de errores en entornos restringidos.
- Pruebas de unidad en el host vs. pruebas de integración en el hardware.
- Análisis de fallas, registros (logging) y estrategias de análisis posterior (post-mortem).
Rendimiento, Energía y Optimización de Recursos
- Pruebas de rendimiento, medición y optimización de rutas críticas (hot paths).
- Técnicas de reducción del tamaño del código y scripts de enlazador (linker scripts).
- 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.
- Ruta de migración de firmware C a Rust y recursos comunitarios.
Resumen y Próximos Pasos
Requerimientos
- Comprensión de los conceptos centrales de Rust: propiedad (ownership), préstamo (borrowing) y tiempos de vida (lifetimes).
- Experiencia escribiendo programas de Rust no triviales (Rust intermedio).
- Familiaridad con 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