Saltar al contenido
Logotipo de Trainontech Trainontech

Electrónica y Sistemas Embebidos · EMB-125

FreeRTOS en microcontroladores

Repartir el firmware del ESP32 en tareas, colas y semáforos con plazos verificables.

Próximamente Especialización 6 módulos · 28 clases

Formato asíncrono Ingeniería / Industria, Desarrollo ESP32

Lo que aprenderás

  • Crear tareas con xTaskCreatePinnedToCore y repartir la carga entre los dos núcleos del ESP32.
  • Comunicar tareas mediante colas, notificaciones directas y stream buffers sin perder mensajes en ráfagas.
  • Proteger recursos compartidos con mutex y semáforos evitando la inversión de prioridad.
  • Dimensionar la pila de cada tarea leyendo uxTaskGetStackHighWaterMark antes de cerrar el diseño.
  • Atender interrupciones con las variantes FromISR y diferir el trabajo a una tarea de servicio.
  • Diagnosticar bloqueos y reinicios con el watchdog de tarea y las trazas del planificador.

Contenido del curso

6 módulos · 28 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Por qué un RTOS y entorno de trabajo 4 clases
  • Límites del bucle principal y del delay bloqueante
  • Instalación de ESP-IDF y primer proyecto
  • Anatomía de app_main y arranque del planificador
  • Depuración por puerto serie con el monitor de ESP-IDF
Módulo 2 · Tareas y planificación 5 clases
  • Crear y eliminar tareas con xTaskCreate
  • Estados de una tarea y cambio de contexto
  • Prioridades y reparto entre los dos núcleos
  • vTaskDelay frente a vTaskDelayUntil en muestreo periódico
  • Dimensionar la pila y vigilar el agua alta
Módulo 3 · Comunicación entre tareas 4 clases
  • Colas: envío, recepción y tiempos de espera
  • Notificaciones directas como cola ligera
  • Stream buffers y message buffers para datos continuos
  • Esperar varias fuentes con conjuntos de colas
Módulo 4 · Sincronización y recursos compartidos 5 clases
  • Semáforos binarios y de conteo
  • Mutex y herencia de prioridad
  • Inversión de prioridad reproducida en el laboratorio
  • Grupos de eventos para coordinar arranques
  • Secciones críticas y acceso a periféricos compartidos
Módulo 5 · Interrupciones y temporización 5 clases
  • Rutinas de interrupción y funciones FromISR
  • Diferir trabajo de la ISR a una tarea de mayor prioridad
  • Temporizadores software y su tarea de servicio
  • Watchdog de tarea y reinicios controlados
  • Modos de bajo consumo con tareas activas
Módulo 6 · Proyecto de cierre: nodo de adquisición y control 5 clases
  • Especificar los plazos del sistema antes de escribir código
  • Reparto en tareas y asignación de prioridades
  • Medida de latencia y jitter con GPIO y osciloscopio
  • Ajuste de pilas y balance de memoria
  • Revisión del diseño y errores frecuentes

Requisitos

  • Programación en C sobre microcontroladores, con punteros, estructuras y manejo de periféricos.
  • Experiencia previa con ESP32 y ESP-IDF o Arduino en proyectos sin sistema operativo.
  • Una placa ESP32 y cable USB para reproducir las prácticas en hardware real.

Descripción

Un firmware escrito como un único bucle infinito funciona hasta que aparecen la segunda y la tercera cosa que hacer a la vez: muestrear un sensor a intervalo fijo, atender la conexión WiFi y refrescar una pantalla. Los retardos bloqueantes empiezan a estorbarse, se pierden muestras y el fallo solo aparece cuando la máquina lleva días funcionando. Este curso ataca justo ese punto.

El recorrido parte del planificador de FreeRTOS tal y como lo integra ESP-IDF y avanza por prioridades, colas, semáforos, mutex, grupos de eventos y temporizadores software. Cada mecanismo se practica sobre un montaje de adquisición y control en ESP32, midiendo latencias reales con GPIO y provocando a propósito los fallos típicos: inversión de prioridad, desborde de pila y colas que se llenan.

Al terminar, el firmware deja de ser un bucle y pasa a ser un conjunto de tareas con responsabilidades y plazos explícitos, que es lo que exige un producto industrial mantenible. Desde ahí se aborda con criterio la conectividad concurrente, los clientes MQTT sobre ESP32 y las arquitecturas de nodo IoT en las que la adquisición no puede detenerse mientras se transmite.

¿Para quién es este curso?

  • Ingeniería de firmware que mantiene producto sobre ESP32 y necesita comportamiento temporal predecible.
  • Perfiles de desarrollo embebido que llegan de Arduino y chocan con los retardos bloqueantes.
  • Equipos de I+D industrial que integran adquisición y comunicaciones en el mismo microcontrolador.
Próximamente

Curso en hoja de ruta. Se prioriza según la demanda recogida y los proyectos en cartera.

Código
EMB-125
Nivel
Especialización
Público
Ingeniería / Industria, Desarrollo
Entorno
ESP32

Este curso incluye

  • 28 clases en vídeo bajo demanda
  • Práctica en entornos web y simuladores, sin instalar nada
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

EMB-115Electrónica y Sistemas Embebidos

Redes neuronales en ESP32

Entrenar fuera, inferir dentro: el flujo completo hasta el microcontrolador.

ESP32Python

Especialización 31 clases

EMB-116Electrónica y Sistemas Embebidos

LLM y RAG en sistemas embebidos: límites

Qué es posible hoy en un ESP32, qué exige un SBC y dónde está la frontera real.

ESP32Ollama

Especialización 31 clases