Tuesday, July 11, 2006

How to start with ARM?

In mainling lists, idiots are abundant. So, if a newbie to ARM asks for a tutorial he or she might be totally made a fool because you are supposed to find everything on ARM site. This is actually true, but perhaps one needs some small bits of info to get started:

  • ARM does not ASSEMBLY chips just processor cores and compilers
  • If you are writting software for an ARM based platform you should not worry about its low level issues unless you are using its registers or low level features. However it is good to know how to write proper code for ARM, the ARM web site has all this information at http://www.arm.com/pdfs/DAI0034A_efficient_c.pdf
  • Prior to reading the full docs for the cores ( ARM 7, 9, 10, 11 or Cortex ) read the marketing docs at http://www.arm.com/documentation/Product_Info_Flyers/index.html
  • For further knowledge there are several docs at http://www.arm.com/documentation/ARMProcessor_Cores/index.html
  • If you are programming ARM using ARM compilers certify that you are using either ADS or Realview. The docs are free to download at http://www.arm.com/documentation/Software_Development_Tools/index.html
  • All these are pdf files but you can have a look at the site for extra info on HTML.
  • There is no magic doc that will make ARM cores easy to learn, all that is need is to read their docs depending on your goals. For example, I write software but I love HARDWARE specs so I read it all ;-)
  • Take a look at ARM partners that assembly chips like ATMEL or Phillips. They have implementations of ARM based microprocessors.
  • There are 3 books that explain ARM, go to Amazon.com and select ARM. I can't afford them so I am not sure if they are good. If they are let me know.
  • If you want a good look at ARM cores check the introductory chapter at each Technical Reference manuals: they explain it all in a few words.
  • Have your printer ON and print what you find important. I have found good articles on the web on ARM but the best ones are within the ARM site at http://www.arm.com/documentation/Application_Notes/index.html
  • As of today, I am still looking for that magical 200 pages free pdf with all the info on ARM that I need but that is like a holy grail ;-)
  • AMBA is another magical word if you design chips. It is a spec for bus development and how you integrate several circuits with ARM cores. That is not my area you know ;-)
That is all I advise you for now.

No comments: