GNU/Linux rapid embedded programming your one-stop solution to embedded programming on GNU/Linux
An annotated guide to program and develop GNU/Linux Embedded systems quickly About This Book Rapidly design and build powerful prototypes for GNU/Linux Embedded systems Become familiar with the workings of GNU/Linux Embedded systems and how to manage its peripherals Write, monitor, and configure app...
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham, England ; Mumbai, [India] :
Packt
2017.
|
Edición: | 1st edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009630086006719 |
Tabla de Contenidos:
- Cover
- Copyright
- Credits
- About the Author
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Table of Contents
- Preface
- Chapter 1: Installing the Developing System
- Embedded world terms
- Systems' overview
- The BeagleBone Black
- The SAMA5D3 Xplained
- The Wandboard
- Installing a development system
- Setting up the host machine
- Basic tools
- The cross-compiler
- Setting up the BeagleBone Black
- Serial console for the BeagleBone Black
- U-Boot (with MLO)
- Linux kernel for the BeagleBone Black
- Debian 8 (jessie) for the BeagleBone Black
- Setting up the SAMA5D3 Xplained
- Serial console for SAMA5D3 Xplained
- U-Boot (with boot.bin)
- Linux kernel for SAMA5D3 Xplained
- Debian 8 (jessie) for SAMA5D3 Xplained
- Setting up the Wandboard
- Serial console for the Wandboard
- U-Boot (with SPL)
- Linux kernel for the Wandboard
- Debian 8 (jessie) for the Wandboard
- Setting up the developing system
- BeagleBone Black - USB, networking, and overlays
- SAMA5D3 Xplained - USB and networking
- Wandboard - USB and networking (wired and wireless)
- Common settings
- Summary
- Chapter 2: Managing the System Console
- Basic OS management
- File manipulation and Co
- echo and cat
- dd
- grep and egrep
- tr and sed
- head and tail
- od and hexdump
- file
- strings
- strace
- Package management
- Searching a software package
- Installing a package
- apt-get and friends versus aptitude
- The deb files
- Managing the kernel messages
- A quick tour into the bootloader
- The environment
- Managing the storage devices
- MMC
- Managing the flash
- GPIO management
- Accessing an I2C device
- Loading files from the network
- The kernel command line
- Summary
- Chapter 3: C Compiler, Device Drivers, and Useful Developing Techniques
- The C compiler.
- Native and foreign machine architecture
- Compiling a C program
- The native compilation
- The cross-compilation
- Compiling a kernel module
- The Kernel and DTS files
- Recompiling the kernel
- The device tree
- What is a device driver?
- Char, block, and net devices
- Modules versus built-in devices
- The modutils
- Writing our own device driver
- The root filesystem (rootfs)
- The /dev directory
- The tmpfs
- The procfs
- The sysfs
- The Network FileSystem (NFS)
- Exporting an NFS on the host
- Setting up the kernel to mount an NFS
- U-Boot and the kernel command line to use a NFS
- Developing into an NFS
- Using an emulator
- Executing a program
- Entering into an ARM rootfs tree
- Summary
- Chapter 4: Quick Programming with Scripts and System Daemons
- Setting up the system
- System daemons
- Useful and ready-to-use daemons
- System daemons management
- syslogd
- syslogd in Bash
- syslogd in C
- syslogd in PHP
- syslogd in Python
- cron
- xinetd
- sshd
- Apache
- MySQL
- MySQL in Bash
- MySQL in C
- MySQL in PHP
- MySQL in Python
- Scripting languages
- Managing a LED in PHP
- The LAMP solution
- The built-in server solution
- Managing a LED in Python
- Managing a LED in Bash
- Writing a custom daemon
- A daemon in C
- A daemon in PHP
- A daemon in Python
- A daemon in Bash
- Summary
- Chapter 5: Setting Up an Embedded OS
- MTD versus block devices
- What is an MTD device?
- Managing an MTD device
- Filesystems for flash memories
- JFFS2 versus UBIFS
- Building a JFFS2 filesystem
- Building a UBIFS filesystem
- OpenWrt
- Using the default configuration
- Adding a (quasi) LAMP system
- Adding a custom package
- Yocto
- Using the default recipe
- Adding the graphic support
- Adding a custom recipe
- Summary
- Chapter 6: General Purposes Input Output signals - GPIO.
- What is a GPIO line?
- GPIOs lines on the BeagleBone Black
- GPIOs on the SAMA5D3 Xplained
- GPIOs on the Wandboard
- GPIOs in Linux
- Getting access to GPIOs
- Bash
- C
- Using GPIOs with scripting languages
- PHP
- Python
- Managing GPIO into the kernel
- An input device using GPIOs
- LEDs and triggers
- Summary
- Chapter 7: Serial Ports and TTY Devices - TTY
- What are TTY, serial, and UART lines?
- The electrical lines
- TTYs on the BeagleBone Black
- TTYs on the SAMA5D3 Xplained
- TTYs on the Wandboard
- Implementations of serial ports
- The serial ports in Linux
- The communication parameters
- Getting access to TTYs
- Distance sensor
- RFID LF reader
- Managing TTY in the kernel with SLIP
- Summary
- Chapter 8: Universal Serial Bus - USB
- What is the universal serial bus?
- The electrical lines
- USB ports on the BeagleBone Black
- USB ports on the SAMA5D3 Xplained
- USB ports on the Wandboard
- The USB bus in Linux
- Acting as a host
- Acting as a device
- The Multi gadget
- The configfs gadget
- The USB tools
- The raw USB bus
- Accessing as a host
- Summary
- Chapter 9: Inter-Integrated Circuits - I2C
- What is the Inter-Integrated Circuit bus?
- The electrical lines
- I2C ports on the SAMA5D3 Xplained
- I2C ports on the Wandboard
- The I2C bus in Linux
- The I2C tools
- Getting access to I2C devices
- EEPROM, ADC and IO Expander
- EEPROM
- ADC
- IO Expander
- The temperature/humidity and pressure sensors
- Serial port
- The Raw I2C Bus
- Writing data in C
- Reading data in Python
- Summary
- Chapter 10: Serial Peripheral Interface - SPI
- What is the Serial Peripheral Interface bus?
- The electrical lines
- SPI ports on the BeagleBone Black
- SPI ports on the SAMA5D3 Xplained
- SPI ports on the Wandboard
- The SPI bus in Linux
- The SPI tools.
- Getting access to SPI devices
- LCD display
- Serial port
- The raw SPI bus
- Exchanging data in C
- Exchanging data in Python
- Summary
- Chapter 11: 1-Wire - W1
- What is the 1-Wire Bus?
- The electrical lines
- 1-Wire ports on the BeagleBone Black
- 1-Wire ports on the SAMA5D3 Xplained
- 1-Wire ports on the Wandboard
- The 1-Wire bus in Linux
- Getting access to 1-Wire devices
- Using the GPIO interface
- Using an external controller
- Summary
- Chapter 12: Ethernet Network Device - ETH
- What is an Ethernet network device?
- Electrical lines
- Ethernet port on the BeagleBone Black
- Ethernet ports on the SAMA5D3 Xplained
- Ethernet port on the Wandboard
- The Ethernet devices in Linux
- The net tools
- Communicating with a remote device
- A simple TCP client/server application
- Using ready-to-use networking tools
- The raw Ethernet bus
- Simple Ethernet bridging
- Summary
- Chapter 13: Wireless Network Device - WLAN
- What is a wireless network device?
- The electrical lines
- WLAN device on the BeagleBone Black
- WLAN device on the SAMA5D3 Xplained
- WLAN device on the Wandboard
- WLAN devices in Linux
- Pluggable external WLAN devices
- The Wi-Fi operation modes
- The wireless tools
- The WPA supplicant
- The Hostapd daemon
- Summary
- Chapter 14: Controller Area Network - CAN
- What is the CAN bus?
- The electrical lines
- CAN ports on the BeagleBone Black
- CAN ports on the SAMA5D3 Xplained
- CAN ports on the Wandboard
- The CAN bus in Linux
- The can-utils package
- The raw CAN bus
- Exchanging data via the CAN bus
- Using the on-board controller
- Using an external controller
- Summary
- Chapter 15: Sound Devices - SND
- What is a sound device?
- The electrical lines
- Sound on the BeagleBone Black
- Sound on the SAMA5D3 Xplained
- Sound on the Wandboard
- Sound in Linux.
- The audio tools
- The ALSA utils
- Madplay
- Mplayer
- Sox
- The USB audio device class
- Managing sound devices
- Adding an audio codec
- A simple oscilloscope
- Summary
- Chapter 16: Video devices - V4L
- What is a video device?
- The electrical lines
- Video on the BeagleBone Black
- Video on the SAMA5D3 Xplained
- Video on the Wandboard
- Video in Linux
- The video tools
- The USB video class device
- Managing video devices
- Streaming video over the Web
- Capturing motion
- Summary
- Chapter 17: Analog-to-Digital Converters - ADC
- What is an analog-to-digital converter device?
- The electrical lines
- ADCs on the BeagleBone Black
- ADCs on the SAMA5D3 Xplained
- ADCs on the Wandboard
- ADCs in Linux
- Detecting a gas
- Summary
- Chapter 18: Pulse-Width Modulation - PWM
- What is a PWM device?
- The electrical lines
- PWMs on the BeagleBone Black
- PWMs on the SAMA5D3 Xplained
- PWMs on the Wandboard
- PWM devices in Linux
- Managing a servo motor
- Summary
- Chapter 19: Miscellaneous Devices
- Digital sensors
- Water sensor
- Infrared sensor
- Analog sensors
- Moisture sensor
- Pressure sensor
- Light sensor
- GSM/GPRS modem
- Smart card reader
- RFID reader
- Z-Wave
- Z-Wave controllers
- The Z-Wave wall plug sensor
- The Z-Wave multi sensor
- Summary
- Index.