</> CodeBooks
    ← Volver a Arduino y hardware (página 1)
    Portada de Exploring the Raspberry Pi 2 with C++

    Exploring the Raspberry Pi 2 with C++

    Warren Gay

    Editorial
    Apress
    Año
    2019
    Páginas
    ~212
    Nivel
    Intermedio

    De qué trata

    Obra especializada de Warren Gay que explora la programación a bajo nivel en C++ para la Raspberry Pi 2 (con procesador quad-core ARM Cortex-A7 BCM2836 y sistema operativo Raspbian Linux). El libro está pensado para desarrolladores de software, ingenieros de sistemas embebidos y estudiantes de electrónica con conocimientos intermedios de C o C++ y Linux que quieren ir más allá de los scripts estándar de Python y exprimir la potencia del silicio, el hardware GPIO y la arquitectura multinúcleo de la placa con código compilado y de alto rendimiento.

    El contenido combina ingeniería de software y electrónica digital: abarca la configuración de un banco de trabajo con placas de pruebas, la compilación e instalación de un kernel Linux personalizado para optimizar el soporte del procesador, y el análisis riguroso de la física de la interfaz GPIO y la tecnología CMOS (niveles de tensión, corrientes y protección contra descargas electrostáticas ESD). En software, el autor desarrolla utilidades CLI en C++ como la herramienta `gp`, aborda la generación de relojes de propósito general (GPCLK), modulación por ancho de pulsos por hardware (PWM con la utilidad `pipwm`), técnicas de debouncing de pulsadores tanto por software como por hardware (con el circuito integrado MC14490), uso de contenedores e iteradores de la biblioteca estándar (STL) de C++, y el diseño de servidores concurrentes mediante la biblioteca de eventos asíncronos `libevent`.

    El libro destaca por el desarrollo práctico de proyectos de instrumentación y sistemas que explotan la capacidad multinúcleo del procesador. El lector construye una matriz LED 8x8 con el controlador MAX7219 para mostrar la utilización en tiempo real de cada uno de los cuatro núcleos de la CPU, un analizador lógico digital completo (PiSpy) para muestrear y examinar señales GPIO de alta velocidad, y un servidor web multihilo escalable basado en `libevent`. Constituye una aportación excelente para comprender cómo el sistema operativo Linux gestiona el hardware y cómo escribir controladores y servicios eficientes; no obstante, conviene tener en cuenta que está centrado en el procesador ARMv7 de la Pi 2 y en versiones anteriores del kernel, requiriendo adaptaciones menores si se implementa en modelos modernos de 64 bits como la Raspberry Pi 4 o 5.

    • Raspberry Pi 2
    • C++
    • GPIO
    • Sistemas embebidos
    • Linux Kernel
    • Multiprocesamiento
    • libevent
    • MAX7219
    • PWM
    • Analizador lógico
    • CMOS
    • STL

    ¿Cómo enseña?

    TeóricoPráctico

    Con proyectos

    • ✗ Sin ejercicios
    • ✓ Incluye proyectos

    Proyectos

    Monitor de CPU multinúcleo en matriz LED

    Dispositivo que lee la actividad de los cuatro núcleos de la Raspberry Pi 2 mediante una utilidad en C++ (`mtop`) y visualiza dinámicamente la carga en una matriz de LEDs 8x8 gobernada por el chip MAX7219 vía GPIO.

    Analizador lógico digital PiSpy

    Aplicación de instrumentación en C++ que captura, almacena y visualiza secuencias de señales digitales de alta frecuencia recibidas a través de los pines GPIO para depuración de hardware.

    Servidor web concurrente multinúcleo

    Servidor HTTP multihilo de alto rendimiento implementado desde cero en C++ sobre la biblioteca asíncrona `libevent`, distribuyendo la atención de peticiones de red entre los cuatro núcleos del procesador.

    Más de Arduino y hardware con nivel Intermedio