En la fase se presentan las definiciones, características, aplicaciones y tendencias de los sistemas embebidos. Los estudiantes aprenderán acerca de las características comunes de los sistemas embebidos, como los recursos limitados, el tiempo real y las funciones específicas. Además, se introducirán los fundamentos de programación para sistemas embebidos, incluyendo los lenguajes de programación comunes como C y C++, y cómo se utilizan para programar dispositivos embebidos.
Introducción a los sistemas embebidos
Arquitectura de un sistema embebido
Lenguajes de programación y sistemas operativos
Periféricos y dispositivos para sistemas embebidos
En la fase los estudiantes aprenderán a programar sistemas embebidos utilizando lenguajes como C, C++ y ensamblador. También aprenderán a diseñar y programar el firmware para maximizar la eficiencia de los sistemas embebidos. Además, se discutirán los protocolos de comunicación utilizados en sistemas embebidos y cómo se implementan y programan para garantizar una comunicación confiable y segura con otros dispositivos.
Programación de sistemas embebidos
Proceso de desarrollo de firmware
Diseño de firmware y software para sistemas embebidos
Herramientas de programación y depuración
Pruebas y verificación de firmware
Documentación y mantenimiento de firmware
Comunicación serie (UART, SPI, I2C)
Comunicación con otros dispositivos (sensores, actuadores, pantallas,)
Comunicación inalámbrica (Bluetooth, Wi-Fi, Zigbee)
En la fase los estudiantes aprenderán a utilizar sistemas operativos de tiempo real (RTOS) para diseñar y programar sistemas embebidos. También se discutirán técnicas de programación multithread para diseñar sistemas embebidos que puedan ejecutar múltiples tareas simultáneamente, y cómo garantizar la integridad de los datos utilizando técnicas como la sincronización y la exclusión mutua.
Introducción a los sistemas operativos para microcontroladores
Programación multithread y tareas
Manejo de interrupciones y eventos
Optimización del uso de recursos
En la fase los estudiantes aprenderán a integrar componentes de hardware y software de sistemas embebidos para crear productos comerciales completos. Se discutirán los aspectos de diseño y programación necesarios para la integración de sistemas embebidos, incluyendo la compatibilidad de hardware y software, el diseño de interfaces de usuario, la selección y programación de periféricos, la depuración y las pruebas de integración. También se discutirán técnicas de desarrollo de software en equipo, como el control de versiones y la colaboración en equipo.
Tendencias en sistemas embebidos
Diseño de hardware para sistemas embebidos
Presentación y discusión de proyectos.