日期:2014-05-16  浏览次数:20600 次

关于arm 2440 选择arm-linux-gcc编译器版本的问题
现在的平台是三星s3c2440 + linux 2.6.32
问题是arm-linux-gcc编译器版本的选择,

(1)现在下载了两个版本,都是在http://www.codesourcery.com/下载的,
一个是4.3.2, arm-none-linux-gnueabi-gcc, 
另一个是4.1.2, arm-angstrom-linux-gnueabi-gcc,请问这两个gcc的文件名有什么区别? 哪个适用于三星s3c2440 ?

(2)开发板提供的手册里有这样的描述:“s3c2440 属于 ARM920T 系列,它是基于 armv4 体系结构的,需要使用支持 armv4 指令译器。故arm-linux-xxx 应该加上-march参数,比如 arm-none-linux-gnueabi-gcc -march=armv4t 这样的格式” 但是实际编译过程都没有加-march=armv4t 参数, 但是编译出来的可执行文件在开发板都没问题, 并且, 其他所有的教程上都没有提及过-march=armv4t 参数的问题, 请在S3C2440上问到底需要这个参数吗?

(3)如果换了更新的处理器,比如arm11系列,如何在http://www.codesourcery.com找到适合此平台的编译器?

(4)选择编译器,出了处理器的型号,于linux内核版本有无关系 ?

------解决方案--------------------
2440的,一般arm-linux-gcc 4.3.x都可以哈。

其他也没啥。

然后只要注意就是编译你的开发板内核的arm-linux-gcc和你交叉编译你的.c程序的版本相同就可以。


------解决方案--------------------
用4.2.2的版本编译kernel 2.6.32.2没有问题
------解决方案--------------------
http://www.codesourcery.com/下的,应当有相关说明文档吧,看官方的文档最准确。
------解决方案--------------------
1、我下载第一个,可以使用。至于区别,不知道。
2、不加,程序、内核可以在开发板上正常运行。
3、要看那个网站的更新速度了,不过,可以自己实际一下。
4、2楼说得对。
------解决方案--------------------
arm-linux-gcc 4.3.3 我用的这个 可以编译