

ARM programming, where do I start? - helwr
http://ask.metafilter.com/95878/ARM-programming-where-do-I-start

======
pan69
OK. These are the two books you need when you start out programming for ARM
chips:

ARM System-on-Chip Architecture (2nd Edition) By Steve Furber (the guy who
designed the bloody chip!) [http://www.amazon.com/ARM-System-Chip-
Architecture-2nd/dp/02...](http://www.amazon.com/ARM-System-Chip-
Architecture-2nd/dp/0201675196/ref=sr_1_3?e=UTF8&s=books&qid=1270705044&sr=1-3)

ARM Architecture Reference Manual (2nd Edition) By David Seal
[http://www.amazon.com/ARM-Architecture-Reference-
Manual-2nd/...](http://www.amazon.com/ARM-Architecture-Reference-
Manual-2nd/dp/0201737191/ref=pd_sim_b_6)

------
Dav3xor
Depends on what you want to do. Getting a beagleboard would be a no brainer to
start out.

[http://www.amazon.com/ARM-System-Developers-Guide-
Architectu...](http://www.amazon.com/ARM-System-Developers-Guide-
Architecture/dp/1558608745) is a good book, you might want to buy a copy.

Some handy things to know about ARM.. logical operations can be added on to
ALU instructions for free -- lots of speed gains there...

If you have never done any embedded programming; expect things to take longer
to write, and frustration levels can be pretty ugly.

If you get an ARM chip that doesn't have floating point, and you need to do
something mathematically intensive, look into fixed point math. Make
everything you can into a table (most ARM chips have enough memory so that you
can trade space for speed)

Don't give up -- embedded requires tenacity.

Oh, and Codesourcery provides good pre-compiled toolchains, but you have to
dig around on their website a bit to find them.

~~~
pan69
"If you get an ARM chip that doesn't have floating point..."

Or that there is no dedicated instruction to divide. :)

------
kqr2
Also, you can get started on an emulator such as qemu:

<http://www.nongnu.org/qemu/>

~~~
Hast
Or even start playing with eg Android SDK/NDK which runs their emulator on
qemu. Pretty much all mobile phones run on ARM though so pick which ever you
are most comfortable with.

------
stusmith1977
Slightly off the wall idea... but you could buy an old Archimedes or RiscPC
off eBAY. There's an ARM assembler built-in (OS, BASIC V, assembler, and some
apps are in ROM).

