diff --git a/boards/esp320.json b/boards/esp320.json index 86fc80f..979f464 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 1722b74..a33c37c 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 95ef368..bf14219 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 0000000..f8890c7 --- /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 0000000..0eed707 --- /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 13af5d2..a0c25f5 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 dffa41c..547bfd0 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 35d8ae4..c7731e4 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 5da5cd5..1edb1c3 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 44f1f1e..7fce846 100644 --- a/builder/frameworks/arduino.py +++ b/builder/frameworks/arduino.py @@ -38,20 +38,37 @@ env.Prepend( "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 @@ env.Prepend( 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 b07d790..ec78a88 100644 --- a/builder/main.py +++ b/builder/main.py @@ -45,7 +45,7 @@ env.Replace( CFLAGS=["-std=gnu99"], CCFLAGS=[ - "-Og", + "%s" % "-Os" if env.subst("$PIOFRAMEWORK") == "arduino" else "-Og", "-g3", "-nostdlib", "-Wpointer-arith", @@ -102,7 +102,8 @@ env.Replace( "--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 @@ if env.subst("$PIOFRAMEWORK") == "arduino": 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 @@ env.Append( "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"