onARM

Books

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 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.
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.
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-M3
by Joseph Yiu
This 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.
Errata Document
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.