0% found this document useful (0 votes)
31 views5 pages

Platform

good for coders on arduino

Uploaded by

atharvlofi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views5 pages

Platform

good for coders on arduino

Uploaded by

atharvlofi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

# ESP8266 platform

# ------------------------------

# For more info:


# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-
specification

name=ESP8266 Boards (3.2.0-dev)


version=3.2.0-dev

# These will be removed by the packager script when doing a JSON release
runtime.tools.xtensa-lx106-elf-gcc.path={runtime.platform.path}/tools/xtensa-lx106-
elf
runtime.tools.python3.path={runtime.platform.path}/tools/python3

runtime.tools.esptool.path={runtime.platform.path}/tools/esptool
runtime.tools.signing={runtime.platform.path}/tools/signing.py
runtime.tools.elf2bin={runtime.platform.path}/tools/elf2bin.py
runtime.tools.sizes={runtime.platform.path}/tools/sizes.py
runtime.tools.makecorever={runtime.platform.path}/tools/makecorever.py
runtime.tools.mkbuildoptglobals={runtime.platform.path}/tools/mkbuildoptglobals.py
runtime.tools.mkdir={runtime.platform.path}/tools/mkdir.py
runtime.tools.cp={runtime.platform.path}/tools/cp.py
runtime.tools.eboot={runtime.platform.path}/bootloaders/eboot/eboot.elf

compiler.warning_flags=@{runtime.platform.path}/tools/warnings/none
compiler.warning_flags.none=@{runtime.platform.path}/tools/warnings/none
compiler.warning_flags.default=@{runtime.platform.path}/tools/warnings/default
compiler.warning_flags.more=@{runtime.platform.path}/tools/warnings/more
compiler.warning_flags.all=@{runtime.platform.path}/tools/warnings/extra

build.lwip_lib=-llwip_gcc
build.lwip_include=lwip/include
build.lwip_flags=-DLWIP_OPEN_SRC

build.vtable_flags=-DVTABLES_IN_FLASH

build.sslflags=
build.mmuflags=
build.non32xferflags=

build.exception_flags=-fno-exceptions
build.stdcpp_lib=-lstdc++
build.stdcpp_level=-std=gnu++17

build.stacksmash_flags=

build.float=-u _printf_float -u _scanf_float


build.led=

# default SDK for all boards


# (generic board overrides this variable)
build.sdk=NONOSDK22x_190703
#build.sdk=NONOSDK22x_191024
#build.sdk=NONOSDK22x_191105

# These are not overriden when FS is not configured


build.eeprom_start=
build.spiffs_start=
build.spiffs_end=
build.spiffs_blocksize=

# Fully qualified file names for processing sketch global options


globals.h.source.fqfn={build.source.path}/{build.project_name}.globals.h
commonhfile.fqfn={build.core.path}/CommonHFile.h
build.opt.fqfn={build.path}/core/build.opt
build.opt.flags="@{build.opt.fqfn}"
mkbuildoptglobals.extra_flags=

compiler.path={runtime.tools.xtensa-lx106-elf-gcc.path}/bin/
compiler.sdk.path={runtime.platform.path}/tools/sdk

compiler.libc.path={runtime.platform.path}/tools/sdk/libc/xtensa-lx106-elf
compiler.cpreprocessor.flags=-D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -
D_GNU_SOURCE -DESP8266 {build.opt.flags} "-I{compiler.sdk.path}/include" "-
I{compiler.sdk.path}/{build.lwip_include}" "-I{compiler.libc.path}/include" "-
I{build.path}/core"

# support precompiled libraries in IDE v1.8.6+


compiler.libraries.ldflags=

compiler.c.cmd=xtensa-lx106-elf-gcc
compiler.c.flags=-c "{compiler.warning_flags}-gcc" -std=gnu17
{build.stacksmash_flags} -Os -g -free -fipa-pta -Werror=return-type -Wpointer-arith
-Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -
mlongcalls -mtext-section-literals -falign-functions=4 -MMD -ffunction-sections -
fdata-sections {build.exception_flags} {build.sslflags} {build.mmuflags}
{build.non32xferflags}

compiler.S.cmd=xtensa-lx106-elf-gcc
compiler.S.flags=-c -g -x assembler-with-cpp -MMD -mlongcalls "-
I{runtime.tools.xtensa-lx106-elf-gcc.path}/include/"

compiler.c.elf.flags=-g "{compiler.warning_flags}-gcc" -Os -nostdlib -Wl,--no-


check-sections -u app_entry {build.float} -Wl,-static "-L{compiler.sdk.path}/lib"
"-L{compiler.sdk.path}/lib/{build.sdk}" "-L{build.path}"
"-L{compiler.libc.path}/lib" "-Tlocal.eagle.flash.ld" -Wl,--gc-sections -Wl,-
wrap,system_restart_local -Wl,-wrap,spi_flash_read

