Derek Molloy - Raspberry Pi® a fondo para desarrolladores

Здесь есть возможность читать онлайн «Derek Molloy - Raspberry Pi® a fondo para desarrolladores» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: unrecognised, на испанском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Raspberry Pi® a fondo para desarrolladores: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Raspberry Pi® a fondo para desarrolladores»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Económico y versátil, Raspberry Pi puede adaptarse a miles de desarrollos. Este libro le permite explorar todas sus posibilidades mediante la aplicación de principios de ingeniería junto con las técnicas de programación en Linux, y desarrollar las habilidades que necesita para diseñar y construir un sinfín de proyectos.Raspberry Pi a fondo para desarrolladores cubre los conceptos básicos y avanzados de la plataforma de hardware, accesorios recomendados, software, sistemas Linux integrados y técnicas de programación en Linux. También profundiza en la interfaz, el control y de comunicaciones, con información detallada sobre Raspberry Pi GPIOs, buses, dispositivos UART y periféricos USB.Aprenderá a configurar un entorno de compilación cruzada para construir aplicaciones de software a gran escala, así como la forma de combinar hardware y software para permitir que el Raspberry Pi interactúe eficazmente con su entorno físico. Por último, descubrirá cómo utilizar el Raspberry Pi para aplicaciones avanzadas de interfaz e interacción como Internet de las Cosas (IoT, por sus siglas en inglés); comunicación y control inalámbricos; interfaces de usuario; imágenes, vídeos y audios; llegando hasta la programación del kernel de Linux.En lugar de instrucciones para algunos proyectos específicos, Raspberry Pi a fondo para desarrolladores le ofrece las habilidades necesarias para construir los proyectos que existen en su imaginación. Aprenderá a: Desarrollar habilidades esenciales de Linux y de programaciónConstruir aplicaciones de Internet de las Cosas (IoT)Dominar la interfaz, control y comunicaciónDiseñar aplicaciones que interactúen con el entorno físicoUtilizar la plataforma Arduino como un procesador de serviciosConstruir aplicaciones de comunicación inalámbricaEscribir e instalar módulos del kernel de Linux personalizadosUsar Raspberry Pi 3 y Raspberry Pi Zero en sus proyectos

Raspberry Pi® a fondo para desarrolladores — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Raspberry Pi® a fondo para desarrolladores», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

❏Existen excelentes controladores de código abierto para una gran variedad de periféricos y dispositivos, desde adaptadores de red hasta monitores.

❏Linux es un sistema de código abierto y no hay que pagar nada por usarlo.

❏Su núcleo y sus aplicaciones se ejecutan a diario en una cantidad tal de sistemas por todo el mundo que los errores son extremadamente infrecuentes y además se detectan y corrigen rápidamente.

Una desventaja de Linux empotrado es su falta de idoneidad para las aplicaciones en tiempo real debido a la sobrecarga, fundamentalmente de tiempo en este caso, del propio SO. Así pues, para aplicaciones de gran precisión y mínima latencia, como el procesamiento de señales analógicas, Linux empotrado podría no ser la solución perfecta. Sin embargo, incluso en aplicaciones de tiempo real, se emplea a menudo como cerebro e interfaz de control dentro de un conjunto interconectado de sensores (véase el capítulo 12). Además, el desarrollo de las capacidades de Linux RTOS (Real Time Operating Systems, sistemas operativos de tiempo real) continúa avanzando y progresa en su objetivo de agilizar las interrupciones del SO para su uso en tiempo real.

¿Es Linux gratuito y de código abierto?

Linux se publica bajo licencia GNU GPL (General Public License, licencia pública general), que garantiza a los usuarios el derecho de uso y modificación del código fuente sin límites. Así pues, la palabra free hace aquí más referencia al concepto de "libre" que al de "gratuito" (ambos son significados del término en inglés). De hecho, algunas de las distribuciones de Linux más caras son precisamente las destinadas a las arquitecturas empotradas. Podrá encontrar una guía rápida para familiarizarse con la licencia GPLv3 en la web www.gnu.org, que relaciona nuestros derechos como usuarios (Smith, 2013):

Derecho a utilizar el software para cualquier propósito.

Derecho a modificar el software para que se ajuste a sus necesidades.

Derecho a compartir el software con amigos y vecinos.

Y derecho a compartir todos aquellos cambios que introduzca en él.

Aun si estamos utilizando una distribución descargada de forma gratuita, puede que nos cueste un esfuerzo significativo modificar las librerías y los controladores de dispositivo para adaptar los componentes y módulos particulares que deseemos utilizar en el desarrollo de los productos.

Cómo iniciar el Raspberry Pi

Lo primero que deberíamos ver cuando arrancamos un ordenador es la UEFI (Unified Extensible Firmware Interface, interfaz de firmware ampliable unificada), que brinda compatibilidad con las rutinas de servicio de la antigua BIOS (Basic Input/Output System, sitema básico de entrada/salida). La pantalla de inicio muestra información del sistema y nos invita a pulsar una tecla para modificar estos ajustes. La UEFI comprueba los componentes del hardware, como la memoria, y, luego, carga el SO, generalmente desde una unidad de disco duro SSD (Solid State Disk, disco de estado sólido). Así pues, cuando encendemos un ordenador, la UEFI, o la BIOS, ejecutan las tareas siguientes:

