Newer
Older
mbed-os / tools / export / gnuarmeclipse / NOTES.md
@Liviu Ionescu Liviu Ionescu on 17 Jan 2017 10 KB all options parsed, build functional

GNU ARM Eclipse

The GNU ARM Eclipse 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.

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 ''