
ARM Architecture Reference Manual
by David Seal
This book is the official reference guide to the ARM RISC architecture. It contains information about all versions of the ARM and Thumb instruction sets, the memory management and cache functions, as well as optimized code examples.
ARM Assembly Language: Fundamentals and Techniques
by William Hohl
This book gives programmers an edge, regardless of their preferred coding language. Even today's modern coding methods, when done well, require an understanding of basic assembly. With a focus on contemporary application, it examines those aspects of assembly code relevant to the hardware and peripherals found on today's ARM microcontrollers.
ARM System Developer's Guide
by Andrew Sloss, Dominic Symes, and Chris Wright
This book contains lots of information for the Software Engineer about developing applications using the ARM architecture.
ARM System-on-Chip Architecture
by Steve B. Furber
This book presents and discusses the major issues of system-on-chip design, including memory hierarchy, caches, memory management, on-chip buses, on-chip debug and production test.
C und C++ für Embedded Systems
by Friedrich Bollow, Matthias Homann, Klaus-Peter Köhn
The third edition of this popular book, written in the German language, covers embedded software development and for the first time provides a German language introduction to ARM Cortex-M3 architecture (courtesy of guest authors, Doulos). The book includes several practical examples which are available for free download.
More information about this book is available online.
Embedded Networking with CAN and CANopen
by Pfeiffer, Ayre, & Keydel
This is a really good source of information about CAN and CANopen. The authors are the same guys that teach the CAN/CANopen classes for ESA (Embedded Systems Academy).
Numerical Recipes in C
by Cambridge
This book contains lots of C code for numerical algorithms including: solving linear equations, interpolation and extrapolation, integration, finding roots, eigen systems, DFTs and FFTs, differential equations, and lots of other stuff from college that's been forgotten.
RealView MDK-ARM
by Conan Kim
This book (in Korean) provides an good introduction for ARM processor-based microcontrollers and detailed instructions about the usage of the Keil RealView MDK-ARM toolchain.
The Art of Computer Programming Vol 1: Fundamental Algorithms
by Donald Knuth
The Art of Computer Programming books are a fantastic source of algorithms and information about all kinds of problems that arise in software engineering. Sorting and Searching explains every type of conceivable method of searching lists and sorting them. They are expensive but they are well worth it.
The Art of Computer Programming Vol 2: Seminumerical Algorithms
by Donald Knuth
The Art of Computer Programming books are a fantastic source of algorithms and information about all kinds of problems that arise in software engineering. Sorting and Searching explains every type of conceivable method of searching lists and sorting them. They are expensive but they are well worth it.
The Art of Computer Programming Vol 3: Sorting and Searching
by Donald Knuth
The Art of Computer Programming books are a fantastic source of algorithms and information about all kinds of problems that arise in software engineering. Sorting and Searching explains every type of conceivable method of searching lists and sorting them. They are expensive but they are well worth it.
The C Programming Language, 2nd edition
by Kernigan & Ritchie
This is the best C book ever written. If you already know BASIC or PASCAL, this is the book for you. This is how many of us learned to program in C back in the early eighties.
The Definitive Guide to the ARM Cortex-M0
by Joseph Yiu
This user's guide explains in depth how to program and implement the processor in real-world designs.
The author, an ARM engineer and technical authority on the Cortex-M family, teaches end users how to start from the ground up with the M0, and how to migrate from the ARM7.
The Definitive Guide to the ARM Cortex-M0
The Definitive Guide to the ARM Cortex-M3
by Joseph Yiu
In this second edition, the user's guide does far more than simply outline the ARM Cortex-M3 CPU features; it explains step-by-step how to program and implement the processor in real-world designs.
The author, an ARM engineer on the M3 development team, teaches end users how to start from the ground up with the M3, and how to migrate from the ARM7.
The Definitive Guide to the ARM Cortex-M3
USB Complete: Everything You Need to Develop Custom USB Peripherals, Second Edition
by Jan Axelson
Now in its third edition, this developer's guide to the Universal Serial Bus (USB) interface covers all aspects of project development, including device programming and host application software. This book shows how to transform the information in the USB 3.0 specifications into functioning devices and application software that communicates with the devices. To help build a foundation for design decisions, developers are guided in selecting device-controller hardware. Developers will also learn the benefits of the USB interface, its limitations, and how certain design choices made at the beginning of the project can reduce development time. Recent developments in host and device hardware, more detail on the standard USB classes, application examples using Microsoft's .NET Framework, and information on developing dual-role devices using USB On-The-Go is provided in detail.
USB Design by Example, Second Edition
by John Hyde
This unique guide goes beyond all the Universal Serial Bus (USB) specification overviews to provide you with the expert knowledge and skills you need to design and implement USB I/O devices. It is organized around a series of fully documented, real-world examples, and is structured to serve as both a step-by-step guide for creating specific devices and a complete reference to USB. Design examples cover most USB classes (HID, communications, audio, mass-storage and hub) and provide insights into high-speed USB 2.0 devices, including a device driver for a vendor class called blockio.
USB Design by Example: A Practical Guide to Building I/O Devices
by John Hyde
This unique guide goes beyond all the USB specification overviews to provide designers with the expert knowledge and skills they need to design and implement USB I/O devices.