• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 904
  • Last Modified:

ARM programming languages

is the programming language /environment/libraries used in the 3 families of ARM processors(cortex-M,cortex-R and cortex-A) are the same ,i.e. if i learn for example cortex-R programming will i be able to make programs for the other two without relearning a whole new language/environment?

i know they probably will not be identical but ihope at least "upgrading" myself from one to the other  takes a whole lots of learning .
 how much they differ / are similar ?

note that i don't mean code compatibility but rather i don't like picking up books and learning too much ,any links to resources that will help me is highly appreciated.
2 Solutions
From what research I have been able to do, the base language is the same.  Other languages than just the assembly are supported.  I saw reference to C and Java, there may be others.  I believe that Embarcadero is working on a new compiler that will be capable of compiling to ARM chips.  This would mean Delphi and C++ Builder would be able to handle such compiling in RAD STUDIO XE3(? - not sure of the name as it is not out yet).


It looks like the main differences have to do with how many pipelines are supported, predictive branching, and I believe I saw mention of some that have more than one core.

This link shows that a newer version does have basically the same instructions with some new ones added.  It also discusses migrating between the two versions(ARM7TDMI  and Cortex-M3).

If you are using a language other than assembly then the differences should be taken into account for you (as long as your compiler optimizes for the different versions).
There are minor differences between the various ARM processors, but the core instruction set is the same for all versions.  Unless you are doing operating system or system library development, or have very unusual technical requirements, you don't need to be concerned about the differences.

Almost everything you learn about ARM programming will be applicable to all ARM processors.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now