You are viewing an older revision! See the latest version
Books
ARM Microcontrollers (pt1) - 35 projects for beginners¶
- Author: Bert van Dam
- Book on Elektor Website
- Book with Starter Kit on Elektor Website
- ISBN: 978-0-905705-94-1
Official book summary
The perfect book for hobbyists, students and engineers who want to learn C and how to use an mbed ARM microcontroller in an easy and fun way, without the need for cumbersome software installations.
The projects in this book are meant for beginners in C and ARM microcontrollers. That doesn't mean the projects are simple, but it does mean that they are easy to understand. We use for example USB communications, a subject that is made so easy by the mbed that it is suitable for a beginners book.
Features of this book
- Learn how to program an mbed ARM microcontroller using cloud technology. No complicated software installation on your PC needed.
- Learn programming in C by doing fun and interesting projects. No previous experience or knowledge required.
- Examples of projects in this book: flashing light, timer, light activated switch, digital thermometer, people detector, USB communication, talking microcontroller, debugging, sound switch, and much more - 35 projects in total.
- Examples of C subjects in this book: variables, commands, functions, program execution, pointers (introduction).
The Definitive Guide to the ARM Cortex-M3¶
- Author: Joseph Yiu
- Book on Amazon (UK)
Official book summary
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. It teaches readers how to utilize the complete and thumb instruction sets in order to obtain the best functionality, efficiency, and reuseability. The author, an ARM engineer who helped develop the core, provides many examples and diagrams that aid understanding. Quick reference appendices make locating specific details a snap!
Thinking in C++¶

- Author: Bruce Eckel
- Free electronic version of C++ textbook
- Vol 1 on Amazon
- Vol 2 on Amazon
Official book summary
Fully revised and beefed up with plenty of new material on today's Standard C++, the new edition of Bruce Eckel's Thinking in C++: Volume I is an excellent tutorial to mastering this rich (and sometimes daunting) programming language, filled with expert advice and written in a patient, knowledgeable style. The effective presentation, along with dozens of helpful code examples, make this book a standout. The text first sets the stage for using C++ with a tour of what object-oriented programming is all about, as well as the software design life cycle. The author then delves into every aspect of C++, from basic keywords and programming principles to more advanced topics, like function and operator overloading, virtual inheritance, exception handling, namespaces, and templates. C++ is a complex language, and the author covers a lot of ground using today's Standard C++, but without getting bogged down in excessive detail.
The emphasis here is on practical programming, so there's basic advice on using header files, preprocessor directives, and namespaces to organize code effectively. Each chapter ends with exercises (usually about two dozen), and the entire text of the book is available on the accompanying CD-ROM. (So is the second volume, which tours Standard C++ classes and other advanced topics.)
Topics covered: Introduction to objects, inheritance, composition, polymorphism, exception handling, analysis and design fundamentals, advantages of C++, transitioning from C, compiling and building programs, writing C++ functions, flow control, C++ operators, data types, casting, debugging tips, pointers to functions, designing reusable C++ classes, conditional compilation and header files, access specifiers, constructors and destructors, function overloading and default arguments, using const and static effectively, inlining, namespaces, references, copy constructors, operator overloading, using new and delete for dynamic objects, virtual functions, abstract classes, introduction to templates, and iterators.