For the last couple of years, I have been getting a lot of
e-mail from different LinkedIn groups. I'm interested in groups like Android,
Embedded Linux, ARM, EDA Bloggers, and more. A majority of the days I don't
have time to read much (or any) of the information and end up deleting a lot of e-mail. Today,
I found a wonderful link that makes all of the time spent deleting e-mail worth
In the ARM group, I found a link to a document (really a book) called
ARM Cortex-A Programmer's Guide that is available from ARM. Getting the document
requires a login on the ARM website, but it's the same account used for many
other things (like commenting on blogs) so I highly recommend taking a few minutes
to do it.
The Cortex-A Programmer's Guide is 400+ pages and is a wonderful mix
of practical information combined with a lot of the ARM architecture details. I'm sure some of the information can be found in other places, but now it's combined
in a central place and in a much easier to read format compared to reading technical
reference manuals. It will also save a lot of time spent searching the web and the ARM
In my daily work on Virtual Platforms, there are many times I need to port software to different platforms and processors. I also need
to bring up new platforms with various types of software including test
software, boot loaders, and operating systems. More specifically, I spend a lot of
time on ARM Linux bring-up. It's great to have an OS
like Linux, but it always takes time to configure and do the bring-up on many
different ARM systems, each of which has different CPU types, a different memory map, and different
hardware that requires different device drivers.
As a Virtual Platform creator
my primary task is not to create brand new software, so I spend time running a lot
of software I'm not that familiar with. Of course, this unfamiliar software
usually doesn't work the first time, and requires debugging. The best way to minimize
debugging time is a combination of good debugging tools and a systematic
debugging approach. A good understanding of the material in this book
definitely helps with the systematic approach because it makes it
easier to identify correct and incorrect behavior.
The ARM Cortex-A Programmers Guide clarifies many
topics that can be learned using a Virtual Platform because of the excellent
visibility provided by simulation. Maybe in the future I can show some of book topics in action running on a Virtual Platform simulation.
For any Cadence people reading this, expect me to ask
you if you read this programmer's guide when you ask questions about how things
Congratulations to the fine people at ARM for writing this book and making it available.
Thank you very much for the nice article Jason!
The team has now released a new revision of this document. Adding Cortex-A15, Large Physical Address Extension (LPAE) and also a new chapter on virtualization...
Feedback received from readers was also integrated :)
ARM Connected Community