mbed-os/tools/export/gnuarmeclipse/NOTES.md

489 lines
10 KiB
Markdown
Raw Normal View History

2017-01-17 23:54:04 +00:00
# GNU ARM Eclipse
The [GNU ARM Eclipse](http://gnuarmeclipse.github.io) is an open source project that includes a family of Eclipse plug-ins and tools for multi-platform embedded ARM development, based on GNU toolchains. The project is hosted on [GitHub](https://github.com/gnuarmeclipse).
This exporter aims to create managed GNU ARM Eclipse projects, ready to build, and with as many options properly identified and set in the Eclipse C/C++ Build -> Settings page.
## Build plug-in configuration options
All options are prefixed by `ilg.gnuarmeclipse.managedbuild.cross.option.`.
### Target Processor
- `arm.target.family` enumerated
- **ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-m3** '-mcpu=cortex-m3'
- cortex-m0 '-mcpu=%s'
- cortex-m0-small-multiply '-mcpu=%s'
- cortex-m0plus '-mcpu=%s'
- cortex-m0plus-small-multiply '-mcpu=%s'
- cortex-m1 '-mcpu=%s'
- cortex-m1-small-multiply '-mcpu=%s'
- cortex-m4 '-mcpu=%s'
- cortex-m7 '-mcpu=%s'
- `arm.target.architecture` enumerated
- **ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.arch.none** ''
- armv6-m '-march=%s'
- armv7-m '-march=%s'
- `arm.target.instructionset` enumerated
- **ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.thumb** '-mthumb'
- arm '-marm'
- `arm.target.thumbinterwork` bool
- true `-mthumb-interwork`
- `arm.target.endianness` enumerated
- **ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.endianness.default**
- little `-mlittle-endian`
- big `-mbig-endian`
- `arm.target.fpu.abi` enumerated
- **ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.default**
- soft '-mfloat-abi=soft'
- softfp '-mfloat-abi=softfp'
- hard '-mfloat-abi=hard'
- `arm.target.fpu.unit` enumerated
- **ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.default**
- fpv4spd16 '-mfpu=fpv4-sp-d16'
- fpv5d16 '-mfpu=fpv5-d16'
- fpv5spd16 '-mfpu=fpv5-sp-d16'
- ...
- `arm.target.unalignedaccess`
- **ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.unalignedaccess.default**
- enabled '-munaligned-access'
- disabled '-mno-unaligned-access'
- `target.other` string
### Optimization
- `optimization.level` enumerated
- **ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.more** '-O2'
- none '-O0'
- optimize '-O1'
- most '-O3'
- size '-Os'
- debug '-Og'
- `optimization.messagelength` bool
- **false** ''
- true '-fmessage-length=0'
- `optimization.signedchar` bool
- **false**
- true '-fsigned-char'
- `optimization.functionsections` bool
- **false**
- true '-ffunction-sections'
- `optimization.datasections` bool
- **false**
- true '-fdata-sections'
- `optimization.nocommon` bool
- **false**
- true '-fno-common'
- `optimization.noinlinefunctions` bool
- **false** ''
- true '-fno-inline-functions'
- `optimization.freestanding` bool
- **false** ''
- true '-ffreestanding'
- `optimization.nobuiltin` bool
- **false** ''
- true '-fno-builtin'
- `optimization.spconstant` bool
- **false** ''
- true '-fsingle-precision-constant'
- `optimization.PIC` bool
- **false** ''
- true '-fPIC'
- `optimization.lto` bool
- **false** ''
- true '-flto'
- `optimization.nomoveloopinvariants` bool
- **false** ''
- true '-fno-move-loop-invariants'
- `optimization.other` string
- `` bool
- **false** ''
- true ''
### Warnings
- `warnings.syntaxonly` bool
- **false** ''
- true '-fsyntax-only'
- `warnings.pedantic` bool
- **false** ''
- true '-pedantic'
- `warnings.pedanticerrors` bool
- **false** ''
- true '-pedantic-errors'
- `warnings.nowarn` bool
- **false** ''
- true '-w'
- `warnings.unused` bool
- **false** ''
- true '-Wunused'
- `warnings.uninitialized` bool
- **false** ''
- true '-Wuninitialized'
- `warnings.allwarn` bool
- **false** ''
- true '-Wall'
- `warnings.extrawarn` bool
- **false** ''
- true '-Wextra'
- `warnings.missingdeclaration` bool
- **false** ''
- true '-Wmissing-declarations'
- `warnings.conversion` bool
- **false** ''
- true '-Wconversion'
- `warnings.pointerarith` bool
- **false** ''
- true '-Wpointer-arith'
- `warnings.padded` bool
- **false** ''
- true '-Wpadded'
- `warnings.shadow` bool
- **false** ''
- true '-Wshadow'
- `warnings.logicalop` bool
- **false** ''
- true '-Wlogical-op'
- `warnings.agreggatereturn` bool
- **false** ''
- true '-Waggregate-return'
- `warnings.floatequal` bool
- **false** ''
- true '-Wfloat-equal'
- `warnings.toerrors` bool
- **false** ''
- true '-Werror'
- `warnings.other` string
### Debugging
- `debugging.level` enumerated
- **ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.default** '-g'
- none ''
- minimal '-g1'
- max '-g3'
- `debugging.format` enumerated
- **ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.default** ''
- gdb '-ggdb'
- stabs '-gstabs'
- stabsplus '-gstabs+'
- dwarf2 '-gdwarf-2'
- dwarf3 '-gdwarf-3'
- dwarf4 '-gdwarf-4'
- dwarf5 '-gdwarf-5'
- `debugging.prof` bool
- **false** ''
- true '-p'
- `debugging.gprof` bool
- **false** ''
- true '-pg'
- `debugging.other` string
### Compiler common options
- `verbose` bool
- **false** ''
- true '-v'
- `savetemps` bool
- **false** ''
- true '--save-temps'
- `nostdinc` bool
- **false** ''
- true '-nostdinc'
- `asmlisting` bool
- **false** ''
- true '-Wa,-adhlns="$@.lst"'
- `preprocessor.preprocessonly` bool
- **false** ''
- true '-E'
- `dirs.include.files`
- '-include%s'
- `compiler.other` string
### Linker common options
- `mapfilename` string
- '-Wl,-Map,"${BuildArtifactFileBaseName}.map"'
- `linker.scriptfile`
- '-T %s'
- `cref` bool
- **false** ''
- true '-Xlinker --cref'
- `printmap` bool
- **false** ''
- true '-Xlinker --print-map'
- `linker.nostart` bool
- **false** ''
- true '-nostartfiles'
- `linker.nodeflibs` bool
- **false** ''
- true '-nodefaultlibs'
- `linker.nostdlibs` bool
- **false** ''
- true '-nostdlib'
- `linker.gcsections` bool
- **false** ''
- true '-Xlinker --gc-sections'
- `linker.printgcsections` bool
- **false** ''
- true '-Xlinker --print-gc-sections'
- `linker.strip` bool
- **false** ''
- true '-s'
- `linker.other` string
- `linker.usenewlibnano` bool
- **false** ''
- true '--specs=nano.specs'
- `linker.useprintffloat` bool
- **false** ''
- true '-u \_printf\_float'
- `linker.usescanffloat` bool
- **false** ''
- true '-u \_scanf\_float'
### Cross ARM GNU Assembler
#### Preprocessor
- `nostdinc` bool
- **false** ''
- true '-nostdinc'
#### Includes
#### Warnings
#### Miscellaneous
- `verbose` bool
- **false** ''
- true '-v'
- `assembler.other` string
### Cross ARM GNU C Compiler
#### Preprocessor
- `nostdinc` bool
- **false** ''
- true '-nostdinc'
#### Includes
#### Optimization
- `c.compiler.std` enumerated
- **ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.default** ''
- ansi '-ansi'
- c90 '-std=c90' (c89)
- gnu90 '-std=gnu90' (gnu89)
- c99 '-std=c99' (c9x)
- gnu99 '-std=gnu99' (gnu9x)
- c11 '-std=c11' (c1x)
- gnu11 '-std=gnu11' (gnu1x)
#### Warnings
- `c.compiler.warning.missingprototypes` bool
- **false** ''
- true '-Wmissing-prototypes'
- `c.compiler.warning.strictprototypes` bool
- **false** ''
- true '-Wstrict-prototypes'
- `c.compiler.warning.badfunctioncast` bool
- **false** ''
- true '-Wbad-function-cast'
#### Miscellaneous
- `verbose` bool
- **false** ''
- true '-v'
- `c.compiler.other` string
### Cross ARM GNU C++ Compiler
#### Preprocessor
- `nostdinc` bool
- **false** ''
- true '-nostdinc'
- `nostdincpp` bool
- **false** ''
- true '-nostdinc++'
#### Includes
#### Optimization
- `cpp.compiler.std` enumerated
- **ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.std.default** ''
- ansi (-ansi)
- cpp98 '-std=c++98' (c++03)
- gnucpp98 '-std=gnu++98' (gnu++03)
- cpp0x '-std=c++0x'
- gnucpp0x '-std=gnu++0x'
- cpp11 '-std=c++11'
- gnucpp11 '-std=gnu++11'
- cpp1y '-std=c++1y'
- gnucpp1y '-std=gnu++1y'
- cpp14 '-std=c++14'
- gnucpp1 4'-std=gnu++14'
- cpp1z '-std=c++1z'
- gnucpp1z '-std=gnu++1z'
- `cpp.compiler.abiversion` enumerated
- **ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.abiversion.0** '-fabi-version=0'
- default ''
- 1 '-fabi-version=1'
- 2 '-fabi-version=2'
- 3 '-fabi-version=3'
- 4 '-fabi-version=4'
- 5 '-fabi-version=5'
- 6 '-fabi-version=6'
- `cpp.compiler.noexceptions` bool
- **false** ''
- true '-fno-exceptions'
- `cpp.compiler.nortti` bool
- **false** ''
- true '-fno-rtti'
- `cpp.compiler.nousecxaatexit` bool
- **false** ''
- true '-fno-use-cxa-atexit'
- `cpp.compiler.nothreadsafestatics` bool
- **false** ''
- true '-fno-threadsafe-statics'
#### Warnings
- `cpp.compiler.warnabi` bool
- **false** '-Wabi'
- `cpp.compiler.warning.ctordtorprivacy` bool
- **false** '-Wctor-dtor-privacy'
- `cpp.compiler.warning.noexcept` bool
- **false** '-Wnoexcept'
- `cpp.compiler.warning.nonvirtualdtor` bool
- **false** '-Wnon-virtual-dtor'
- `cpp.compiler.warning.strictnullsentinel` bool
- **false** '-Wstrict-null-sentinel'
- `cpp.compiler.warning.signpromo` bool
- **false** '-Wsign-promo'
- `cpp.compiler.warneffc` bool
- **false** ''
- true '-Weffc++'
#### Miscellaneous
- `verbose` bool
- **false** ''
- true '-v'
- `cpp.compiler.other` string
### Cross ARM GNU C++ Linker
#### General
- `cpp.linker.nostart`
- **false** ''
- true '-nostartfiles'
- `cpp.linker.nodeflibs`
- **false** ''
- true '-nodefaultlibs'
- `cpp.linker.nostdlibs`
- **false** ''
- true '-nostdlib'
#### Libraries
#### Miscellaneous
## Template
- `` bool
- **false** ''
- true ''