compiler.c.elf.cmd=xtensa-lx106-elf-gcc
compiler.c.elf.libs=-lhal -lphy -lpp -lnet80211 {build.lwip_lib} -lwpa -lcrypto -
lmain -lwps -lbearssl -lespnow -lsmartconfig -lairkiss -lwpa2 {build.stdcpp_lib} -
lm -lc -lgcc

compiler.cpp.cmd=xtensa-lx106-elf-g++
compiler.cpp.flags=-c "{compiler.warning_flags}-g++" {build.stacksmash_flags} -Os -
g -free -fipa-pta -Werror=return-type -mlongcalls -mtext-section-literals -fno-rtti
-falign-functions=4 {build.stdcpp_level} -MMD -ffunction-sections -fdata-sections
{build.exception_flags} {build.sslflags} {build.mmuflags} {build.non32xferflags}

compiler.as.cmd=xtensa-lx106-elf-as

compiler.ar.cmd=xtensa-lx106-elf-ar
compiler.ar.flags=cru

compiler.elf2hex.cmd=esptool
compiler.elf2hex.flags=
compiler.size.cmd=xtensa-lx106-elf-size

# This can be overridden in boards.txt


build.extra_flags=

# These can be overridden in platform.local.txt


compiler.c.extra_flags=
compiler.c.elf.extra_flags=
compiler.S.extra_flags=
compiler.cpp.extra_flags=
compiler.ar.extra_flags=
compiler.objcopy.eep.extra_flags=
compiler.elf2hex.extra_flags=

## generate file with git version number


## needs git
recipe.hooks.sketch.prebuild.pattern="{runtime.tools.python3.path}/python3" -I
"{runtime.tools.signing}" --mode header --publickey
"{build.source.path}/public.key" --out "{build.path}/core/Updater_Signing.h"
# This is quite a working hack. This form of prebuild hook, while intuitive, is not
explicitly documented.
recipe.hooks.prebuild.1.pattern="{runtime.tools.python3.path}/python3" -I
"{runtime.tools.makecorever}" --build_path "{build.path}" --platform_path
"{runtime.platform.path}" --version "{version}"

# Handle processing sketch global options


recipe.hooks.prebuild.2.pattern="{runtime.tools.python3.path}/python3" -I
"{runtime.tools.mkbuildoptglobals}" "{runtime.ide.path}" {runtime.ide.version}
"{build.path}" "{build.opt.fqfn}" "{globals.h.source.fqfn}" "{commonhfile.fqfn}"
{mkbuildoptglobals.extra_flags}

## Build the app.ld linker file


recipe.hooks.linking.prelink.1.pattern="{runtime.tools.python3.path}/python3" -I
"{runtime.tools.mkdir}" -p "{build.path}/ld_h/"
recipe.hooks.linking.prelink.2.pattern="{runtime.tools.python3.path}/python3" -I
"{runtime.tools.cp}" "{runtime.platform.path}/tools/sdk/ld/{build.flash_ld}"
"{build.path}/ld_h/local.eagle.flash.ld.h"
recipe.hooks.linking.prelink.3.pattern="{compiler.path}{compiler.c.cmd}" -CC -E -P
{build.vtable_flags} {build.mmuflags} "{build.path}/ld_h/local.eagle.flash.ld.h" -o
"{build.path}/local.eagle.flash.ld"
recipe.hooks.linking.prelink.4.pattern="{compiler.path}{compiler.c.cmd}" -CC -E -P
{build.vtable_flags} {build.mmuflags}
"{runtime.platform.path}/tools/sdk/ld/eagle.app.v6.common.ld.h" -o
"{build.path}/local.eagle.app.v6.common.ld"

## Compile c files
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags}
{compiler.c.flags} -D{build.sdk}=1 -DF_CPU={build.f_cpu} {build.lwip_flags}
{build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -
DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}"
-DARDUINO_BOARD_ID="{_id}" {build.led} {build.flash_flags} {compiler.c.extra_flags}
{build.extra_flags} {includes} "{source_file}" -o "{object_file}"

## Compile c++ files


recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}"
{compiler.cpreprocessor.flags} {compiler.cpp.flags} -D{build.sdk}=1 -
DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -
DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch}
-DARDUINO_BOARD="{build.board}" -DARDUINO_BOARD_ID="{_id}" {build.led}
{build.flash_flags} {compiler.cpp.extra_flags} {build.extra_flags} {includes}
"{source_file}" -o "{object_file}"

