From ARMwiki
Jump to: navigation, search

There are a number of books available describing the ARM and how to use it. Your best bet is probably the likes of Amazon.

Official literature

There are three sources of official literature. The first is ARM's self service support site at - though you'll need to register for PDF downloads.

Despite being a child of the microcomputer era, I find on-screen documentation to be useful/annoying in equal measure. To me, having a book on my lap is usually quicker/better than a PDF in a window in your work area.

The two ARM Architecture Reference Manuals are quite old now, being written in 1996 and 2000 respectively. However, they are a good introduction to the workings of the processor and the instruction set, even if they miss some of the features of newer processors.

ARM Architecture Reference Manual (first edition)

  • Architecture Overview
  • Programmer's Model
  • The ARM Instruction Set
  • ARM Code Sequences
  • The 26-bit Architectures
  • The Thumb Instruction Set
  • System Architecture and System Control Coprocessor

At 328 pages, it is a pleasing size and provides details of the core instruction set up to ARMv4 (the ARM7 and ARM7TDMI generation). It is clearly laid out, albeit in the section-page numbering system which, to my mind, just complicates things unnecessarily. For finding your way around the base ARM instruction set, I would suggest that this is the best reference.

ARM Architecture Reference Manual (second edition)

  • CPU Architecture
    • Introduction to the ARM Architecture
    • Programmer's Model
    • The ARM Instruction Set
    • ARM Instructions (alphabetical list)
    • ARM Addressing Modes
    • The Thumb Instruction Set
    • Thumb Instructions (alphabetical list)
    • The 26-bit Architectures
    • ARM Code Sequences
    • Enhanced DSP Extension
  • Memory and System Architectures
    • Introduction to Memory and System Architectures
    • The System Control Coprocessor
    • Memory Management Unit
    • Protection Unit
    • Caches and Write Buffers
    • Fast Context Switch Extension
  • Vector Floating-point Architecture
    • Introduction to the Vector Floating-point Architecture
    • VFP Programmer's Model
    • VFP Instruction Set Overview
    • VFP Instructions (alphabetical list)
    • VFP Addressing Modes

At 816 pages, this hefty tome provides details of the core instruction set up to ARMv5 (i.e. the ARM926) with enhanced DSP functionality.
Sometimes you can get a good deal on Amazon Marketplace. And sometimes the current asking price is...shocking.
This is a very complete reference to the ARM instruction set, although the final fifth of the book describes VFP. Your money may vary as to whether you prefer this layout or the slightly more condensed but highlighted layout of the original - I, personally, prefer the older layout.
One of the comments on Amazon mentioned that this book was available page by page from ARM's website, and while it might be a ridiculous proposition to download and print eight hundred pages, the price that this book can command second-hand might make you reconsider such a thing.

ARM really ought to put together a definitive reference for the Cortex generation. That the last proper printed and bound reference is over a decade old is... odd... given the leaps and bounds that the ARM is making. Though, in their defence, I fear we might be looking at a book larger than a decent encyclopædia!

I shall add more literature references as I obtain the books.
And yes, those links are Amazon affiliate links. It's all I ask in return for doing this. Don't worry, I'm not going to go Jimmy Wales on you and grovel for donations... ☺

Personal tools