I do a lot of bare-metal programming on ARM. Here are a few notes of things that are useful to me but are often deeply buried in datasheets:

ARM Cortex M3/M4 (at least, Freescale / Atmel) useful registers for when you bork your code: