mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-19 23:22:16 +03:00
Use custom "ElfToBin" builder for PIO (#6091)
This commit is contained in:
parent
eea9999dc5
commit
2df33de1e7
@ -24,13 +24,10 @@ https://arduino.cc/en/Reference/HomePage
|
|||||||
|
|
||||||
# Extends: https://github.com/platformio/platform-espressif8266/blob/develop/builder/main.py
|
# Extends: https://github.com/platformio/platform-espressif8266/blob/develop/builder/main.py
|
||||||
|
|
||||||
import os
|
|
||||||
import subprocess
|
|
||||||
|
|
||||||
from os.path import isdir, join
|
from os.path import isdir, join
|
||||||
|
|
||||||
from SCons import Builder, Util
|
from SCons import Util
|
||||||
from SCons.Script import DefaultEnvironment
|
from SCons.Script import Builder, DefaultEnvironment
|
||||||
|
|
||||||
|
|
||||||
def scons_patched_match_splitext(path, suffixes=None):
|
def scons_patched_match_splitext(path, suffixes=None):
|
||||||
@ -127,7 +124,26 @@ env.Append(
|
|||||||
|
|
||||||
LIBSOURCE_DIRS=[
|
LIBSOURCE_DIRS=[
|
||||||
join(FRAMEWORK_DIR, "libraries")
|
join(FRAMEWORK_DIR, "libraries")
|
||||||
]
|
],
|
||||||
|
|
||||||
|
BUILDERS=dict(
|
||||||
|
ElfToBin=Builder(
|
||||||
|
action=env.VerboseAction(" ".join([
|
||||||
|
'"$PYTHONEXE"',
|
||||||
|
'"%s"' % env.subst(join(FRAMEWORK_DIR, "tools", "elf2bin.py")),
|
||||||
|
"--eboot", '"%s"' % env.subst(join(
|
||||||
|
FRAMEWORK_DIR, "bootloaders", "eboot", "eboot.elf")),
|
||||||
|
"--app", '"%s"' % "$SOURCE",
|
||||||
|
"--flash_mode", "$BOARD_FLASH_MODE",
|
||||||
|
"--flash_freq", "${__get_board_f_flash(__env__)}",
|
||||||
|
"--flash_size", "${__get_flash_size(__env__)}",
|
||||||
|
"--path", '"%s"' % env.subst(join(
|
||||||
|
platform.get_package_dir("toolchain-xtensa"), "bin")),
|
||||||
|
"--out", '"$TARGET"'
|
||||||
|
]), "Building $TARGET"),
|
||||||
|
suffix=".bin"
|
||||||
|
)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
# copy CCFLAGS to ASFLAGS (-x assembler-with-cpp mode)
|
# copy CCFLAGS to ASFLAGS (-x assembler-with-cpp mode)
|
||||||
@ -141,18 +157,18 @@ flatten_cppdefines = env.Flatten(env['CPPDEFINES'])
|
|||||||
if "PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3" in flatten_cppdefines:
|
if "PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3" in flatten_cppdefines:
|
||||||
env.Append(
|
env.Append(
|
||||||
CPPDEFINES=[("NONOSDK3V0", 1)],
|
CPPDEFINES=[("NONOSDK3V0", 1)],
|
||||||
LIBPATH=[join(FRAMEWORK_DIR, "tools", "sdk", "lib", "NONOSDK3V0"),]
|
LIBPATH=[join(FRAMEWORK_DIR, "tools", "sdk", "lib", "NONOSDK3V0")]
|
||||||
)
|
)
|
||||||
elif "PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x" in flatten_cppdefines:
|
elif "PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x" in flatten_cppdefines:
|
||||||
env.Append(
|
env.Append(
|
||||||
CPPDEFINES=[("NONOSDK22x", 1)],
|
CPPDEFINES=[("NONOSDK22x", 1)],
|
||||||
LIBPATH=[join(FRAMEWORK_DIR, "tools", "sdk", "lib", "NONOSDK22x"),]
|
LIBPATH=[join(FRAMEWORK_DIR, "tools", "sdk", "lib", "NONOSDK22x")]
|
||||||
)
|
)
|
||||||
# PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x (default)
|
# PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x (default)
|
||||||
else:
|
else:
|
||||||
env.Append(
|
env.Append(
|
||||||
CPPDEFINES=[("NONOSDK221", 1)],
|
CPPDEFINES=[("NONOSDK221", 1)],
|
||||||
LIBPATH=[join(FRAMEWORK_DIR, "tools", "sdk", "lib", "NONOSDK221"),]
|
LIBPATH=[join(FRAMEWORK_DIR, "tools", "sdk", "lib", "NONOSDK221")]
|
||||||
)
|
)
|
||||||
|
|
||||||
#
|
#
|
||||||
|
Loading…
x
Reference in New Issue
Block a user