Linux Device Drivers Development: Develop customized drivers for embedded Linux
Key Features
- Learn to develop customized Linux device drivers
- Learn the core concepts of device drivers such as memory management, kernel caching, advanced IRQ management, and so on.
- Practical experience on the embedded side of Linux
Linux kernel is a complex, portable, modular and widely used piece of software, running on around 80% of servers and embedded systems in more than half of devices throughout the world. Device drivers play a critical role in how well a Linux system...
USB Complete: Everything You Need to Develop Custom USB Peripherals
Who should read this book?
This book is for you if you want to know how to design and program a peripheral with a Universal Serial Bus (USB) interface, or if you want to know how to communicate with USB peripherals from the applications you write. These are some of questions the book answers:
What is USB and how do peripherals use it to communicate with PCs? There’s a lot to the USB interface, and understanding how USB works is essential in creating hardware and program code that works...
The C++ Programming Language, 4th Edition
C++11 has arrived: thoroughly master it, with the definitive new guide from C++ creator Bjarne Stroustrup, C++ Programming Language, Fourth Edition! The brand-new edition of the world's most trusted and widely read guide to C++, it has been comprehensively updated for the long-awaited C++11 standard. Extensively rewritten to present the C++11 language, standard library, and key design techniques as an integrated whole, Stroustrup thoroughly addresses changes that make C++11 feel like a whole...
Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems
The rules of battle for tracking down -- and eliminating -- hardware and software bugs. When the pressure is on to root out an elusive software or hardware glitch, what's needed is a cool head courtesy of a set of rules guaranteed to work on any system, in any circumstance. Written in a frank but engaging style, Debugging provides simple, foolproof principles guaranteed to help find any bug quickly. This book makes those shelves of application-specific debugging books (on C++, Perl, Java,...
Understanding the Linux Kernel, Third Edition
In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn't kept waiting any longer than...
Real-Time C++: Efficient Object-Oriented and Template Microcontroller Programming
With this book, Christopher Kormanyos delivers a highly practical guide to programming real-time embedded microcontroller systems in C++. It is divided into three parts plus several appendices. Part I provides a foundation for real-time C++ by covering language technologies, including object-oriented methods, template programming and optimization. Next, part II presents detailed descriptions of a variety of C++ components that are widely used in microcontroller programming. It details some...
Design Patterns for Embedded Systems in C: An Embedded Software Engineering Toolkit
A recent survey stated that 52% of embedded projects are late by 4-5 months. This book can help get those projects in on-time with design patterns. The author carefully takes into account the special concerns found in designing and developing embedded applications specifically concurrency, communication, speed, and memory usage. Patterns are given in UML (Unified Modeling Language) with examples including ANSI C for direct and practical application to C code. A basic C knowledge is a...
Programming with POSIX Threads (Addison-Wesley Professional Computing Series)
With this practical book, you will attain a solid understanding of threads and will discover how to put this powerful mode of programming to work in real-world applications.
The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same time by using the number-crunching power of multiprocessor parallelism and by automatically exploiting I/O concurrency in your code, even on a single processor machine. The result:...
TCP/IP Illustrated, Vol. 1: The Protocols (Addison-Wesley Professional Computing Series)
For students writing applications that run over TCP/IP, or for those responsible for managing and maintaining a TCP/IP internet, this book's innovative approach helps readers at all levels to truly understand how TCP/IP really works. Rather than just describing the protocols from an abstract, standards-related point of view-describing what the standards say the protocol suite should do-TCP/IP Illustrated, Volume 1 actually shows the protocols in action. Stevens also recognizes that readers...
A Tour of C++ (C++ In Depth SERIES)
The C++11 standard allows programmers to express ideas more clearly, simply, and directly, and to write faster, more efficient code. Bjarne Stroustrup, the designer and original implementer of C++, thoroughly covers the details of this language and its use in his definitive reference, The C++ Programming Language, Fourth Edition.
In A Tour of C++ , Stroustrup excerpts the overview chapters from that complete reference, expanding and enhancing them to give an experienced...
The C++ Programming Language, 4th Edition
C++11 has arrived: thoroughly master it, with the definitive new guide from C++ creator Bjarne Stroustrup, C++ Programming Language, Fourth Edition! The brand-new edition of the world's most trusted and widely read guide to C++, it has been comprehensively updated for the long-awaited C++11 standard. Extensively rewritten to present the C++11 language, standard library, and key design techniques as an integrated whole, Stroustrup thoroughly addresses changes that make C++11 feel like a whole...
Hacker's Delight
In Hacker’s Delight, Second Edition, Hank Warren once again compiles an irresistible collection of programming hacks: timesaving techniques, algorithms, and tricks that help programmers build more elegant and efficient software, while also gaining deeper insights into their craft. Warren’s hacks are eminently practical, but they’re also intrinsically interesting, and sometimes unexpected, much like the solution to a great puzzle. They are, in a word, a delight to any programmer who is...
The Linux Command Line: A Complete Introduction
You've experienced the shiny, point-and-click surface of your Linux computer—now dive below and explore its depths with the power of the command line.
The Linux Command Line takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell. Along the way you'll learn the timeless skills handed down by generations of gray-bearded, mouse-shunning gurus: file navigation, environment configuration, command chaining, pattern matching with regular...
USB: The Universal Serial Bus (FYSOS: Operating System Design Book 8)
Learn to program the four major USB controllers, UHCI, OHCI, EHCI, and the new xHCI, and communicate with devices attached to their root hubs, without operating system intervention. This book teachs you how to communicate with the bare hardware to request the device descriptors and then send and received data from various USB devices including USB external Hubs.
Programming Arduino: Getting Started With Sketches
Clear, easy-to-follow examples show you how to program Arduino with ease! "Programming Arduino: Getting Started with Sketches" helps you understand the software side of Arduino and explains how to write well-crafted Sketches (the name given to Arduino programs) using the C language of Arduino. This practical guide offers an unintimidating, concise approach for non-programmers that will get you up and running right away. "Programming Arduino: Getting Started with Sketches"Explains basic...
Some Assembly Required: Assembly Language Programming with the AVR Microcontroller
A family of internationally popular microcontrollers, the Atmel AVR microcontroller series is a low-cost hardware development platform suitable for an educational environment. Until now, no text focused on the assembly language programming of these microcontrollers. Through detailed coverage of assembly language programming principles and techniques, Some Assembly Required: Assembly Language Programming with the AVR Microcontroller teaches the basic system capabilities of 8-bit AVR...
Programming 16-Bit PIC Microcontrollers in C: Learning to Fly the PIC 24
New in the second edition:
* MPLAB X support and MPLAB C for the PIC24F v3 and later libraries
* I2CT interface
* 100% assembly free solutions
* Improved video, PAL/NTSC
* Improved audio, RIFF files decoding
* PIC24F GA1, GA2, GB1 and GB2 support
Most readers will associate Microchip's name with the ubiquitous 8-bit PIC microcontrollers but it is the new 16-bit PIC24F family that is truly stealing the scene. Orders of magnitude increases of performance, memory size and the rich peripheral...
ARM Assembly Language - an Introduction (Second Edition)
The Arm core is the most widely used embedded central processing unit, Cpu, incorporated in programmed electronic devices. Millions of products with one or more Arm cores are sold every day. Arm cores are so widely used that Arm is frequently chosen as the Cpu example for in electronic engineering and other computer courses. This is an introductory text describing the Arm assembly language and its use for simple programming tasks. The text assumes that the reader has never written programs...









