【背景】
折腾:
【记录】在Cygwin下编译gcc-3.4.5-glibc-2.3.6的arm-xscale-linux-gnu交叉编译器
期间,需要去为xscale配置Target Options,需要搞懂对应的选项:
Architecture level
对于xscale来说,到底填写什么。
【折腾过程】
1. 进入Help:
其说明为:
crosstool-NG v1.9.3 Configuration – .config CT_ARCH_ARCH: |
2.很明显,对于此处的march,需要自己去找gcc中的march的说明,然后找到针对xscale,然后才知道填写何值。
然后google搜:
gcc ARMv5TE armv7-a
找到:
以及arm的官网:
找到了真正的官网解释了:
所以,此处,针对arm的xscale来说,就是:
-mcpu=xscale |
所以,此处,针对:
CT_ARCH_ARCH
==Architecture level
==configuration flag –with-arch=XXXX
==runtime flag -march=XXX
==for xscale则是:-march=armv5te
3.类似的,对于:
(1)Emit assembly for CPU
crosstool-NG v1.9.3 Configuration – .config Emit assembly for CPU |
和
(2)Tune for CPU
crosstool-NG v1.9.3 Configuration – .config Tune for CPU CT_ARCH_TUNE: |
则分别是,对应的:
Emit assembly for CPU
==CT_ARCH_CPU
==configuration flag –with-cpu=XXXX
==the runtime flag -mcpu=XXX
==for xscale则是:-mcpu=xscale
Tune for CPU
==CT_ARCH_TUNE
==configuration flag –with-tune=XXXX
==runtime flag -mtune=XXX
== for xscale则是:-mtune=xscale
4.然后对于xscale,按照上述配置去配置,则是:
(armv5te) Architecture level |
【总结】
crosstool中的三个参数
Architecture level==CT_ARCH_ARCH
Emit assembly for CPU ==CT_ARCH_CPU
Tune for CPU==CT_ARCH_TUNE
分别对应的是,常见的,gcc中的参数:
-march=XXX
-mcpu=XXX
-mtune=XXX
对于xscale则是:
-march=armv5te -mcpu=xscale -mtune=xscale |
如此设置,应该就对了。
转载请注明:在路上 » 【整理】crosstool中的Architecture level(CT_ARCH_ARCH),Emit assembly for CPU(CT_ARCH_CPU),Tune for CPU(CT_ARCH_TUNE)的值,对于arm的xscale应该是填写什么