0% found this document useful (0 votes)
26 views

Platform

good for coders on arduino

Uploaded by

atharvlofi
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

Platform

good for coders on arduino

Uploaded by

atharvlofi
Copyright
© © All Rights Reserved
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