The ARM architecture has been used for many years in mobile phones and electronic devices, but it is only relatively recently that the architecture has diversified into being used in laptops, tablets and smartphones. There are now many companies that have adopted the ARM architecture as the basis for their next world-beating technology product. This is great, but the problem is that if you are new to the ARM architecture and want to start writing programs for an ARM processor, where do you start? What document do you need to read first before you dive into the library of technical information that is available on the ARM InfoCenter?
My choice would be the recently released Cortex A-Series Programmer's Guide. This guide provides a gentle introduction to the ARM architecture used in Cortex A-Series processors, covering the main concepts that you need to know about the processor architecture and providing practical advice on how to write both C and Assembly Language programs that will run efficiently on an ARM processor. It assumes that you have some familiarity with C coding and some knowledge of microprocessor architectures, although no ARM-specific background is needed.
The guide will be well suited to your needs if you have a desktop PC or x86 background and are taking your first tentative steps into the world of ARM technology. This guide doesn't include everything you need to know, but it attempts to "throw a flying bridge across a chasm of misunderstanding" (This phrase is taken from "The Complete Plain Words' by Sir Ernest Gowers' and in my view is a perfect summary of what all good manuals should try to deliver to the reader.)
I'm told that this guide will be the first of many such introductory guides that will be created by ARM. Future guides will include more details about programming in an SMP environment, using NEON and even migrating x86 programs to ARM.
Note: The guide is only available at the moment to registered users of the ARM website. It only takes a few minutes to register your details and create an account. Details are here ...