From 824c5fb93c97a9755cf876f5ca2ec8b143968fa0 Mon Sep 17 00:00:00 2001 From: valeros Date: Fri, 5 Nov 2021 16:13:39 +0200 Subject: [PATCH] Properly embed non-text files for IDF-based projects Resolve #639 --- builder/frameworks/_embed_files.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/builder/frameworks/_embed_files.py b/builder/frameworks/_embed_files.py index 292c2a2..a267e0f 100644 --- a/builder/frameworks/_embed_files.py +++ b/builder/frameworks/_embed_files.py @@ -125,7 +125,7 @@ env.Append( ), suffix=".txt.o", ), - TxtToAsm=Builder( + FileToAsm=Builder( action=env.VerboseAction( " ".join( [ @@ -136,7 +136,7 @@ env.Append( ), "-DDATA_FILE=$SOURCE", "-DSOURCE_FILE=$TARGET", - "-DFILE_TYPE=TEXT", + "-DFILE_TYPE=$FILE_TYPE", "-P", join( env.PioPlatform().get_package_dir("framework-espidf") or "", @@ -166,7 +166,13 @@ for files_type in ("embed_txtfiles", "embed_files"): files = extract_files(flags, files_type) if "espidf" in env.subst("$PIOFRAMEWORK"): - env.Requires(join("$BUILD_DIR", "${PROGNAME}.elf"), env.TxtToAsm(files)) + env.Requires( + join("$BUILD_DIR", "${PROGNAME}.elf"), + env.FileToAsm( + files, + FILE_TYPE="TEXT" if files_type == "embed_txtfiles" else "BINARY", + ), + ) else: embed_files(files, files_type) remove_config_define(flags, files_type)