arm 交叉编译时 gcc 的 Options
https://sourceware.org/binutils/docs/as/ARM-Options.html
https://gcc.gnu.org/onlinedocs/gcc-4.5.3/gcc/i386-and-x86_002d64-Options.html
9.4.1 Options
-mcpu=processor[+extension...]- This option specifies the target processor. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized:
arm1,arm2,arm250,arm3,arm6,arm60,arm600,arm610,arm620,arm7,arm7m,arm7d,arm7dm,arm7di,arm7dmi,arm70,arm700,arm700i,arm710,arm710t,arm720,arm720t,arm740t,arm710c,arm7100,arm7500,arm7500fe,arm7t,arm7tdmi,arm7tdmi-s,arm8,arm810,strongarm,strongarm1,strongarm110,strongarm1100,strongarm1110,arm9,arm920,arm920t,arm922t,arm940t,arm9tdmi,fa526(Faraday FA526 processor),fa626(Faraday FA626 processor),arm9e,arm926e,arm926ej-s,arm946e-r0,arm946e,arm946e-s,arm966e-r0,arm966e,arm966e-s,arm968e-s,arm10t,arm10tdmi,arm10e,arm1020,arm1020t,arm1020e,arm1022e,arm1026ej-s,fa606te(Faraday FA606TE processor),fa616te(Faraday FA616TE processor),fa626te(Faraday FA626TE processor),fmp626(Faraday FMP626 processor),fa726te(Faraday FA726TE processor),arm1136j-s,arm1136jf-s,arm1156t2-s,arm1156t2f-s,arm1176jz-s,arm1176jzf-s,mpcore,mpcorenovfp,cortex-a5,cortex-a7,cortex-a8,cortex-a9,cortex-a15,cortex-r4,cortex-r4f,cortex-r5,cortex-r7,cortex-m4,cortex-m3,cortex-m1,cortex-m0,cortex-m0plus,ep9312(ARM920 with Cirrus Maverick coprocessor),i80200(Intel XScale processor)iwmmxt(Intel(r) XScale processor with Wireless MMX(tm) technology coprocessor) andxscale. The special nameallmay be used to allow the assembler to accept instructions valid for any ARM processor.In addition to the basic instruction set, the assembler can be told to accept various extension mnemonics that extend the processor using the co-processor instruction space. For example,
-mcpu=arm920+maverickis equivalent to specifying-mcpu=ep9312.Multiple extensions may be specified, separated by a
+. The extensions should be specified in ascending alphabetical order.Some extensions may be restricted to particular architectures; this is documented in the list of extensions below.
Extension mnemonics may also be removed from those the assembler accepts. This is done be prepending
noto the option that adds the extension. Extensions that are removed should be listed after all extensions which have been added, again in ascending alphabetical order. For example,-mcpu=ep9312+nomaverickis equivalent to specifying-mcpu=arm920.The following extensions are currently supported:
crypto(Cryptography Extensions for v8-A architecture, impliesfp+simd),fp(Floating Point Extensions for v8-A architecture),idiv(Integer Divide Extensions for v7-A and v7-R architectures),iwmmxt,iwmmxt2,maverick,mp(Multiprocessing Extensions for v7-A and v7-R architectures),os(Operating System for v6M architecture),sec(Security Extensions for v6K and v7-A architectures),simd(Advanced SIMD Extensions for v8-A architecture, impliesfp),virt(Virtualization Extensions for v7-A architecture, impliesidiv), andxscale. -march=architecture[+extension...]- This option specifies the target architecture. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target architecture. The following architecture names are recognized:
armv1,armv2,armv2a,armv2s,armv3,armv3m,armv4,armv4xm,armv4t,armv4txm,armv5,armv5t,armv5txm,armv5te,armv5texp,armv6,armv6j,armv6k,armv6z,armv6zk,armv6-m,armv6s-m,armv7,armv7-a,armv7ve,armv7-r,armv7-m,armv7e-m,armv8-a,iwmmxtandxscale. If both-mcpuand-marchare specified, the assembler will use the setting for-mcpu.The architecture option can be extended with the same instruction set extension options as the
-mcpuoption. -mfpu=floating-point-format- This option specifies the floating point format to assemble for. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target floating point unit. The following format options are recognized:
softfpa,fpe,fpe2,fpe3,fpa,fpa10,fpa11,arm7500fe,softvfp,softvfp+vfp,vfp,vfp10,vfp10-r0,vfp9,vfpxd,vfpv2,vfpv3,vfpv3-fp16,vfpv3-d16,vfpv3-d16-fp16,vfpv3xd,vfpv3xd-d16,vfpv4,vfpv4-d16,fpv4-sp-d16,fp-armv8,arm1020t,arm1020e,arm1136jf-s,maverick,neon,neon-vfpv4,neon-fp-armv8, andcrypto-neon-fp-armv8.In addition to determining which instructions are assembled, this option also affects the way in which the
.doubleassembler directive behaves when assembling little-endian code.The default is dependent on the processor selected. For Architecture 5 or later, the default is to assembler for VFP instructions; for earlier architectures the default is to assemble for FPA instructions.
-mthumb- This option specifies that the assembler should start assembling Thumb instructions; that is, it should behave as though the file starts with a
.code 16directive. -mthumb-interwork- This option specifies that the output generated by the assembler should be marked as supporting interworking.
-mimplicit-it=never-mimplicit-it=always-mimplicit-it=arm-mimplicit-it=thumb- The
-mimplicit-itoption controls the behavior of the assembler when conditional instructions are not enclosed in IT blocks. There are four possible behaviors. Ifneveris specified, such constructs cause a warning in ARM code and an error in Thumb-2 code. Ifalwaysis specified, such constructs are accepted in both ARM and Thumb-2 code, where the IT instruction is added implicitly. Ifarmis specified, such constructs are accepted in ARM code and cause an error in Thumb-2 code. Ifthumbis specified, such constructs cause a warning in ARM code and are accepted in Thumb-2 code. If you omit this option, the behavior is equivalent to-mimplicit-it=arm. -mapcs-26-mapcs-32- These options specify that the output generated by the assembler should be marked as supporting the indicated version of the Arm Procedure. Calling Standard.
-matpcs- This option specifies that the output generated by the assembler should be marked as supporting the Arm/Thumb Procedure Calling Standard. If enabled this option will cause the assembler to create an empty debugging section in the object file called .arm.atpcs. Debuggers can use this to determine the ABI being used by.
-mapcs-float- This indicates the floating point variant of the APCS should be used. In this variant floating point arguments are passed in FP registers rather than integer registers.
-mapcs-reentrant- This indicates that the reentrant variant of the APCS should be used. This variant supports position independent code.
-mfloat-abi=abi- This option specifies that the output generated by the assembler should be marked as using specified floating point ABI. The following values are recognized:
soft,softfpandhard. -meabi=ver- This option specifies which EABI version the produced object files should conform to. The following values are recognized:
gnu,4and5. -EB- This option specifies that the output generated by the assembler should be marked as being encoded for a big-endian processor.
-EL- This option specifies that the output generated by the assembler should be marked as being encoded for a little-endian processor.
-k- This option specifies that the output of the assembler should be marked as position-independent code (PIC).
--fix-v4bx- Allow
BXinstructions in ARMv4 code. This is intended for use with the linker option of the same name. -mwarn-deprecated-mno-warn-deprecated- Enable or disable warnings about using deprecated options or features. The default is to warn.
-mccs- Turns on CodeComposer Studio assembly syntax compatibility mode.
arm 交叉编译时 gcc 的 Options的更多相关文章
- 建立ARM交叉编译环境 (arm-none-linux-gnueabi-gcc with EABI)【转】
转自:http://lib.csdn.net/article/embeddeddevelopment/60172?knId=886 建立ARM交叉编译环境 (arm-none-linux-gnueab ...
- Linux ARM交叉编译工具链制作过程【转】
本文转载自:http://www.cnblogs.com/Charles-Zhang-Blog/archive/2013/02/21/2920999.html 一.下载源文件 源代码文件及其版本与下载 ...
- Ubuntu18.04 LTS x64 构建ARM交叉编译环境(尝试,但失败了!!!估计是编译器没选对)
[测试而已,由于需要了解编译器和处理器体系,因此先放弃该方法] 动机 入门嵌入式开发,又需要 Windows 又需要 Linux,但资料给的竟然是 Ubuntu9,导致我不能使用 VSCode Rem ...
- Ubuntu12.04下arm交叉编译环境的建立
http://blog.csdn.net/heyangya2009/article/details/5424376 备注:ubuntu12.04+Android+Real6410 在主机上用来编译其他 ...
- 【转】ARM交叉编译工具链
原文网址:http://www.veryarm.com/cross-tools 为什么要用交叉编译器? 交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序,比如在PC平台( ...
- Linux学习笔记——怎样在交叉编译时使用共享库
0.前言 在较为复杂的项目中会利用到交叉编译得到的共享库(*.so文件).在这样的情况下便会产生下面疑问,比如: [1]交叉编译时的共享库是否须要放置于目标板中,假设须要放置在哪个文件 ...
- ARM交叉编译工具链分类说明
转载整理自:http://www.veryarm.com/cross-tools 从授权上,ARM交叉编译工具链分为免费授权版和付费授权版. 免费版目前有三大主流工具商提供,第一是GNU(提供源码,自 ...
- ARM交叉编译工具链
交叉编译工具链是一个由编译器.连接器和解释器组成的综合开发环境,交叉编译工具链主要由binutils.gcc和glibc三个部分组成. 免费版目前有三大主流工具商提供,第一是GNU(提供源码,自行编译 ...
- arm交叉编译 扫盲贴
ARM交叉编译工具链 为什么要用交叉编译器? 交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序, 比如在PC平台(X86 CPU)上编译出能运行在以ARM为内核的CPU平 ...
随机推荐
- Educational Codeforces Round 8 D. Magic Numbers
Magic Numbers 题意:给定长度不超过2000的a,b;问有多少个x(a<=x<=b)使得x的偶数位为d,奇数位不为d;且要是m的倍数,结果mod 1e9+7; 直接数位DP;前 ...
- 【BZOJ】1001: [BeiJing2006]狼抓兔子 Dinic算法求解平面图对偶图-最小割
1001: [BeiJing2006]狼抓兔子 Description 左上角点为(1,1),右下角点为(N,M)(上图中N=4,M=5).有以下 三种类型的道路 1:(x,y)<==>( ...
- 【JPA】两种不同的实现jpa的配置方法
两种不同的实现jpa的配置方法 第一种: com.mchange.v2.c3p0.ComboPooledDataSource datasource.connection.driver_class=co ...
- Amazon Alexa 语音识别1 : 简介
Alexa是Amazon自家的语音识别技术,需要配合自家的Echo音箱使用.开发者可以在Amazon上建立自己的程序(Skill)来连接到自己的应用或是硬件.例如,用户家里有一套xx牌的智能灯,现在希 ...
- appcache checking update
<!DOCTYPE html> <html manifest="a.appcache"> <head> <title></ti ...
- Android开发(一):环境搭建
引言 本系列将记录我在步入Android开发过程中的一些流水账及经验,如有疏漏,还望不吝赐教. 目录 1.JDK安装及配置 2.Eclipse.Android SDK ADT安装及配置 正文 1.JD ...
- CSS 背景颜色
颜色背景 CSS中背景颜色由background-color决定,这里的背景颜色会渲染padding和content,不会渲染border和margin部分. 在css3中可以通过background ...
- java连接mysql数据库(jsp显示和控制台显示)
很多事情,在我们没有做之前我们觉得好难,但是只要你静下心来,毕竟这些都是人搞出来的,只要你是人,那就一定可以明白. 配置:JDK1.8,MySQL5.7,eclipse:Neon Rel ...
- BZOJ 1729: [Usaco2005 dec]Cow Patterns 牛的模式匹配
Description 约翰的N(1≤N≤100000)只奶牛中出现了K(1≤K≤25000)只爱惹麻烦的坏蛋.奶牛们按一定的顺序排队的时候,这些坏蛋总会站在一起.为了找出这些坏蛋,约翰让他的奶牛排好 ...
- JAVA 字符串编码总结
java 为了解决跨平台,字符串编码的有点特殊 String newStr = new String(oldStr.getBytes(), "UTF-8");java中的Strin ...