From bc4107bc9deb903f7ff7d8cca3bda81ba8cf36df Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Thu, 19 Jan 2017 23:02:25 +0200 Subject: [PATCH 1/8] Update builder for Arduino framework --- boards/esp320.json | 1 + boards/esp32dev.json | 3 ++- boards/espea32.json | 1 + boards/hornbill32dev.json | 28 ++++++++++++++++++++++++++++ boards/hornbill32minima.json | 28 ++++++++++++++++++++++++++++ boards/lolin32.json | 1 + boards/nano32.json | 1 + boards/node32s.json | 1 + boards/quantum.json | 1 + builder/frameworks/arduino.py | 32 +++++++++++++++++++++++++------- builder/main.py | 9 ++++++--- 11 files changed, 95 insertions(+), 11 deletions(-) create mode 100644 boards/hornbill32dev.json create mode 100644 boards/hornbill32minima.json diff --git a/boards/esp320.json b/boards/esp320.json index 86fc80fb3..979f464a4 100644 --- a/boards/esp320.json +++ b/boards/esp320.json @@ -15,6 +15,7 @@ ], "name": "Electronic SweetPeas ESP320", "upload": { + "flash_size": "4MB", "maximum_ram_size": 294912, "maximum_size": 1044464, "require_upload_port": true, diff --git a/boards/esp32dev.json b/boards/esp32dev.json index 1722b7458..a33c37cd0 100644 --- a/boards/esp32dev.json +++ b/boards/esp32dev.json @@ -15,7 +15,8 @@ ], "name": "Espressif ESP32 Dev Module", "upload": { - "maximum_ram_size": 114688, + "flash_size": "4MB", + "maximum_ram_size": 294912, "maximum_size": 1044464, "require_upload_port": true, "resetmethod": "nodemcu", diff --git a/boards/espea32.json b/boards/espea32.json index 95ef36873..bf1421980 100644 --- a/boards/espea32.json +++ b/boards/espea32.json @@ -15,6 +15,7 @@ ], "name": "April Brother ESPea32", "upload": { + "flash_size": "4MB", "maximum_ram_size": 294912, "maximum_size": 1044464, "require_upload_port": true, diff --git a/boards/hornbill32dev.json b/boards/hornbill32dev.json new file mode 100644 index 000000000..f8890c79a --- /dev/null +++ b/boards/hornbill32dev.json @@ -0,0 +1,28 @@ +{ + "build": { + "core": "esp32", + "extra_flags": "-DESP32_DEV -DHORNBILL_ESP32_DEV", + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "dio", + "ldscript": "esp32_out.ld", + "mcu": "esp32", + "variant": "hornbill32dev" + }, + "frameworks": [ + "arduino", + "espidf" + ], + "name": "Hornbill ESP32 Dev", + "upload": { + "flash_size": "4MB", + "maximum_ram_size": 294912, + "maximum_size": 1044464, + "require_upload_port": true, + "resetmethod": "nodemcu", + "speed": 115200, + "wait_for_upload_port": true + }, + "url": "https://hackaday.io/project/18997-hornbill", + "vendor": "Hornbill" +} diff --git a/boards/hornbill32minima.json b/boards/hornbill32minima.json new file mode 100644 index 000000000..0eed707c8 --- /dev/null +++ b/boards/hornbill32minima.json @@ -0,0 +1,28 @@ +{ + "build": { + "core": "esp32", + "extra_flags": "-DESP32_DEV -DHORNBILL_ESP32_MINIMA", + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "dio", + "ldscript": "esp32_out.ld", + "mcu": "esp32", + "variant": "hornbill32minima" + }, + "frameworks": [ + "arduino", + "espidf" + ], + "name": "Hornbill ESP32 Minima", + "upload": { + "flash_size": "4MB", + "maximum_ram_size": 294912, + "maximum_size": 1044464, + "require_upload_port": true, + "resetmethod": "nodemcu", + "speed": 115200, + "wait_for_upload_port": true + }, + "url": "https://hackaday.io/project/18997-hornbill", + "vendor": "Hornbill" +} diff --git a/boards/lolin32.json b/boards/lolin32.json index 13af5d2f2..a0c25f5d9 100644 --- a/boards/lolin32.json +++ b/boards/lolin32.json @@ -15,6 +15,7 @@ ], "name": "WEMOS LoLin32", "upload": { + "flash_size": "4MB", "maximum_ram_size": 294912, "maximum_size": 1044464, "require_upload_port": true, diff --git a/boards/nano32.json b/boards/nano32.json index dffa41cd4..547bfd02c 100644 --- a/boards/nano32.json +++ b/boards/nano32.json @@ -17,6 +17,7 @@ ], "name": "MakerAsia Nano32", "upload": { + "flash_size": "4MB", "maximum_ram_size": 294912, "maximum_size": 1044464, "require_upload_port": true, diff --git a/boards/node32s.json b/boards/node32s.json index 35d8ae4b9..c7731e41d 100644 --- a/boards/node32s.json +++ b/boards/node32s.json @@ -15,6 +15,7 @@ ], "name": "Node32s", "upload": { + "flash_size": "4MB", "maximum_ram_size": 114688, "maximum_size": 1044464, "require_upload_port": true, diff --git a/boards/quantum.json b/boards/quantum.json index 5da5cd503..1edb1c343 100644 --- a/boards/quantum.json +++ b/boards/quantum.json @@ -15,6 +15,7 @@ ], "name": "Noduino Quantum", "upload": { + "flash_size": "16MB", "maximum_ram_size": 294912, "maximum_size": 1044464, "require_upload_port": true, diff --git a/builder/frameworks/arduino.py b/builder/frameworks/arduino.py index 44f1f1eab..7fce8464a 100644 --- a/builder/frameworks/arduino.py +++ b/builder/frameworks/arduino.py @@ -38,20 +38,37 @@ "ARDUINO_ARCH_ESP32" ], + CFLAGS=["-Wno-old-style-declaration"], + + CCFLAGS=[ + "-Wno-error=deprecated-declarations", + "-Wno-unused-parameter", + "-Wno-sign-compare" + ], + CPPPATH=[ join(FRAMEWORK_DIR, "tools", "sdk", "include", "config"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "bt"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "driver"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "esp32"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "ethernet"), + join(FRAMEWORK_DIR, "tools", "sdk", "include", "fatfs"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "freertos"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "log"), + join(FRAMEWORK_DIR, "tools", "sdk", "include", "mdns"), + join(FRAMEWORK_DIR, "tools", "sdk", "include", "vfs"), + join(FRAMEWORK_DIR, "tools", "sdk", "include", "ulp"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "lwip"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "newlib"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "nvs_flash"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "spi_flash"), + join(FRAMEWORK_DIR, "tools", "sdk", "include", "sdmmc"), + join(FRAMEWORK_DIR, "tools", "sdk", "include", "openssl"), + join(FRAMEWORK_DIR, "tools", "sdk", "include", "app_update"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "tcpip_adapter"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "vfs"), + join(FRAMEWORK_DIR, "tools", "sdk", "include", "xtensa-debug-module"), + join(FRAMEWORK_DIR, "tools", "sdk", "include", "coap"), + join(FRAMEWORK_DIR, "tools", "sdk", "include", "wpa_supplicant"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "expat"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "json"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "mbedtls"), @@ -63,12 +80,13 @@ join(FRAMEWORK_DIR, "tools", "sdk", "ld"), ], LIBS=[ - "app_update", "bt", "btdm_app", "c", "coexist", "core", "driver", - "esp32", "ethernet", "expat", "freertos", "g", "hal", "json", "log", - "lwip", "m", "mbedtls", "net80211", "newlib", "nghttp", "nvs_flash", - "openssl", "phy", "pp", "rtc", "smartconfig", "spi_flash", - "tcpip_adapter", "ulp", "vfs", "wpa", "wpa2", "wpa_supplicant", "wps", - "xtensa-debug-module" + "app_update", "bootloader_support", "bt", "btdm_app", "c", + "c_nano", "coap", "coexist", "core", "cxx", "driver", "esp32", + "ethernet", "expat", "fatfs", "freertos", "hal", "json", "log", + "lwip", "m", "mbedtls", "mdns", "micro-ecc", "net80211", "newlib", + "nghttp", "nvs_flash", "openssl", "phy", "pp", "rtc", "sdmmc", + "smartconfig", "spi_flash", "tcpip_adapter", "ulp", "vfs", "wpa", + "wpa2", "wpa_supplicant", "wps", "xtensa-debug-module", "gcc", "stdc++" ] ) diff --git a/builder/main.py b/builder/main.py index b07d790fa..ec78a8841 100644 --- a/builder/main.py +++ b/builder/main.py @@ -45,7 +45,7 @@ def _get_board_f_flash(env): CFLAGS=["-std=gnu99"], CCFLAGS=[ - "-Og", + "%s" % "-Os" if env.subst("$PIOFRAMEWORK") == "arduino" else "-Og", "-g3", "-nostdlib", "-Wpointer-arith", @@ -102,7 +102,8 @@ def _get_board_f_flash(env): "--baud", "$UPLOAD_SPEED", "write_flash", "-z", "--flash_mode", "$BOARD_FLASH_MODE", - "--flash_freq", "${__get_board_f_flash(__env__)}" + "--flash_freq", "${__get_board_f_flash(__env__)}", + "--flash_size", env.BoardConfig().get("upload.flash_size", "4MB") ], UPLOADCMD='"$PYTHONEXE" "$UPLOADER" $UPLOADERFLAGS $SOURCE', @@ -116,7 +117,7 @@ def _get_board_f_flash(env): UPLOADERFLAGS=[ "0x1000", '"%s"' % join("$FRAMEWORK_ARDUINOESP32_DIR", "tools", "sdk", "bin", "bootloader.bin"), - "0x4000", '"%s"' % join("$FRAMEWORK_ARDUINOESP32_DIR", "tools", + "0x8000", '"%s"' % join("$FRAMEWORK_ARDUINOESP32_DIR", "tools", "sdk", "bin", "partitions_singleapp.bin"), "0x10000" ] @@ -158,6 +159,8 @@ def _get_board_f_flash(env): "elf2image", "--flash_mode", "$BOARD_FLASH_MODE", "--flash_freq", "${__get_board_f_flash(__env__)}", + "--flash_size", + env.BoardConfig().get("upload.flash_size", "4MB"), "-o", "$TARGET", "$SOURCES" ]), "Building $TARGET"), suffix=".bin" From 91bba860d4c0aeb99f29a123af2ecca50e53144a Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Thu, 19 Jan 2017 23:39:41 +0200 Subject: [PATCH 2/8] Update packages: toolchain-xtensa32, framework-arduinoespressif32 and tool-esptoolpy --- platform.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platform.json b/platform.json index 4de4919df..dd9c22ac5 100644 --- a/platform.json +++ b/platform.json @@ -41,12 +41,12 @@ "packages": { "toolchain-xtensa32": { "type": "toolchain", - "version": "~1.40805.0" + "version": "~1.50200.0" }, "framework-arduinoespressif32": { "type": "framework", "optional": true, - "version": "~1.0.2" + "version": "~1.0.3" }, "framework-espidf": { "type": "framework", @@ -65,7 +65,7 @@ }, "tool-esptoolpy": { "type": "uploader", - "version": "~1.0.0" + "version": "~1.20000.0" } } } From dabc54ab7b2769f41c0715aacce43c0c0d015336 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Thu, 19 Jan 2017 23:50:01 +0200 Subject: [PATCH 3/8] Update Arduino Core version --- platform.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform.json b/platform.json index dd9c22ac5..50b993887 100644 --- a/platform.json +++ b/platform.json @@ -46,7 +46,7 @@ "framework-arduinoespressif32": { "type": "framework", "optional": true, - "version": "~1.0.3" + "version": "~1.1.0" }, "framework-espidf": { "type": "framework", From 19c8bc49dee1b1c7f67b64c70d814fa8ad17b150 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Tue, 24 Jan 2017 23:25:18 +0200 Subject: [PATCH 4/8] Move framework related things from main script to own build script --- builder/frameworks/arduino.py | 8 +++++++ builder/frameworks/espidf.py | 7 +++++++ builder/frameworks/simba.py | 10 +++++++++ builder/main.py | 39 +---------------------------------- 4 files changed, 26 insertions(+), 38 deletions(-) diff --git a/builder/frameworks/arduino.py b/builder/frameworks/arduino.py index 7fce8464a..11800ab04 100644 --- a/builder/frameworks/arduino.py +++ b/builder/frameworks/arduino.py @@ -99,6 +99,14 @@ "-T", "esp32.common.ld", "-T", "esp32.rom.ld", "-T", "esp32.peripherals.ld" + ], + + UPLOADERFLAGS=[ + "0x1000", '"%s"' % join(FRAMEWORK_DIR, "tools", + "sdk", "bin", "bootloader.bin"), + "0x8000", '"%s"' % join(FRAMEWORK_DIR, "tools", + "sdk", "bin", "partitions_singleapp.bin"), + "0x10000" ] ) diff --git a/builder/frameworks/espidf.py b/builder/frameworks/espidf.py index 44ab9141c..6e7df5f30 100644 --- a/builder/frameworks/espidf.py +++ b/builder/frameworks/espidf.py @@ -77,6 +77,7 @@ def build_espidf_bootloader(): ) ) + env.Prepend( CPPPATH=[ join("$PROJECTSRC_DIR"), @@ -128,6 +129,12 @@ def build_espidf_bootloader(): "-T", "esp32.rom.ld", "-T", "esp32.peripherals.ld" ], + + UPLOADERFLAGS=[ + "0x1000", join("$BUILD_DIR", "bootloader.bin"), + "0x4000", join("$BUILD_DIR", "partitions_table.bin"), + "0x10000" + ] ) # diff --git a/builder/frameworks/simba.py b/builder/frameworks/simba.py index 2478bd2db..c854e3805 100644 --- a/builder/frameworks/simba.py +++ b/builder/frameworks/simba.py @@ -54,5 +54,15 @@ def VariantDirWrap(env, variant_dir, src_dir, duplicate=False): PLATFORMFW_DIR=env.PioPlatform().get_package_dir("framework-simba") ) +env.Append( + UPLOADERFLAGS=[ + "0x1000", join("$PLATFORMFW_DIR", "3pp", "esp32", + "bin", "bootloader.bin"), + "0x4000", join("$PLATFORMFW_DIR", "3pp", "esp32", + "bin", "partitions_singleapp.bin"), + "0x10000" + ] +) + SConscript( [env.subst(join("$PLATFORMFW_DIR", "make", "platformio.sconscript"))]) diff --git a/builder/main.py b/builder/main.py index ec78a8841..63a7e17ee 100644 --- a/builder/main.py +++ b/builder/main.py @@ -80,15 +80,6 @@ def _get_board_f_flash(env): "-Wl,--gc-sections" ], - # - # Packages - # - - FRAMEWORK_ARDUINOESP32_DIR=platform.get_package_dir( - "framework-arduinoespressif32"), - ESPIDF_DIR=platform.get_package_dir("framework-espidf"), - FRAMEWORK_SIMBA_DIR=platform.get_package_dir("framework-simba"), - # # Upload # @@ -112,36 +103,8 @@ def _get_board_f_flash(env): PROGSUFFIX=".elf" ) -if env.subst("$PIOFRAMEWORK") == "arduino": - env.Append( - UPLOADERFLAGS=[ - "0x1000", '"%s"' % join("$FRAMEWORK_ARDUINOESP32_DIR", "tools", - "sdk", "bin", "bootloader.bin"), - "0x8000", '"%s"' % join("$FRAMEWORK_ARDUINOESP32_DIR", "tools", - "sdk", "bin", "partitions_singleapp.bin"), - "0x10000" - ] - ) -if env.subst("$PIOFRAMEWORK") == "espidf": - env.Append( - UPLOADERFLAGS=[ - "0x1000", join("$BUILD_DIR", "bootloader.bin"), - "0x4000", join("$BUILD_DIR", "partitions_table.bin"), - "0x10000" - ] - ) -if env.subst("$PIOFRAMEWORK") == "simba": - env.Append( - UPLOADERFLAGS=[ - "0x1000", join("$FRAMEWORK_SIMBA_DIR", "3pp", "esp32", - "bin", "bootloader.bin"), - "0x4000", join("$FRAMEWORK_SIMBA_DIR", "3pp", "esp32", - "bin", "partitions_singleapp.bin"), - "0x10000" - ] - ) - +# Clone actual CCFLAGS to ASFLAGS env.Append( ASFLAGS=env.get("CCFLAGS", [])[:] ) From 42a493719f7ea569d5bcf75b440407a3960408c4 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Wed, 25 Jan 2017 15:42:36 +0200 Subject: [PATCH 5/8] Depend on Arduino Core from official repository --- builder/frameworks/arduino.py | 118 ++-------------------------------- builder/frameworks/espidf.py | 19 +++--- platform.json | 6 +- 3 files changed, 17 insertions(+), 126 deletions(-) diff --git a/builder/frameworks/arduino.py b/builder/frameworks/arduino.py index 11800ab04..713bc8a4d 100644 --- a/builder/frameworks/arduino.py +++ b/builder/frameworks/arduino.py @@ -11,7 +11,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - """ Arduino @@ -22,117 +21,10 @@ http://arduino.cc/en/Reference/HomePage """ -from os.path import isdir, join - -from SCons.Script import DefaultEnvironment - -env = DefaultEnvironment() -platform = env.PioPlatform() - -FRAMEWORK_DIR = platform.get_package_dir("framework-arduinoespressif32") -assert isdir(FRAMEWORK_DIR) - -env.Prepend( - CPPDEFINES=[ - ("ARDUINO", 10610), - "ARDUINO_ARCH_ESP32" - ], - - CFLAGS=["-Wno-old-style-declaration"], - - CCFLAGS=[ - "-Wno-error=deprecated-declarations", - "-Wno-unused-parameter", - "-Wno-sign-compare" - ], - - CPPPATH=[ - join(FRAMEWORK_DIR, "tools", "sdk", "include", "config"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "bt"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "driver"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "esp32"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "ethernet"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "fatfs"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "freertos"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "log"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "mdns"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "vfs"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "ulp"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "lwip"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "newlib"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "nvs_flash"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "spi_flash"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "sdmmc"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "openssl"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "app_update"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "tcpip_adapter"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "xtensa-debug-module"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "coap"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "wpa_supplicant"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "expat"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "json"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "mbedtls"), - join(FRAMEWORK_DIR, "tools", "sdk", "include", "nghttp"), - join(FRAMEWORK_DIR, "cores", env.BoardConfig().get("build.core")) - ], - LIBPATH=[ - join(FRAMEWORK_DIR, "tools", "sdk", "lib"), - join(FRAMEWORK_DIR, "tools", "sdk", "ld"), - ], - LIBS=[ - "app_update", "bootloader_support", "bt", "btdm_app", "c", - "c_nano", "coap", "coexist", "core", "cxx", "driver", "esp32", - "ethernet", "expat", "fatfs", "freertos", "hal", "json", "log", - "lwip", "m", "mbedtls", "mdns", "micro-ecc", "net80211", "newlib", - "nghttp", "nvs_flash", "openssl", "phy", "pp", "rtc", "sdmmc", - "smartconfig", "spi_flash", "tcpip_adapter", "ulp", "vfs", "wpa", - "wpa2", "wpa_supplicant", "wps", "xtensa-debug-module", "gcc", "stdc++" - ] -) - -env.Append( - LIBSOURCE_DIRS=[ - join(FRAMEWORK_DIR, "libraries") - ], - - LINKFLAGS=[ - "-T", "esp32.common.ld", - "-T", "esp32.rom.ld", - "-T", "esp32.peripherals.ld" - ], - - UPLOADERFLAGS=[ - "0x1000", '"%s"' % join(FRAMEWORK_DIR, "tools", - "sdk", "bin", "bootloader.bin"), - "0x8000", '"%s"' % join(FRAMEWORK_DIR, "tools", - "sdk", "bin", "partitions_singleapp.bin"), - "0x10000" - ] -) - -# -# Target: Build Core Library -# - -libs = [] - -if "build.variant" in env.BoardConfig(): - env.Append( - CPPPATH=[ - join(FRAMEWORK_DIR, "variants", - env.BoardConfig().get("build.variant")) - ] - ) - libs.append(env.BuildLibrary( - join("$BUILD_DIR", "FrameworkArduinoVariant"), - join(FRAMEWORK_DIR, "variants", env.BoardConfig().get("build.variant")) - )) - -envsafe = env.Clone() +from os.path import join -libs.append(envsafe.BuildLibrary( - join("$BUILD_DIR", "FrameworkArduino"), - join(FRAMEWORK_DIR, "cores", env.BoardConfig().get("build.core")) -)) +from SCons.Script import DefaultEnvironment, SConscript -env.Prepend(LIBS=libs) +SConscript( + join(DefaultEnvironment().PioPlatform().get_package_dir( + "framework-arduinoespressif32"), "tools", "platformio-build.py")) diff --git a/builder/frameworks/espidf.py b/builder/frameworks/espidf.py index 6e7df5f30..26d0ad45f 100644 --- a/builder/frameworks/espidf.py +++ b/builder/frameworks/espidf.py @@ -30,20 +30,19 @@ platform = env.PioPlatform() FRAMEWORK_DIR = platform.get_package_dir("framework-espidf") +assert FRAMEWORK_DIR and isdir(FRAMEWORK_DIR) FRAMEWORK_VERSION = platform.get_package_version( "framework-espidf") -assert isdir(FRAMEWORK_DIR) def build_espidf_bootloader(): envsafe = env.Clone() - framework_dir = env.subst("$ESPIDF_DIR") envsafe.Replace( CPPDEFINES=["ESP_PLATFORM", ("BOOTLOADER_BUILD", 1)], LIBPATH=[ - join(framework_dir, "components", "esp32", "ld"), - join(framework_dir, "components", "bootloader", "src", "main") + join(FRAMEWORK_DIR, "components", "esp32", "ld"), + join(FRAMEWORK_DIR, "components", "bootloader", "src", "main") ], LINKFLAGS=[ @@ -64,7 +63,7 @@ def build_espidf_bootloader(): LIBS=[ envsafe.BuildLibrary( join("$BUILD_DIR", "bootloaderLog"), - join(framework_dir, "components", "log") + join(FRAMEWORK_DIR, "components", "log") ), "gcc" ] ) @@ -73,7 +72,7 @@ def build_espidf_bootloader(): join("$BUILD_DIR", "bootloader.elf"), envsafe.CollectBuildFiles( join("$BUILD_DIR", "bootloader"), - join(framework_dir, "components", "bootloader", "src", "main") + join(FRAMEWORK_DIR, "components", "bootloader", "src", "main") ) ) @@ -142,11 +141,11 @@ def build_espidf_bootloader(): # partition_table = env.Command( - join(env.subst("$BUILD_DIR"), "partitions_table.bin"), - join("$ESPIDF_DIR", "components", + join("$BUILD_DIR", "partitions_table.bin"), + join(FRAMEWORK_DIR, "components", "partition_table", "partitions_singleapp.csv"), '"$PYTHONEXE" "%s" -q $SOURCE $TARGET' % join( - "$ESPIDF_DIR", "components", "partition_table", "gen_esp32part.py") + FRAMEWORK_DIR, "components", "partition_table", "gen_esp32part.py") ) env.Depends("$BUILD_DIR/$PROGNAME$PROGSUFFIX", partition_table) @@ -158,7 +157,7 @@ def build_espidf_bootloader(): linker_script = env.Command( join("$BUILD_DIR", "esp32_out.ld"), - join("$ESPIDF_DIR", "components", "esp32", "ld", "esp32.ld"), + join(FRAMEWORK_DIR, "components", "esp32", "ld", "esp32.ld"), "$CC -I$PROJECTSRC_DIR -C -P -x c -E $SOURCE -o $TARGET" ) diff --git a/platform.json b/platform.json index 50b993887..e27541c49 100644 --- a/platform.json +++ b/platform.json @@ -6,13 +6,13 @@ "homepage": "http://platformio.org/platforms/espressif32", "license": "Apache-2.0", "engines": { - "platformio": "^3.0.0" + "platformio": ">=3.3.0-a7" }, "repository": { "type": "git", "url": "https://github.com/platformio/platform-espressif32.git" }, - "version": "0.4.0", + "version": "0.5.0-a1", "packageRepositories": [ "https://dl.bintray.com/platformio/dl-packages/manifest.json", "https://sourceforge.net/projects/platformio-storage/files/packages/manifest.json/download", @@ -46,7 +46,7 @@ "framework-arduinoespressif32": { "type": "framework", "optional": true, - "version": "~1.1.0" + "version": "https://github.com/ivankravets/arduino-esp32.git" }, "framework-espidf": { "type": "framework", From 88b5d98c0a8eacc6e76ab8136732cdb81f20199a Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Fri, 27 Jan 2017 01:29:43 +0200 Subject: [PATCH 6/8] Minor changes --- builder/main.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/builder/main.py b/builder/main.py index 63a7e17ee..68c1c85bb 100644 --- a/builder/main.py +++ b/builder/main.py @@ -54,14 +54,14 @@ def _get_board_f_flash(env): "-Wno-error=unused-variable", "-mlongcalls", "-ffunction-sections", - "-fdata-sections" + "-fdata-sections", + "-fstrict-volatile-bitfields" ], CXXFLAGS=[ "-fno-rtti", "-fno-exceptions", - "-std=gnu++11", - "-fstrict-volatile-bitfields" + "-std=gnu++11" ], CPPDEFINES=[ From 17e331e14b4b3ee1680e91f30c14323362f66315 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Fri, 27 Jan 2017 21:35:45 +0200 Subject: [PATCH 7/8] Use tagged packages for stable version --- platform.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform.json b/platform.json index e27541c49..aa333eab8 100644 --- a/platform.json +++ b/platform.json @@ -6,7 +6,7 @@ "homepage": "http://platformio.org/platforms/espressif32", "license": "Apache-2.0", "engines": { - "platformio": ">=3.3.0-a7" + "platformio": "^3.0.0" }, "repository": { "type": "git", @@ -46,7 +46,7 @@ "framework-arduinoespressif32": { "type": "framework", "optional": true, - "version": "https://github.com/ivankravets/arduino-esp32.git" + "version": "~1.1.1" }, "framework-espidf": { "type": "framework", From 105d9141d3065019b549c73983e62057f377b54e Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Fri, 27 Jan 2017 21:36:38 +0200 Subject: [PATCH 8/8] Bump version to v0.5.0 --- platform.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform.json b/platform.json index aa333eab8..60c110163 100644 --- a/platform.json +++ b/platform.json @@ -12,7 +12,7 @@ "type": "git", "url": "https://github.com/platformio/platform-espressif32.git" }, - "version": "0.5.0-a1", + "version": "0.5.0", "packageRepositories": [ "https://dl.bintray.com/platformio/dl-packages/manifest.json", "https://sourceforge.net/projects/platformio-storage/files/packages/manifest.json/download",