2424
2525# Extends: https://github.com/platformio/platform-espressif8266/blob/develop/builder/main.py
2626
27- import os
28- import subprocess
29-
3027from os .path import isdir , join
3128
32- from SCons import Builder , Util
33- from SCons .Script import DefaultEnvironment
29+ from SCons import Util
30+ from SCons .Script import Builder , DefaultEnvironment
3431
3532
3633def scons_patched_match_splitext (path , suffixes = None ):
@@ -127,7 +124,26 @@ def scons_patched_match_splitext(path, suffixes=None):
127124
128125 LIBSOURCE_DIRS = [
129126 join (FRAMEWORK_DIR , "libraries" )
130- ]
127+ ],
128+
129+ BUILDERS = dict (
130+ ElfToBin = Builder (
131+ action = env .VerboseAction (" " .join ([
132+ '"$PYTHONEXE"' ,
133+ '"%s"' % env .subst (join (FRAMEWORK_DIR , "tools" , "elf2bin.py" )),
134+ "--eboot" , '"%s"' % env .subst (join (
135+ FRAMEWORK_DIR , "bootloaders" , "eboot" , "eboot.elf" )),
136+ "--app" , '"%s"' % "$SOURCE" ,
137+ "--flash_mode" , "$BOARD_FLASH_MODE" ,
138+ "--flash_freq" , "${__get_board_f_flash(__env__)}" ,
139+ "--flash_size" , "${__get_flash_size(__env__)}" ,
140+ "--path" , '"%s"' % env .subst (join (
141+ platform .get_package_dir ("toolchain-xtensa" ), "bin" )),
142+ "--out" , '"$TARGET"'
143+ ]), "Building $TARGET" ),
144+ suffix = ".bin"
145+ )
146+ )
131147)
132148
133149# copy CCFLAGS to ASFLAGS (-x assembler-with-cpp mode)
@@ -141,18 +157,18 @@ def scons_patched_match_splitext(path, suffixes=None):
141157if "PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3" in flatten_cppdefines :
142158 env .Append (
143159 CPPDEFINES = [("NONOSDK3V0" , 1 )],
144- LIBPATH = [join (FRAMEWORK_DIR , "tools" , "sdk" , "lib" , "NONOSDK3V0" ), ]
160+ LIBPATH = [join (FRAMEWORK_DIR , "tools" , "sdk" , "lib" , "NONOSDK3V0" )]
145161 )
146162elif "PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x" in flatten_cppdefines :
147163 env .Append (
148164 CPPDEFINES = [("NONOSDK22x" , 1 )],
149- LIBPATH = [join (FRAMEWORK_DIR , "tools" , "sdk" , "lib" , "NONOSDK22x" ), ]
165+ LIBPATH = [join (FRAMEWORK_DIR , "tools" , "sdk" , "lib" , "NONOSDK22x" )]
150166 )
151167# PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x (default)
152168else :
153169 env .Append (
154170 CPPDEFINES = [("NONOSDK221" , 1 )],
155- LIBPATH = [join (FRAMEWORK_DIR , "tools" , "sdk" , "lib" , "NONOSDK221" ), ]
171+ LIBPATH = [join (FRAMEWORK_DIR , "tools" , "sdk" , "lib" , "NONOSDK221" )]
156172 )
157173
158174#
0 commit comments