HN Books has aggregated all Hacker News stories and comments that mention "ARM System Developer's Guide: Designing and Optimizing System Software (The Morgan Kaufmann Series in Computer Architecture and Design)" by Andrew Sloss, Dominic Symes, Chris Wright.
HN Books may receive an affiliate commission when you make purchases
on sites after clicking through links on this page.
Amazon Summary
Over the last ten years, the ARM architecture has become one of the most pervasive architectures in the world, with more than 2 billion ARM-based processors embedded in products ranging from cell phones to automotive braking systems. A world-wide community of ARM developers in semiconductor and product design companies includes software developers, system designers and hardware engineers. To date no book has directly addressed their need to develop the system and software for an ARM-based system. This text fills that gap. This book provides a comprehensive description of the operation of the ARM core from a developer’s perspective with a clear emphasis on software. It demonstrates not only how to write efficient ARM software in C and assembly but also how to optimize code. Example code throughout the book can be integrated into commercial products or used as templates to enable quick creation of productive software. The book covers both the ARM and Thumb instruction sets, covers Intel's XScale Processors, outlines distinctions among the versions of the ARM architecture, demonstrates how to implement DSP algorithms, explains exception and interrupt handling, describes the cache technologies that surround the ARM cores as well as the most efficient memory management techniques. A final chapter looks forward to the future of the ARM architecture considering ARMv6, the latest change to the instruction set, which has been designed to improve the DSP and media processing capabilities of the architecture.
Some handy things to know about ARM.. logical operations can be added on to ALU instructions for free -- lots of speed gains there...
If you have never done any embedded programming; expect things to take longer to write, and frustration levels can be pretty ugly.
If you get an ARM chip that doesn't have floating point, and you need to do something mathematically intensive, look into fixed point math. Make everything you can into a table (most ARM chips have enough memory so that you can trade space for speed)
Don't give up -- embedded requires tenacity.
Oh, and Codesourcery provides good pre-compiled toolchains, but you have to dig around on their website a bit to find them.
Lorem ipsum dolor sit amet,
consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation
ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
officia deserunt mollit anim id est laborum.