arm-elf和arm-eabi的区别
来源:互联网 发布:2106淘宝查虚假交易 编辑:程序博客网 时间:2024/04/29 01:53
文章链接:http://embdev.net/topic/129737
我是从这个链接中看到的。觉得有点意思。因为自己用交叉编译器编译的时候。会出现arm-elf,arm-none-eabi,arm-eabi这些选择,倒底它们有什么区别呢?
上面得出了一个结论,arm-elf是GNU的编译工具链。如果你要用arm-eabi的话,最好用newlib这个库。
但是我用newlib库太郁闷了,甚至没有ioctl的操作,所以还是用glibc吧。
我是从这个链接中看到的。觉得有点意思。因为自己用交叉编译器编译的时候。会出现arm-elf,arm-none-eabi,arm-eabi这些选择,倒底它们有什么区别呢?
what is difference between arm-elf and arm-eabi?
Re: what is difference between arm-elf and arm-eabi?
Posted on:
Dan Miller wrote:> I've been trying, for a couple of days, to build the project which was> associated with the Embedded.com articles "Building Bare-Metal ARM> Systems with GNU". I've been hoping that this will clarify alot of the> confusion that I've experienced in trying to convert an existing project> from IAR to gnuarm.As far as I know the code from the embedded.com tutorial has been testedwith a Codesourcery G++ package (the lite version is free, Codesourcerygets paid by ARM to improve the GNU tools AFAIK). So maybe this is thepackage that should be used to avoid further confusion. Once you havesome basic knowledge of the tools you will see that it is not thatdifficult to adapt the code for other GNU-precompiled-packages orto/from other compilers.> As it turns out, after three weeks of research,Three weeks? - Uff.> I have at least four> different versions of GNUARM on my system:> 1. gnuarm (arm-elf)> 2. winarm (arm-elf) (slightly earlier version than gnuarm)> 3. Ride (arm-none-eabi)> 4. Sarm (arm-eabi)gnuarm (I expect this is a package from gnuarm.org) and "older" versionsof WinARM are very similar. Main differences: WinARM has been createdfor "non-cygwin" hosts and uses a slightly different newlibconfiguration.EABI and "old" ABI are different "targets" for which the GNU toolchaincan be build. EABI has been created as a common binary interface soobject code and libraries created with one toolchain/compiler can linkedto a project created with another one. Search on www.arm.com for furtherdetails.> Ultimately, only ONE of these four packages could actually build the> project - Ride's arm-none-eabi.It is well possible that the "Ride binaries" are very similar or even acopy of the Codesourcery package. So this might be the reason why theQuantum example-code can be build with this tools without problems.Until gcc 4.3.0 the Codesourcery package has been the only one whichoffered Cortex-M3 support and AFAIK Ride supports STM32 too. Justspeculation, I have never used the Ride tools. I don't know "Sarm" so Ican not comment on it at all.> All others would fail in different> ways.You did not write the error-messages created during the attempts withthe other packages so it's difficult to analyze the reason why theyfailed.If would be interesting to see the error-messages when you try to buildwith DevkitARM R23 or WinARM test-version 20080831.> What's interesting, though, is that the output of the project,> using arm-none-eabi, is a .elf file!!!The file-extension is not important. elf and axf are just the usualextensions. Just look into the makefile. Why "!!!"? What did you expect?> So... what is the difference between arm-elf, arm-none-eabi, and> arm-eabi ???arm-elf is usually the prefix for GNU toolchains created for the arm-elftarget, arm-none-eabi for the target arm-eabi. But this does not meanmuch since one can set the prefix when building the toolchain. At leasteabi should be an indicator that the toolchain has been created fortarget arm-eabi.>Obviously, the "none" in arm-none-eabi does not mean> no-elf ...This might be wrong. As far as I know it means "no operating-system" onthe target (for "bare metal") compared to for example arm-linux-elf.I do understand your confusion, so stay with the GNU package that worksfor you to get started. Once you know a little bit about the usage ofthe GNU tools you will see that the differences are small and portingcode between them is rather easy.Porting code from IAR to GNU is a more difficult esp. if the EWARMcompiler-extension have been used.
Re: what is difference between arm-elf and arm-eabi?
Posted on:
>
>> Ultimately, only ONE of these four packages could actually build the
>> project - Ride's arm-none-eabi.
> It is well possible that the "Ride binaries" are very similar or even a
> copy of the Codesourcery package. So this might be the reason why the
> Quantum example-code can be build with this tools without problems.
> Until gcc 4.3.0 the Codesourcery package has been the only one which
> offered Cortex-M3 support and AFAIK Ride supports STM32 too. Just
> speculation, I have never used the Ride tools. I don't know "Sarm" so I
> can not comment on it at all.
>
I can tell you ride use the codesoucery toolchain as delivered.
sarm is the toolchain delivered with Anglia IDEaliST, it is based on
codesoucery but has a few tweaks with newlib.
Cheers
Spen
上面得出了一个结论,arm-elf是GNU的编译工具链。如果你要用arm-eabi的话,最好用newlib这个库。
但是我用newlib库太郁闷了,甚至没有ioctl的操作,所以还是用glibc吧。
- arm-elf和arm-eabi的区别
- arm-elf和arm-eabi的区别
- arm-linux-eabi 和arm-none-eabi的区别
- arm-elf/arm-eabi/arm-none-eabi
- arm-linux-gcc 和 arm-elf-gcc 的区别
- arm-linux-gcc和arm-elf-gcc的区别
- arm-linux-gcc和arm-elf-gcc的区别
- arm-linux-gcc 和 arm-elf-gcc 的区别
- arm-linux-gcc 和 arm-elf-gcc 的区别
- 关于arm-linux-*和 arm-elf-*区别
- arm-elf与arm-linux的区别
- arm-elf与arm-linux的区别
- arm-elf与arm-linux的区别
- Building ARM ELF EABI--Step by Step
- arm-linux/elf/eabi交叉编译器
- arm-linux/elf/eabi 交叉编译器
- arm-linux/elf/eabi交叉编译器
- arm-eabi, arm-linux-androideabi, arm-linux-gnueabi, arm-none-linux-gnueabi工具链的区别
- 小技巧:WINCE下快速编译单个驱动
- 在Android中创建一种新的输入法(Creating an Input Method))
- MFC中自定义类访问主对话框控件
- 业务用例和系统用例
- 有关ogre里MeshManager::createPlane()函数的一点补充
- arm-elf和arm-eabi的区别
- CSS 鼠标样式
- 三维交互开发(2)-DxStudio的hello world
- html title换行方法
- Android源码下载、编译、运行
- CentOS一键安装VPN
- STL中迭代器浅析(转自:http://blog.csdn.net/gou_zh/archive/2008/11/04/3209974.aspx)
- 用VC操作INI文件
- 内存不能为“read”或“written”的解决方案