This book gives information and example code for some of the most common ARM programming tasks, and includes information for developers working on ARM architectures:
Embedded software development
Interworking ARM and Thumb code
Mixing C, C++, and assembly language
Handling processor exceptions
Using the AAPCS
Compatibility with legacy objects and libraries.