USB Complete: The Developer's Guide (Complete Guides series)
Now in its Fifth Edition, USB Complete bridges the gap between the technical specifications and the real world of designing and programming devices that connect over the Universal Serial Bus (USB). Learn how to select a USB speed, device class, and hardware for a design; communicate with devices using Visual C#; use standard host drivers to access devices, including devices that perform vendor-defined tasks; save power with USB's built-in power-conserving protocols; and create robust designs...
Embedded Software Testing: Developing reliable software from fundamentals to AI-based techniques (English Edition)
Linux Device Drivers, 3rd Edition
Device drivers literally drive everything you're interested in--disks, monitors, keyboards, modems--everything outside the computer chip and memory. And writing device drivers is one of the few areas of programming for the Linux operating system that calls for unique, Linux-specific knowledge. For years now, programmers have relied on the classic Linux Device Drivers from O'Reilly to master this critical subject. Now in its third edition, this bestselling guide provides all the information...
Inside the Arm Cortex Core: Microcontroller Architecture, Execution Flow, and Firmware Engineering (Systems Engineering
Programming Embedded Systems: With C and GNU Development Tools, 2nd Edition
If you have programming experience and a familiarity with C--the dominant language in embedded systems--Programming Embedded Systems, Second Edition is exactly what you need to get started with embedded software. This software is ubiquitous, hidden away inside our watches, DVD players, mobile phones, anti-lock brakes, and even a few toasters. The military uses embedded software to guide missiles, detect enemy aircraft, and pilot UAVs. Communication satellites, deep-space probes, and many...
Modern STM32 in Practice: A Complete step by step Guide to Modern Embedded System Design, Programming, and Deployment (J
Linux Kernel Development
Linux Kernel Development details the design and implementation of the Linux kernel, presenting the content in a manner that is beneficial to those writing and developing kernel code, as well as to programmers seeking to better understand the operating system and become more efficient and productive in their coding.
The book details the major subsystems and features of the Linux kernel, including its design, implementation, and interfaces. It covers the Linux kernel with both a...
Mastering Embedded Linux Programming: Unleash the full potential of Embedded Linux
Key Features
- Discover how to build and configure reliable embedded Linux devices
- This book has been updated to include Linux 4.9 and Yocto Project 2.2 (Morty)
- This comprehensive guide covers the remote update of devices in the field and power management
Embedded Linux runs many of the devices we use every day, from smart TVs to WiFi routers, test equipment to industrial controllers - all of them have Linux at their heart. Linux is a core technology in the implementation of the...
THE FIRMWARE DEBUGGER'S GUIDE: Troubleshooting Memory Corruption, Stack Overflows, and Linker Errors in Embedded C (THE
The Definitive Guide to the ARM Cortex-M0
The Definitive Guide to the ARM Cortex-M0 is a guide for users of ARM Cortex-M0 microcontrollers. It presents many examples to make it easy for novice embedded-software developers to use the full 32-bit ARM Cortex-M0 processor. It provides an overview of ARM and ARM processors and discusses the benefits of ARM Cortex-M0 over 8-bit or 16-bit devices in terms of energy efficiency, code density, and ease of use, as well as their features and applications. The book describes the architecture of...
Hands-On Embedded Programming with C++17: Create versatile and robust embedded solutions for MCUs and RTOSes with modern
Build safety-critical and memory-safe stand-alone and networked embedded systems
Key Features- Know how C++ works and compares to other languages used for embedded development
- Create advanced GUIs for embedded devices to design an attractive and functional UI
- Integrate proven strategies into your design for optimum hardware performance
C++ is a great choice for embedded development, most notably, because it does not add any bloat, extends maintainability, and offers many...
Software Engineering for Embedded Systems: Methods, Practical Techniques, and Applications
Software Engineering for Embedded Systems: Methods, Practical Techniques, and Applications, Second Edition provides the techniques and technologies in software engineering to optimally design and implement an embedded system. Written by experts with a solution focus, this encyclopedic reference gives an indispensable aid on how to tackle the day-to-day problems encountered when using software engineering methods to develop embedded systems. New sections cover peripheral programming, Internet...
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...
Linux Driver Development for Embedded Processors - Second Edition: Learn to develop Linux embedded drivers with kernel 4
LINUX DRIVER DEVELOPMENT FOR EMBEDDED PROCESSORS - SECOND EDITION - The flexibility of Linux embedded, the availability of powerful, energy efficient processors designed for embedded computing and the low cost of new processors are encouraging many industrial companies to come up with new developments based on embedded processors. Current engineers have in their hands powerful tools for developing applications previously unimagined, but they need to understand the countless features that...
STM32 Arm Programming for Embedded Systems (Mazidi & Naimi ARM)
This book covers the peripheral programming of the STM32 Arm chip. Throughout this book, we use C language to program the STM32F4xx chip peripherals such as I/O ports, ADCs, Timers, DACs, SPIs, I2Cs and UARTs. We use STM32F446RE NUCLEO Development Board which is based on ARM® Cortex®-M4 MCU. Volume 1 of this series is dedicated to Arm Assembly Language Programming and Architecture. See our website for other titles in this series: www.MicroDigitalEd.com You can also find the tutorials,...
USB: The Universal Serial Bus
Have you ever wondered how to use the USB hardware to send and receive data from an attached device? Wondered how to detect and initialize the controller, retrieve the device's descriptors, configure the device, and then communicate with it to send or retrieve its data? This book explains the ins and outs of the four major controllers, starting with the UHCI, OHCI, EHCI, and then the new Super Speed xHCI Controller. It explains in detail how to communicate with the various devices such as...
Reusable Firmware Development: A Practical Approach to APIs, HALs and Drivers
Gain the knowledge and skills necessary to improve your embedded software and benefit from author Jacob Beningo’s more than 15 years developing reusable and portable software for resource-constrained microcontroller-based systems. You will explore APIs, HALs, and driver development among other topics to acquire a solid foundation for improving your own software. Reusable Firmware Development: A Practical Approach to APIs, HALs and Drivers not only explains critical concepts, but also...
ARM A32 Assembly Language: 32-Bit ARM, Neon, VFP, Thumb
ARM A32 ASSEMBLY LANGUAGE is your hands-on guide to learning how to program in ARM machine code using the world’s most modern microprocessor. Ideal for the novice, this book will take you from first principles through to becoming a competent ARM programmer. It covers all aspects of the ARM instruction set including Thumb, Neon, Advanced SIMD and Vector Floating Point Programming. The book covers the new Unified Assembly Language (UAL) and the use of AArch32 State in the latest range of ARM...
The RISC-V Reader: An Open Architecture Atlas
The RISC-V Reader is a concise introduction and reference for embedded systems programmers, students, and the curious to a modern, popular, open architecture. RISC-V spans from the cheapest 32-bit embedded microcontroller to the fastest 64-bit cloud computer. The text shows how RISC-V followed the good ideas of past architectures while avoiding their mistake.
Highlights include:
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...







