This documentation does not attempt to teach the C or assembly language programming; rather, you should seek out one of the many introductory texts available. And similarly the documentation doesn't cover the ARM architecture or microcontroller application development in any great depth.

We also assume that you're fairly familiar with the operating system of the host computer being used.

C programming guides

These are must-have books for any C programmer:

ANSI C reference

If you're serious about C programming, you may want to have the ISO standard on hand:

ARM microcontrollers

For ARM technical reference manuals, specifications, user guides and white papers, go to:

GNU compiler collection

For the latest GCC documentation go to:

LLVM/Clang

For the latest LLVM/Clang documentation to to: