LinuxQuestions.org
Visit the LQ Articles and Editorials section
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware > Linux - Embedded & Single-board computer
User Name
Password
Linux - Embedded & Single-board computer This forum is for the discussion of Linux on both embedded devices and single-board computers (such as the Raspberry Pi, BeagleBoard and PandaBoard). Discussions involving Arduino, plug computers and other micro-controller like devices are also welcome.

Notices



Reply
 
Search this Thread
Old 12-15-2010, 12:23 PM   #1
lqu
LQ Newbie
 
Registered: Aug 2009
Posts: 15

Rep: Reputation: 0
which cross compiler to use?


I have a general question about ARM cross compilers. I have seen arm-elf-gcc, arm-linux-gcc, and arm-none-eabi-gcc, arm-none-linux-gnueabi-gcc.

I know they are for different targets, but what does the 'none' mean? Could somebody explain what every part in the name means? Which compiler to choose for a target? Thanks!
 
Old 12-16-2010, 10:39 AM   #2
theNbomr
LQ 5k Club
 
Registered: Aug 2005
Distribution: OpenSuse, Fedora, Redhat, Debian
Posts: 5,396
Blog Entries: 2

Rep: Reputation: 903Reputation: 903Reputation: 903Reputation: 903Reputation: 903Reputation: 903Reputation: 903Reputation: 903
The naming of cross compilers is a tuple that describes the target CPU (arm, arm-eb, arm-el...), the 'manufacturer' of the compiler (none, or you create your own compiler and name it accordingly), something about the target environment (linux, bare-metal, eabi, libc, uclibc, many other possiblities), and the name of the tool itself (gcc, g++, ld, etc.) For ARM CPUs, there is a plethora of different possibilities for the target host architecture. You can build toolchains for either of two basic ABIs, toolchains that use hardware floating point (or not), toolchains that use various C libraries, toolchains that target some OS (Linux, vxWorks, RTEMS, etc) or that target OS-less (bare-metal) hosts. All of these combinations can be encoded into the name of the toolchain components; there is no rigorous specification or standard that controls the naming convention. With luck, you will know enough about the nature of your particular target architecture to choose one that is appropriate for your needs, based on the name. There are other things that may be relevant, such as what versions of C libraries and kernel headers were used in the building of the toolchain. Usually, it requires finding some supporting documentation to fully understand the nature of the toolchain, especially for ARM CPUs.

Or, you can roll your own, just to be sure.

--- rod.
 
1 members found this post helpful.
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
My c compiler doesn't work after the cross-compiler installed heracles.cn Linux - Newbie 1 06-05-2007 04:55 AM
cross compiler alpha_foobar Linux - General 0 08-17-2005 07:15 PM
cross compiler leonora Programming 2 01-08-2005 12:13 PM
Cross compiler help please daveschile Linux - Software 1 04-09-2004 08:24 PM


All times are GMT -5. The time now is 08:08 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration