mirror of
https://github.com/esp8266/Arduino.git
synced 2025-05-15 17:35:24 +03:00
89 lines
4.0 KiB
Plaintext
89 lines
4.0 KiB
Plaintext
|
|
# Arduino ESP8266 platform
|
|
# ------------------------------
|
|
|
|
# For more info:
|
|
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
|
|
|
|
name=Arduino ESP8266
|
|
version=1.5.8
|
|
|
|
compiler.tools.path={runtime.ide.path}/hardware/tools/esp8266/
|
|
compiler.path={compiler.tools.path}/xtensa-lx106-elf/bin/
|
|
compiler.sdk.path={compiler.tools.path}/sdk/
|
|
|
|
compiler.cpreprocessor.flags=-D__ets__ -DICACHE_FLASH -I{compiler.sdk.path}/include
|
|
|
|
compiler.c.cmd=xtensa-lx106-elf-gcc
|
|
compiler.c.flags=-c -Os -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -MMD -std=c99
|
|
|
|
compiler.c.elf.ldscript=eagle.app.v6.ld
|
|
compiler.c.elf.flags=-nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static -L{compiler.sdk.path}/lib -L{compiler.sdk.path}/ld -T{compiler.c.elf.ldscript}
|
|
compiler.c.elf.cmd=xtensa-lx106-elf-gcc
|
|
compiler.c.elf.libs=-lc -lgcc -lhal -lphy -lnet80211 -llwip -lwpa -lmain
|
|
|
|
compiler.cpp.cmd=xtensa-lx106-elf-g++
|
|
compiler.cpp.flags=-c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD
|
|
|
|
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.esptool.cmd=esptool
|
|
|
|
# This can be overriden 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=
|
|
|
|
## Compile c files
|
|
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.c.flags} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {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} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
|
|
|
|
## Compile S files
|
|
recipe.S.o.pattern="{compiler.path}{compiler.as.cmd}" -o "{object_file}" "{source_file}"
|
|
|
|
## Create archives
|
|
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}"
|
|
|
|
## Combine gc-sections, archives, and objects
|
|
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" -Wl,--start-group {object_files} "{build.path}/{archive_file}" {compiler.c.elf.libs} -Wl,--end-group "-L{build.path}"
|
|
|
|
## Create eeprom
|
|
recipe.objcopy.eep.pattern=
|
|
|
|
## Create hex
|
|
#recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} {compiler.elf2hex.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.hex"
|
|
|
|
recipe.objcopy.hex.pattern={compiler.tools.path}{compiler.esptool.cmd} -eo "{build.path}/{build.project_name}.elf" -bo "{build.path}/{build.project_name}_00000.bin" -bs .text -bs .data -bs .rodata -bc -ec -eo "{build.path}/{build.project_name}.elf" -es .irom0.text "{build.path}/{build.project_name}_40000.bin" -ec
|
|
|
|
## Compute size
|
|
#recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf"
|
|
recipe.size.pattern=
|
|
recipe.size.regex=^(?:\.text|\.data|\.bootloader)\s+([0-9]+).*
|
|
recipe.size.regex.data=^(?:\.data|\.bss|\.noinit)\s+([0-9]+).*
|
|
recipe.size.regex.eeprom=^(?:\.eeprom)\s+([0-9]+).*
|
|
|
|
# ------------------------------
|
|
|
|
tools.esptoolpy.cmd.path={runtime.ide.path}/hardware/tools/esp8266/espflash
|
|
|
|
tools.esptoolpy.program.params.verbose=
|
|
tools.esptoolpy.program.params.quiet=
|
|
tools.esptoolpy.program.pattern="{cmd.path}" --port={serial.port} write_flash 0x00000 "{build.path}/{build.project_name}_00000.bin" 0x40000 "{build.path}/{build.project_name}_40000.bin"
|
|
|