code sourcery arm工具链下载的时候eabi和gnu/linux工具链是什么区别?

时间:2021-12-22 18:22:35
具体一些,比如编译的代码有什么差别,用在什么场合。

1 个解决方案

#1


参考:http://blog.csdn.net/commshare/article/details/6420080

http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite
 
 
 
应该选用GNU/Linux
 
=====================================
 
如何正确选择合适的交叉工具链
 
 
 
http://www.linuxidc.com/Linux/2011-04/35068.htm
 
我们自己可以编译制作一个交叉编译工具链(Cross-compile Toolchain)来用,但为了方便、稳定起见,我们大多数时候会去选择成熟的第三方工具链。
 
codesourcery的交叉工具链是很常见的一种,以ARM为例,我们可以从http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite处下载到最新的版本:
 




 
 
Target OS Download 
EABI Sourcery G++ Lite 2010.09-51
All versions...  
uClinux Sourcery G++ Lite 2010.09-58
All versions...  
GNU/Linux Sourcery G++ Lite 2010.09-50
All versions...  
SymbianOS Symbian ADT Sourcery G++ Lite 4.4-172
All versions... 
 

可以看到有4个OS平台版本可供选择,那么该选择哪一个下载呢?
 
在codesourcery的一个页面上我们找到了答案:
 
This table applies to the target system on which your applications will run, not to the host system on which you run Sourcery G++. 
Target Platform Description 
EABI/ELF RTOS systems or bare metal systems where no operating system is present. These configurations should not be used to build Linux kernels or applications.  用于RTOS或者没有os的硬件设备。这个配置不能用于构建内核或者应用程序。
 

uClinux™ Systems running uClinux, i.e. Linux on CPUs without an MMU. Use Sourcery G++ to build both the uClinux kernel and applications.  
GNU/Linux® Systems running full Linux, i.e., Linux on CPUs with an MMU. Use Sourcery G++ to build both the Linux kernel and applications.  这个用于运行带有MMU的CPU上的linux系统。可以构建linux内核和应用程序。
 

Microsoft Windows® Systems running Microsoft Windows 2000, or later. 
 
 
 
也就是说,如果打算用来编译linux kernel或者基于linux的应用程序,则应该选择GNU/Linux;EABI/ELF适用于没有操作系统(或者RTOS)的裸机;uClinux适用于没有MMU的Linux。
 
这下明白了?

#1


参考:http://blog.csdn.net/commshare/article/details/6420080

http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite
 
 
 
应该选用GNU/Linux
 
=====================================
 
如何正确选择合适的交叉工具链
 
 
 
http://www.linuxidc.com/Linux/2011-04/35068.htm
 
我们自己可以编译制作一个交叉编译工具链(Cross-compile Toolchain)来用,但为了方便、稳定起见,我们大多数时候会去选择成熟的第三方工具链。
 
codesourcery的交叉工具链是很常见的一种,以ARM为例,我们可以从http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite处下载到最新的版本:
 




 
 
Target OS Download 
EABI Sourcery G++ Lite 2010.09-51
All versions...  
uClinux Sourcery G++ Lite 2010.09-58
All versions...  
GNU/Linux Sourcery G++ Lite 2010.09-50
All versions...  
SymbianOS Symbian ADT Sourcery G++ Lite 4.4-172
All versions... 
 

可以看到有4个OS平台版本可供选择,那么该选择哪一个下载呢?
 
在codesourcery的一个页面上我们找到了答案:
 
This table applies to the target system on which your applications will run, not to the host system on which you run Sourcery G++. 
Target Platform Description 
EABI/ELF RTOS systems or bare metal systems where no operating system is present. These configurations should not be used to build Linux kernels or applications.  用于RTOS或者没有os的硬件设备。这个配置不能用于构建内核或者应用程序。
 

uClinux™ Systems running uClinux, i.e. Linux on CPUs without an MMU. Use Sourcery G++ to build both the uClinux kernel and applications.  
GNU/Linux® Systems running full Linux, i.e., Linux on CPUs with an MMU. Use Sourcery G++ to build both the Linux kernel and applications.  这个用于运行带有MMU的CPU上的linux系统。可以构建linux内核和应用程序。
 

Microsoft Windows® Systems running Microsoft Windows 2000, or later. 
 
 
 
也就是说,如果打算用来编译linux kernel或者基于linux的应用程序,则应该选择GNU/Linux;EABI/ELF适用于没有操作系统(或者RTOS)的裸机;uClinux适用于没有MMU的Linux。
 
这下明白了?