Sistemas embebidos en microcontroladores ARM Cortex-M
Sistemas embebidos en microcontroladores ARM Cortex-M
Resumen:
Introducción
El libro «Embedded Systems with ARM Cortex-M Microcontrollers» (autor — Yifeng Zhu, 2018, 608 páginas) es un manual fundamental para el desarrollo de sistemas embebidos basados en los populares microcontroladores ARM Cortex-M de 32 bits. Escrito en un lenguaje accesible, combina la teoría de la electrónica digital con ejemplos prácticos en C++ y es adecuado tanto para estudiantes de ingeniería como para ingenieros que deseen sistematizar sus conocimientos. El libro se diferencia de otros similares en que no solo enumera los registros, sino que explica la lógica de funcionamiento de los periféricos y los principios para escribir código eficiente.
De qué trata este libro
La obra abarca el ciclo completo de desarrollo de un sistema embebido: desde la selección del microcontrolador hasta la depuración de aplicaciones multitarea. Se centra principalmente en la familia ARM Cortex-M (M0, M3, M4, M7) y en las placas de desarrollo populares basadas en STM32. El libro consta de 12 capítulos, cada uno dedicado a un aspecto específico:
- Capítulos 1-2: Arquitectura ARM Cortex-M, conjunto de instrucciones, memoria, reloj y reset.
- Capítulos 3-4: Puertos de entrada/salida digitales (GPIO), trabajo con botones y LED.
- Capítulo 5: Temporizadores, PWM, captura y comparación de señales.
- Capítulo 6: Convertidores analógico-digitales (ADC) y sensores.
- Capítulo 7: Interfaces serie: UART, SPI, I2C.
- Capítulo 8: Interrupciones y manejadores de excepciones.
- Capítulo 9: Acceso directo a memoria (DMA).
- Capítulo 10: Modos de bajo consumo de energía.
- Capítulo 11: Fundamentos de los sistemas operativos en tiempo real (RTOS) — FreeRTOS.
- Capítulo 12: Depuración, perfilado y optimización de código.
Para quién está destinado el libro
El libro está dirigido a lectores que ya conocen los fundamentos de la programación en C/C++ y tienen una noción básica de la electrónica digital. Será útil para:
- estudiantes de ingeniería que estudian microcontroladores y sistemas embebidos;
- ingenieros prácticos que migran de plataformas de 8 bits (AVR, PIC) a ARM;
- desarrolladores de software que desean comprender los aspectos hardware del funcionamiento de los dispositivos embebidos;
- entusiastas del hobby que crean sus propios proyectos con STM32.
Qué aprenderá el lector
Después de estudiar el material, el lector podrá:
- configurar de forma independiente el reloj y los periféricos de los microcontroladores ARM Cortex-M;
- escribir código eficiente en C++ para trabajar con GPIO, temporizadores, ADC, UART, SPI, I2C;
- utilizar interrupciones y DMA para crear sistemas con buena capacidad de respuesta;
- implementar multitarea con FreeRTOS;
- optimizar el consumo de energía y depurar proyectos con un depurador y un analizador lógico;
- leer hojas de datos y esquemas, comprender las características eléctricas de los pines.
Puntos fuertes del libro
Enfoque práctico. Cada capítulo contiene varios ejemplos completos con comentarios detallados. El código está escrito en C++ utilizando las bibliotecas CMSIS y HAL, lo que lo hace portable entre diferentes microcontroladores STM32.
Explicación profunda. El autor no se limita a enumerar los registros: explica por qué un bit determinado debe configurarse de una manera específica y cómo afecta al funcionamiento del sistema. Por ejemplo, en el capítulo sobre temporizadores se analizan en detalle los modos de conteo, los preescaladores y la captura de señales.
Actualidad. El libro se publicó en 2018 y cubre los microcontroladores Cortex-M4 y M7 modernos con unidad de punto flotante, así como las últimas versiones de FreeRTOS.
Ilustraciones de calidad. Más de 300 esquemas, diagramas de tiempos y capturas de pantalla de osciloscopios ayudan a visualizar el funcionamiento de los periféricos.
Material adicional. En el sitio web del autor están disponibles los códigos fuente de todos los ejemplos,