## Compile S files
recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags}
{compiler.S.flags} -D{build.sdk}=1 -DF_CPU={build.f_cpu} {build.lwip_flags}
{build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -
DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}"
-DARDUINO_BOARD_ID="{_id}" {build.led} {build.flash_flags} {compiler.S.extra_flags}
{build.extra_flags} {includes} "{source_file}" -o "{object_file}"

## Create archives
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags}
{compiler.ar.extra_flags} "{archive_file_path}" "{object_file}"

## Combine gc-sections, archives, and objects


recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}"
{build.exception_flags} -Wl,-Map "-Wl,{build.path}/{build.project_name}.map"
{compiler.c.elf.flags} {compiler.c.elf.extra_flags} -o
"{build.path}/{build.project_name}.elf" -Wl,--start-group {object_files}
"{archive_file_path}" {compiler.c.elf.libs} {compiler.libraries.ldflags} -Wl,--end-
group "-L{build.path}"

## Create eeprom
recipe.objcopy.eep.pattern=

## Create hex
recipe.objcopy.hex.1.pattern="{runtime.tools.python3.path}/python3" -I
"{runtime.tools.elf2bin}" --eboot "{runtime.tools.eboot}" --app
"{build.path}/{build.project_name}.elf" --flash_mode {build.flash_mode} --
flash_freq {build.flash_freq} --flash_size {build.flash_size} --path
"{runtime.tools.xtensa-lx106-elf-gcc.path}/bin" --out
"{build.path}/{build.project_name}.bin"
recipe.objcopy.hex.2.pattern="{runtime.tools.python3.path}/python3" -I
"{runtime.tools.signing}" --mode sign --privatekey
"{build.source.path}/private.key" --bin "{build.path}/{build.project_name}.bin" --
out "{build.path}/{build.project_name}.bin.signed" --legacy
"{build.path}/{build.project_name}.bin.legacy_sig"
recipe.objcopy.hex.3.pattern="{runtime.tools.python3.path}/python3" -X utf8 -I
"{runtime.tools.sizes}" --elf "{build.path}/{build.project_name}.elf" --path
"{runtime.tools.xtensa-lx106-elf-gcc.path}/bin" --mmu "{build.mmuflags}"

## Save hex
recipe.output.tmp_file={build.project_name}.bin
recipe.output.save_file={build.project_name}.{build.variant}.bin

## Compute size
recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A
"{build.path}/{build.project_name}.elf"
recipe.size.regex=^(?:\.irom0\.text|\.text|\.text1|\.data|\.rodata|)\s+([0-9]+).*
recipe.size.regex.data=^(?:\.data|\.rodata|\.bss)\s+([0-9]+).*
#recipe.size.regex.eeprom=^(?:\.eeprom)\s+([0-9]+).*

# ------------------------------

tools.esptool.path=
# Because the variable expansion doesn't allow one tool to find another, the
following lines
# will point to "{runtime.platform.path}/tools/python3/python3" in GIT and
# "{runtime.tools.python3.path}/python3" for JSON board manager releases.
#tools.esptool.cmd={runtime.tools.python3.path}/python3
#tools.esptool.network_cmd={runtime.tools.python3.path}/python3
tools.esptool.cmd={runtime.platform.path}/tools/python3/python3
tools.esptool.network_cmd={runtime.platform.path}/tools/python3/python3

tools.esptool.upload.protocol=esp
# esptool.py --trace option is a debug option, not a verbose option
tools.esptool.upload.params.verbose=
tools.esptool.upload.params.quiet=

# First, potentially perform an erase or nothing


# Next, do the binary upload
# Combined in one rule because Arduino doesn't support
upload.1.pattern/upload.3.pattern
tools.esptool.upload.pattern="{cmd}" -I "{runtime.platform.path}/tools/upload.py"
--chip esp8266 --port "{serial.port}" --baud "{upload.speed}" "{upload.verbose}"
{upload.erase_cmd} {upload.resetmethod} write_flash 0x0
"{build.path}/{build.project_name}.bin"
tools.esptool.upload.network_pattern="{network_cmd}" -I
"{runtime.platform.path}/tools/espota.py" -i "{serial.port}" -p "{network.port}"
"--auth={network.password}" -f "{build.path}/{build.project_name}.bin"

tools.mkspiffs.cmd=mkspiffs
tools.mkspiffs.cmd.windows=mkspiffs.exe
tools.mkspiffs.path={runtime.platform.path}/tools/mkspiffs

tools.mklittlefs.cmd=mklittlefs
tools.mklittlefs.cmd.windows=mklittlefs.exe
tools.mklittlefs.path={runtime.platform.path}/tools/mklittlefs

You might also like