1. Toma el control del procesador del equipo.

2. Inicializa y comprueba los componentes hardware.

3. Carga el SO desde la unidad SSD o disco duro convencional.

La UEFI/BIOS ofrece una capa de abstracción que permite al SO interaccionar con la pantalla y otros periféricos de entrada/salida del sistema, como ratón, teclado y almacenamiento externo. Sus ajustes se guardan en una memoria flash NAND alimentada por una pila de botón (que se puede ver en las placas madre de los ordenadores) que alimenta también el reloj del sistema.

Los gestores de arranque del Raspberry Pi

Como la mayoría de los dispositivos Linux empotrados, el RPi carece de BIOS y de batería de alimentación, al menos de forma predeterminada (veremos cómo se añade un reloj en tiempo real al RPi en el capítulo 9). En lugar de eso, utiliza una combinación de gestores de arranque (bootloaders). Generalmente, los gestores de arranque son pequeños programas que realizan la función crítica de vincular el hardware concreto de cada placa con Linux:

❏Inicializan los controladores (memoria, gráficos, E/S).

❏Preparan y asignan la memoria del sistema para el SO.

❏Localizan el SO y preparan su carga.

❏Cargan el SO y le pasan el control.

El gestor de arranque de Linux empotrado es un programa personalizado para cada tipo de placa, incluido el RPi. Existen gestores de arranque de código abierto para Linux, tales como Das U-Boot (el cargador universal de referencia), que se puede personalizar, siempre que se cuente con un conocimiento detallado del hardware de la plataforma de Linux empotrado, mediante parches de software específicos de cada plataforma (diríjase a tiny.cc/erpi301). El RPi utiliza un enfoque distinto: utiliza unos gestores de arranque muy eficientes pero de código cerrado, desarrollados específicamente para el RPi por Broadcom. Tanto el gestor de arranque como los archivos de configuración se encuentran en el directorio /boot de la imagen en el RPi:

pi@erpi /boot $ ls -l *.bin start.elf *.txt *.img fixup.dat

-rwxr-xr-x 1 root root 17900 Jun 16 01:57 bootcode.bin

-rwxr-xr-x 1 root root 120 May 6 23:23 cmdline.txt

-rwxr-xr-x 1 root root 1581 May 30 14:49 config.txt

-rwxr-xr-x 1 root root 6174 Jun 16 01:57 fixup.dat

-rwxr-xr-x 1 root root 137 May 7 00:31 issue.txt

-rwxr-xr-x 1 root root 3943888 Jun 16 01:57 kernel7.img

-rwxr-xr-x 1 root root 3987132 Jun 16 01:57 kernel.img

-rwxr-xr-x 1 root root 2684312 Jun 16 01:57 start.elf

La figura 3-1 ilustra el proceso de arranque en el RPi, donde cada etapa del mismo se carga e invoca por la precedente. Los archivos bootcode.bin y tart.elf son gestores de arranque de código cerrado que están en código binario y se ejecutan en la GPU del RPi, y no en la propia CPU. El archivo de licencia que podemos encontrar en github.com/raspberrypi/firmware/tree/master/bootindica que se autoriza la redistribución "en código binario, sin modificaciones" y que "solo se puede utilizar con propósitos de desarrollo y ejecución en un dispositivo Raspberry Pi". Podemos encontrar una imagen comprimida del núcleo en /boot/kernel.img. Por descontado, es código abierto.

La salida que sigue es una secuencia de arranque típica, capturada con el cable serie USB a TTL de 3,3 V que vimos en el capítulo 1. El cable estaba fijo a los pines 6 (GND), 8 (UART_TXD) y 10 (UART_RXD) de la cabecera del RPi, y los datos se capturaron a 115.200 baudios. A diferencia de los gestores U-boot, que se ejecutan en la CPU, los gestores tempranos del RPi no ofrecen salida por consola, aunque sí hacen parpadear los LED de la placa con patrones específicos si surgen problemas. Lo que sigue es un extracto de la salida por consola durante el arranque del RPi 3. Muestra una importante información del sistema, como el mapeo de la memoria:

Figura 31 La secuencia de arranque completa en el RPi Uncompressing Linux - фото 25

Figura 3-1: La secuencia de arranque completa en el RPi.

Uncompressing Linux... done, booting the kernel.

[ 0.000000] Booting Linux on physical CPU 0x0

...

[ 0.000000] Linux version 4.1.18-v7+ (dc4@dc4-XPS13-9333) (gcc version

4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611) ) #846 SMP Thu Feb

25 14:22:53 GMT 2016

[ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7) ...

[ 0.000000] Machine model: Raspberry Pi 3 Model B Rev 1.2

[ 0.000000] cma: Reserved 8 MiB at 0x36400000 ...

[ 0.000000] Kernel command line: 8250.nr_uarts=1 dma.dmachans=0x7f35

bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2709.boardrev=0xa02082

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Raspberry Pi® a fondo para desarrolladores»

Представляем Вашему вниманию похожие книги на «Raspberry Pi® a fondo para desarrolladores» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Raspberry Pi® a fondo para desarrolladores»

Обсуждение, отзывы о книге «Raspberry Pi® a fondo para desarrolladores» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x