[SOLVED] freeware sdk for ARM development such as mobile etc...
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
freeware sdk for ARM development such as mobile etc...
i would like to use a sdk or compiler to run/execute a program on ARM type processors but to compile the programs in desktop PC.
the sdk or compiler should be a freeware.
It looks like you haven't searched so much...
As compiler you have GCC which is able to compile code for ARM architecture.
If by SDK you need libraries, OS services etc... Many flavor of linux run on ARM (see embedian for example), and if linux is oversized take a look to eCos and other freeRTOS
To do cross development, you will want to use a cross toolchain (hint: Google search term). You can build one, using Crosstool-NG. It can support Linux or bare-metal architectures (many some other OS's; not sure). It is probably possible to integrate the cross toolchain into Eclipse, to create what I guess most would call a SDK. AFAIK, most cross development is done simply with commandline tools and Makefiles.
Well, assuming you have unrolled the tarball to a suitable location, you would read the documentation in the docs/ directory. buildroot.html seems like a good place to start. Having done that, the following steps should reveal themselves.
Somewhere in the buildroot doc's it should describe where the toolchain that you specified will get built. It will probably be a directory containing other tools such as linkers, assemblers, debuggers, etc. It will have a name composed of the tuple describing the target architecture, perhaps something like armeb-linux-uclib-gcc. Simply use that to compile your source code. The use of a basic Makefile will simplify matters:
This simply leverages the built-in conventions of make to understand the meanings of certain macros, and saves you from typing/remembering where everything is. Of course, the actual directory and filenames will need to be changed to reflect what you have actually installed.
You can/should add specific rules to the Makefile to describe how to build your application.
Can't help you with the details of running your code under qemu. Sorry.
...., perhaps something like armeb-linux-uclib-gcc. Simply use that to compile your source code.....
--- rod.
i have copied my program Hello.c in the buildroot/output/..../bin.
bin dir contains arm-linux.gcc, ~-ld,.... as u mentioned.
i manually performed ./arm-linux-gcc hello.c
a.out is created.
now how do i execute this a.out. when i type ./a.out(as done for normal programs) i get an error :not able to execute binary file.
please suggest a method of how can i view my executable
Since the executable binaries created by your cross compiler are targeted to an ARM host, you can only run them on such a host. As you mentioned earlier, you can use an emulator, such as Qemu.
--- rod.
Since the executable binaries created by your cross compiler are targeted to an ARM host, you can only run them on such a host. As you mentioned earlier, you can use an emulator, such as Qemu.
--- rod.
i have copied a simple program and executed it successfully on a qemu emulator by typing the command './hello.out'. but i want to run this program at the boot time automatically without the user login etc. i have tried to experiment with inittab but could not do the needfull.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.