ARM Programming and Optimisation Techniques
This tutorial paper presents some optimisation techniques for programming with ARM processors, addressing both memory (footprint) and execution time optimisation. For purposes of illustration, the ARM7TDMI is chosen as a representative of the ARM family. The 32-bit ARM instruction set is chosen as the vehicle to convey various optimisation techniques while programming references to the 16-bit Thumb instruction set are minimal.
The tutorial does not assume prior knowledge of the ARM architecture. Experience in programming with any RISC assembly language makes understanding easier, though.