当前位置: 技术问答>linux和unix
关于arm 2440 选择arm-linux-gcc编译器版本的问题
来源: 互联网 发布时间:2017-01-26
本文导语: 现在的平台是三星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-gnu...
现在的平台是三星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内核版本有无关系 ?
问题是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程序的版本相同就可以。
其他也没啥。
然后只要注意就是编译你的开发板内核的arm-linux-gcc和你交叉编译你的.c程序的版本相同就可以。
|
用4.2.2的版本编译kernel 2.6.32.2没有问题
|
http://www.codesourcery.com/下的,应当有相关说明文档吧,看官方的文档最准确。
|
1、我下载第一个,可以使用。至于区别,不知道。
2、不加,程序、内核可以在开发板上正常运行。
3、要看那个网站的更新速度了,不过,可以自己实际一下。
4、2楼说得对。
2、不加,程序、内核可以在开发板上正常运行。
3、要看那个网站的更新速度了,不过,可以自己实际一下。
4、2楼说得对。
|
arm-linux-gcc 4.3.3 我用的这个 可以编译