Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tools required to learn ARM on linux x86 platform [closed]

I've a x86, linux box. while reading some assorted information on ARM, i got curious and now I'm thinking of spending some time learning this architecture. My goal as of now is to be able to write trivial assembly programs for ARM, use some assembler to generate the target code for ARM and be able to run that program on an emulated ARM machine. To start with I've downloaded ARM architecture reference manual. According to the information here , Keil is not supported on Linux, hence please help me with the tools(assembler, emulator) that I'd need.

like image 371
Amit Avatar asked Jun 05 '11 10:06

Amit


1 Answers

Basically, you need two things - a toolchain and an emulator.

The toolchain consists of all that you need to build applications for the ARM architecture and to run it on the target (in your case, an emulator). A good place to start would be buildroot or ELDK. These will provide you with a complete cross-Linux solution. If you want to only be able to compile, without working with a Linux installation (and the accompanying rootfs), you can use only a cross-compiler. One free is CodeSourcery, but there are some others as well (most based on GCC).

The emulator is the place you will run the code, that will behave like an ARM CPU. A good place to start is QEMU.

Cross-projects have a rather steep learning curve, and require lots of searching online to get things done. Rarely are there detailed step-by-step guides for the entire process, but there are many guides for various parts of the work.

like image 133
Eli Iser Avatar answered Sep 20 '22 05:09

Eli Iser