Normal view MARC view ISBD view

Linux for Embedded and Real-Time Applications.

By: Abbott, Doug.
Material type: materialTypeLabelBookSeries: eBooks on Demand.Publisher: Saint Louis : Elsevier Science & Technology, 2017Copyright date: ©2018Edition: 4th ed.Description: 1 online resource (305 pages).Content type: text Media type: computer Carrier type: online resourceISBN: 9780128112786.Subject(s): Embedded computer systems-Programming | Linux | Operating systems (Computers)Genre/Form: Electronic books.Additional physical formats: Print version:: Linux for Embedded and Real-Time ApplicationsDDC classification: 005.4/46 Online resources: Click here to view this ebook.
Contents:
Front Cover -- Linux for Embedded and Real-time Applications -- Copyright Page -- Dedication -- Contents -- Preface -- Audience and Prerequisites -- What's New in this Edition -- Personal Biases -- Organization -- I. Introduction -- 1 The embedded and real-time space -- What is Embedded? -- What is Real-Time? -- How and Why Does Linux Fit in? -- Open Source -- Portable and Scalable -- Where is Linux Embedded? -- Open Source Licensing -- Legal Issues -- Alternatives to Linux -- FreeRTOS -- MicroC/OS -- Resources -- 2 Installing linux -- Distributions -- Linux Mint -- Debian GNU/Linux -- Ubuntu -- Red Hat Enterprise Linux -- Fedora -- CentOS -- SUSE -- Hardware Requirements -- Installation Scenarios -- Stand-Alone -- Dual-Booting -- Virtualization -- Installing VirtualBox -- DVD or Live CD? -- Installation Process -- Resources -- 3 Introducing linux -- Running Linux-KDE -- File Manager -- Shell Window -- Linux Features -- Protected Mode Architecture -- Real Mode -- Protected Mode -- "Flat" Versus Segmented Memory Models -- Paging -- 64-Bit Paging -- The Linux Process Model -- The Fork() Function -- The Execve() Function -- The Linux File System -- File Permissions -- The "Root" User -- The /Proc File System -- The Filesystem Hierarchy Standard -- The /usr hierarchy -- "Mounting" File Systems -- System Configuration -- The Shell -- Getting Help -- Resources -- 4 The host development environment -- Cross-Development Tools: the GNU Tool Chain -- Gnu Compiler Collection -- Make -- Gnu DeBugger -- Getting and Installing the Software -- Install Cross-Tool Chain -- The Terminal Emulator, minicom -- Networking -- Network Address -- What About Wireless? -- Network File System -- Trivial File Transfer Protocol -- Resources -- 5 Eclipse integrated development environment -- Overview -- Plug-ins -- Workbench -- Installation -- Using Eclipse.
The C Development Environment (CDT) -- Creating a New Project -- Adding Source Code to the Project -- Content Assist -- Code Templates -- Automatic Closing -- The Program -- Building the Project -- Debugging With CDT -- The Debug View -- Variables View -- Breakpoints View -- Memory View -- Finish Debugging -- Additional Plug-ins -- Summary -- Resources -- 6 The hardware -- The ARM Architecture -- Open Source Hardware -- BeagleBoard -- Specifications (Rev. C4) -- BeagleBoard-xM -- BeagleBone -- BeagleBone Black -- Gumstix -- Additional specifications -- Raspberry Pi -- Specifications -- Setting up the BeagleBone Black -- Flash Memory and File Systems -- BeagleBone Black Memory Configuration -- Preparing the Board -- Caveat -- The Boot Process -- Differences Between Version 7.4 and Version 8.7 -- The Root File System Image -- Boot to the NFS File System -- What Can Go Wrong? -- Resources -- II. Application programming in a cross-development environment -- 7 Accessing hardware -- Review -- ARM I/O Architecture -- LEDs -- Accessing I/O From Linux: Our First Program -- Creating a Project -- The Target Execution Environment -- The led Program -- The Makefile -- A Data Acquisition Example -- Set Up the Hardware -- Accessing the Analog Subsystem -- Resources -- 8 Debugging embedded software -- Remote Debugging With Eclipse -- Remote Debug Launch Configuration -- A Thermostat -- Host Workstation as Debug Environment -- Advanced Breakpoint Features -- Debugger Services Framework -- Configuring Remote System Explorer -- Debugging With Remote System Explorer -- Resources -- 9 Posix threads -- Threads -- Thread Attributes -- Synchronization: Mutexes -- Mutex Attributes -- Problems With Solving the Resource Sharing Problem: Priority Inversion -- Communication: Condition Variables -- Condition Variable Attributes -- Thread Termination and Cancellation.
Cleanup Handlers -- Pthreads Implementations -- Upgrading the Thermostat -- Changes Required in Thermostat.c -- Debugging Multithreaded Programs -- Resources -- 10 Embedded networking -- Sockets -- The Server Process -- The Client Process -- Socket Attributes -- A Simple Example -- The Server -- The Client -- Try it Out -- A Remote Thermostat -- Multiple Monitor Threads -- Embedded Web Servers -- Background on HTTP -- A Web-Enabled Thermostat -- Dynamic Web Content -- Forms and the POST Method -- Build and Try it -- "Real" Web Servers -- Apache -- Lighttpd -- Node.js -- Resources -- 11 Graphics programming with QT -- Getting and Installing QT -- QT Basics -- Signals and Slots -- A Simple Example -- QT Designer -- Putting QT on the ARM -- Build the Target Libraries -- Create Build Environment for Target Applications -- A Graphical Thermostat -- Resources -- III. Components and tools -- 12 Configuring and building the Linux kernel -- Getting Started -- Where's the Source Code? Upstream versus Downstream Kernels -- Kernel Version Numbering -- Additional Tools -- Getting and Installing the BeagleBone Kernel -- Patching the Kernel -- The Kernel Source Tree -- Kernel Makefile -- Configuring the Kernel: make config, menuconfig, xconfig -- Xconfig Options -- .config File -- A Problem -- Building the Kernel -- Workstation Digression -- Booting the New Kernel -- Behind the Scenes: What's Really Happening -- Resources -- 13 Integrated build environments -- The Problem -- Buildroot -- Open Embedded -- OE Metadata -- Testing the New Image: Quick EMUlator -- Personal Observations -- Yocto Project -- Application Development with Yocto: The Software Development Kit and Eclipse -- Personal Observations -- Resources -- 14 BusyBox and Linux initialization -- Introducing BusyBox -- Configuring and Installing BusyBox -- BusyBox Settings -- Applets.
Building and Installing -- Using BusyBox -- User Space Initialization -- Stage 1 Boot Loader -- Stage 2 MLO -- U-Boot -- Linux Kernel -- Systemd -- User Space Initialization, the "Old Way" -- Resources -- 15 U-boot boot loader and getting ready to ship -- U-Boot -- Background -- Installing and Configuring U-Boot -- Testing a New U-Boot -- The "Sandbox" -- Device Trees -- Putting the Application in eMMC Flash -- Resources -- 16 Source code control - GIT -- Background -- Introducing git -- File states and life cycle -- Branching and merging -- Configuring git -- Graphical git -- Creating a new repository -- Resources -- 17 Linux and real-time -- Hard versus Soft Real-Time -- Why Linux is Not Real-Time -- Measuring Latency: Cyclictest -- Improving Linux Latency -- Two Approaches -- Preemption Improvement -- Interrupt Abstraction -- A Third Way: Xenomai -- Working With PREEMPT_RT -- Wrap Up -- Resources -- Appendix A: U-boot Commands -- Information Commands -- Memory Commands -- NAND Flash Memory Commands -- Execution Control Commands -- Download Commands -- Environment Variable Commands -- Environment Variables -- Appendix B: Why Software Should Not Have Owners -- Index -- Back Cover.
Tags from this library: No tags from this library for this title. Log in to add tags.
Item type Current location Call number URL Status Date due Barcode
Electronic Book UT Tyler Online
Online
QA76.76.O63 .A236 2018 (Browse shelf) https://ebookcentral.proquest.com/lib/uttyler/detail.action?docID=5148574 Available EBC5148574

Front Cover -- Linux for Embedded and Real-time Applications -- Copyright Page -- Dedication -- Contents -- Preface -- Audience and Prerequisites -- What's New in this Edition -- Personal Biases -- Organization -- I. Introduction -- 1 The embedded and real-time space -- What is Embedded? -- What is Real-Time? -- How and Why Does Linux Fit in? -- Open Source -- Portable and Scalable -- Where is Linux Embedded? -- Open Source Licensing -- Legal Issues -- Alternatives to Linux -- FreeRTOS -- MicroC/OS -- Resources -- 2 Installing linux -- Distributions -- Linux Mint -- Debian GNU/Linux -- Ubuntu -- Red Hat Enterprise Linux -- Fedora -- CentOS -- SUSE -- Hardware Requirements -- Installation Scenarios -- Stand-Alone -- Dual-Booting -- Virtualization -- Installing VirtualBox -- DVD or Live CD? -- Installation Process -- Resources -- 3 Introducing linux -- Running Linux-KDE -- File Manager -- Shell Window -- Linux Features -- Protected Mode Architecture -- Real Mode -- Protected Mode -- "Flat" Versus Segmented Memory Models -- Paging -- 64-Bit Paging -- The Linux Process Model -- The Fork() Function -- The Execve() Function -- The Linux File System -- File Permissions -- The "Root" User -- The /Proc File System -- The Filesystem Hierarchy Standard -- The /usr hierarchy -- "Mounting" File Systems -- System Configuration -- The Shell -- Getting Help -- Resources -- 4 The host development environment -- Cross-Development Tools: the GNU Tool Chain -- Gnu Compiler Collection -- Make -- Gnu DeBugger -- Getting and Installing the Software -- Install Cross-Tool Chain -- The Terminal Emulator, minicom -- Networking -- Network Address -- What About Wireless? -- Network File System -- Trivial File Transfer Protocol -- Resources -- 5 Eclipse integrated development environment -- Overview -- Plug-ins -- Workbench -- Installation -- Using Eclipse.

The C Development Environment (CDT) -- Creating a New Project -- Adding Source Code to the Project -- Content Assist -- Code Templates -- Automatic Closing -- The Program -- Building the Project -- Debugging With CDT -- The Debug View -- Variables View -- Breakpoints View -- Memory View -- Finish Debugging -- Additional Plug-ins -- Summary -- Resources -- 6 The hardware -- The ARM Architecture -- Open Source Hardware -- BeagleBoard -- Specifications (Rev. C4) -- BeagleBoard-xM -- BeagleBone -- BeagleBone Black -- Gumstix -- Additional specifications -- Raspberry Pi -- Specifications -- Setting up the BeagleBone Black -- Flash Memory and File Systems -- BeagleBone Black Memory Configuration -- Preparing the Board -- Caveat -- The Boot Process -- Differences Between Version 7.4 and Version 8.7 -- The Root File System Image -- Boot to the NFS File System -- What Can Go Wrong? -- Resources -- II. Application programming in a cross-development environment -- 7 Accessing hardware -- Review -- ARM I/O Architecture -- LEDs -- Accessing I/O From Linux: Our First Program -- Creating a Project -- The Target Execution Environment -- The led Program -- The Makefile -- A Data Acquisition Example -- Set Up the Hardware -- Accessing the Analog Subsystem -- Resources -- 8 Debugging embedded software -- Remote Debugging With Eclipse -- Remote Debug Launch Configuration -- A Thermostat -- Host Workstation as Debug Environment -- Advanced Breakpoint Features -- Debugger Services Framework -- Configuring Remote System Explorer -- Debugging With Remote System Explorer -- Resources -- 9 Posix threads -- Threads -- Thread Attributes -- Synchronization: Mutexes -- Mutex Attributes -- Problems With Solving the Resource Sharing Problem: Priority Inversion -- Communication: Condition Variables -- Condition Variable Attributes -- Thread Termination and Cancellation.

Cleanup Handlers -- Pthreads Implementations -- Upgrading the Thermostat -- Changes Required in Thermostat.c -- Debugging Multithreaded Programs -- Resources -- 10 Embedded networking -- Sockets -- The Server Process -- The Client Process -- Socket Attributes -- A Simple Example -- The Server -- The Client -- Try it Out -- A Remote Thermostat -- Multiple Monitor Threads -- Embedded Web Servers -- Background on HTTP -- A Web-Enabled Thermostat -- Dynamic Web Content -- Forms and the POST Method -- Build and Try it -- "Real" Web Servers -- Apache -- Lighttpd -- Node.js -- Resources -- 11 Graphics programming with QT -- Getting and Installing QT -- QT Basics -- Signals and Slots -- A Simple Example -- QT Designer -- Putting QT on the ARM -- Build the Target Libraries -- Create Build Environment for Target Applications -- A Graphical Thermostat -- Resources -- III. Components and tools -- 12 Configuring and building the Linux kernel -- Getting Started -- Where's the Source Code? Upstream versus Downstream Kernels -- Kernel Version Numbering -- Additional Tools -- Getting and Installing the BeagleBone Kernel -- Patching the Kernel -- The Kernel Source Tree -- Kernel Makefile -- Configuring the Kernel: make config, menuconfig, xconfig -- Xconfig Options -- .config File -- A Problem -- Building the Kernel -- Workstation Digression -- Booting the New Kernel -- Behind the Scenes: What's Really Happening -- Resources -- 13 Integrated build environments -- The Problem -- Buildroot -- Open Embedded -- OE Metadata -- Testing the New Image: Quick EMUlator -- Personal Observations -- Yocto Project -- Application Development with Yocto: The Software Development Kit and Eclipse -- Personal Observations -- Resources -- 14 BusyBox and Linux initialization -- Introducing BusyBox -- Configuring and Installing BusyBox -- BusyBox Settings -- Applets.

Building and Installing -- Using BusyBox -- User Space Initialization -- Stage 1 Boot Loader -- Stage 2 MLO -- U-Boot -- Linux Kernel -- Systemd -- User Space Initialization, the "Old Way" -- Resources -- 15 U-boot boot loader and getting ready to ship -- U-Boot -- Background -- Installing and Configuring U-Boot -- Testing a New U-Boot -- The "Sandbox" -- Device Trees -- Putting the Application in eMMC Flash -- Resources -- 16 Source code control - GIT -- Background -- Introducing git -- File states and life cycle -- Branching and merging -- Configuring git -- Graphical git -- Creating a new repository -- Resources -- 17 Linux and real-time -- Hard versus Soft Real-Time -- Why Linux is Not Real-Time -- Measuring Latency: Cyclictest -- Improving Linux Latency -- Two Approaches -- Preemption Improvement -- Interrupt Abstraction -- A Third Way: Xenomai -- Working With PREEMPT_RT -- Wrap Up -- Resources -- Appendix A: U-boot Commands -- Information Commands -- Memory Commands -- NAND Flash Memory Commands -- Execution Control Commands -- Download Commands -- Environment Variable Commands -- Environment Variables -- Appendix B: Why Software Should Not Have Owners -- Index -- Back Cover.

Description based on publisher supplied metadata and other sources.

There are no comments for this item.

Log in to your account to post a comment.