• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Blogs
  2. Verification
  3. A Must Read: the ARM Cortex-A Programmer's Guide
jasona
jasona

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
ARM Cortex-A
virtual platforms
programmer's guide
virtual prototypes
Cortex-A
virual platform
ARM Architecture
ARM
linux
System Design and Verification

A Must Read: the ARM Cortex-A Programmer's Guide

4 Aug 2011 • 2 minute read

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 it.

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 Infocenter.

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 work!

Congratulations to the fine people at ARM for writing this book and making it available.

Jason Andrews

 

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information