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
Introducción a Rust Empotrado
- Vista general de no_std, core y el ecosistema de Rust embebido.
- Elección de la arquitectura objetivo y comprensión de los triples de objetivo (target triples).
- Configuración de rustup, cargo y las cadenas de herramientas (toolchains) del objetivo.
Herramientas, Compilación y Flujo de Depuración
- Uso de cargo, cargo-embed, probe-run y flujos de trabajo de OpenOCD.
- Flash y depuración con sondas de hardware (ST-Link, JLink).
- Consideraciones para CI/CD en la compilación de firmware de Rust embebido.
Abstracción de Hardware y Acceso a Periféricos
- Comprensión de los rasgos (traits) de embedded-hal y patrones de controladores (drivers).
- Crates de acceso a periféricos (PACs) y crates de dispositivo (svd2rust).
- Escripción y uso de controladores HAL y crates de soporte de placa (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 de tiempo real.
- Uso de pila (heap) vs. pila (stack), asignadores (allocators) y cómo evitar la asignación dinámica.
Manejo de Errores, Pruebas y Confiabilidad
- Patrones de manejo de errores en entornos restringidos.
- Pruebas unitarias en el host vs. pruebas de integración en hardware.
- Análisis de fallos, registro (logging) y estrategias post-mortem.
Rendimiento, Energía y Optimización de Recursos
- Pruebas de rendimiento (benchmarking), medición y optimización de rutas críticas (hot paths).
- Técnicas de reducción del tamaño del código y scripts del 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.
- 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éstamo (borrowing) y tiempos de vida (lifetimes).
- Experiencia escribiendo programas de Rust no triviales (nivel intermedio en Rust).
- Familiaridad con conceptos embebidos: E/S de memoria mapeada, interrupciones y periféricos.
Público Objetivo
- Ingenieros de firmware embebido interesados en adoptar Rust.
- Ingenieros de software con experiencia en Rust que estén transitando hacia sistemas de bajo nivel.
- Líderes técnicos evaluando Rust para el desarrollo de productos embebidos.
14 Horas
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