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 embebido
- Visión general del ecosistema de Rust embebido, no_std y core.
- Elección de un objetivo y comprensión de las triples de objetivo (target triples).
- Configuración de rustup, cargo y conjuntos de herramientas específicos para el objetivo.
Flujo de trabajo de herramientas, compilación y depuración
- Uso de cargo, cargo-embed, probe-run y flujos de trabajo con OpenOCD.
- Grabación y depuración con sondas de hardware (ST-Link, JLink).
- Consideraciones de integración continua (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.
- Cajas de acceso a periféricos (PACs) y cajas de dispositivo (svd2rust).
- Escribir y utilizar controladores HAL y cajas 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. stack, asignadores (allocators) y evitar la asignación dinámica.
Gestión de errores, pruebas y fiabilidad
- Patrones de gestión de errores en entornos restringidos.
- Pruebas unitarias en el 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
- Evaluación del rendimiento, medición y optimización de las rutas críticas.
- 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, firma de firmware y estrategias de actualización.
- Consideraciones sobre la cadena de suministro y gestión de dependencias.
- Ruta para migrar firmware de C a Rust y recursos de la comunidad.
Resumen y próximos pasos
Requerimientos
- Comprensión de los conceptos básicos de Rust: propiedad (ownership), préstamo (borrowing) y duraciones (lifetimes).
- Experiencia en la escritura de programas Rust no triviales (nivel intermedio de Rust).
- Conocimiento de conceptos embebidos: E/S mapeada en memoria (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 transicionan 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