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
Inicio con Rust para Sistemas Embarcados
- Visión general del ecosistema de Rust embebido, no_std y core.
- Elección del objetivo (target) y comprensión de las triples de destino.
- Configuración de rustup, cargo y toolchains para el objetivo seleccionado.
Herramientas, Construcción y Flujo de Trabajo de Depuración
- Uso de flujos de trabajo con cargo, cargo-embed, probe-run y OpenOCD.
- Programación y depuración con sondas de hardware (ST-Link, JLink).
- Consideraciones de CI para la construcción de firmware Rust embebido.
Abstracción de Hardware y Acceso a Periféricos
- Comprensión de los traits embedded-hal y patrones de drivers.
- Crate de acceso a periféricos (PACs) y device crates (svd2rust).
- Escribir y utilizar drivers HAL y crate de soporte de placa (BSC).
Seguridad en 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 pila vs. heap, allocators y evitación de asignación dinámica.
Manejo de Errores, Pruebas y Fiabilidad
- Patrones de manejo de errores en entornos restringidos.
- Pruebas unitarias en host frente a pruebas de integración en hardware.
- Análisis de fallos, registro de eventos (logging) y estrategias post-mortem.
Rendimiento, Energía y Optimización de Recursos
- Realización de benchmarking, medición y optimización de rutas críticas.
- Técnicas de reducción del tamaño del código y scripts de enlace (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 sobre la cadena de suministro y gestión de dependencias.
- Ruta para migrar firmware C a Rust y recursos de la comunidad.
Resumen y Próximos Pasos
Requerimientos
- Comprensión de los conceptos fundamentales de Rust: propiedad (ownership), préstamo (borrowing) y ciclos de vida (lifetimes).
- Experiencia en la escritura de programas no triviales de Rust (Rust intermedio).
- Familiaridad con conceptos embebidos: E/S mapeada en memoria, interrupciones y periféricos.
Audiencia Objetivo
- Ingenieros de firmware embebido que desean adoptar Rust.
- Desarrolladores de software con experiencia en Rust que buscan transicionar a sistemas de bajo nivel.
- Líderes técnicos que evalúan 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