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 para embebidos
- Visión general del ecosistema de Rust para embebidos, no_std y core
- Elegir un objetivo (target) y comprender los tripletes de objetivo
- Configuración de rustup, cargo y cadenas de herramientas del objetivo
Herramientas, compilación y flujo de trabajo de depuración
- Uso de flujos de trabajo de cargo, cargo-embed, probe-run y OpenOCD
- Programación (flashing) y depuración con sondas de hardware (ST-Link, JLink)
- Consideraciones de integración continua (CI) para compilar firmware de Rust para embebidos
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 (PACs) y paquetes de dispositivos (svd2rust)
- Escritura y uso de controladores HAL y paquetes 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 heap frente a stack, asignadores (allocators) y evitar la asignación dinámica
Gestión de errores, pruebas y confiabilidad
- Patrones de manejo de errores en entornos limitados
- Pruebas unitarias en el host frente a pruebas de integración en hardware
- Análisis de fallas, registro de eventos (logging) y estrategias de análisis post-mortem
Rendimiento, potencia y optimización de recursos
- Pruebas de rendimiento (benchmarking), medición y optimización de rutas críticas
- Técnicas de reducción del tamaño de código y scripts del enlazador (linker)
- 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 la migración de 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éstamos (borrowing) y tiempos de vida (lifetimes)
- Experiencia escribiendo programas de Rust no triviales (nivel intermedio de Rust)
- Familiaridad con conceptos de embebidos: E/S mapeada en memoria, interrupciones, periféricos
Público objetivo
- Ingenieros de firmware embebido que deseen adoptar Rust
- Ingenieros de software con experiencia en Rust que estén transitando hacia sistemas de bajo nivel
- Líderes técnicos que evalúen 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