Merge branch 'release/v1.0.1'

This commit is contained in:
Ivan Kravets
2018-05-31 21:35:24 +03:00
11 changed files with 82 additions and 111 deletions
+1 -1
View File
@@ -33,7 +33,7 @@
"name": "Espressif ESP-WROVER-KIT",
"upload": {
"flash_size": "4MB",
"maximum_ram_size": 294912,
"maximum_ram_size": 4194304,
"maximum_size": 1310720,
"require_upload_port": true,
"speed": 115200,
+6 -5
View File
@@ -22,7 +22,7 @@ https://github.com/espressif/esp-idf
from glob import glob
from os import listdir, walk
from os.path import basename, isdir, isfile, join
from os.path import abspath, basename, isdir, isfile, join
from shutil import copy
import sys
@@ -322,13 +322,13 @@ if "PIO_FRAMEWORK_ESP_IDF_ENABLE_EXCEPTIONS" in env.Flatten(
("CONFIG_CXX_EXCEPTIONS", 1),
("CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE", 0)
],
CXXFLAGS=["-fexceptions"]
)
else:
env.Append(LINKFLAGS=["-u", "__cxx_fatal_exception"])
#
# Handle missing sdkconfig.h
#
@@ -365,8 +365,9 @@ fwpartitions_dir = join(FRAMEWORK_DIR, "components", "partition_table")
partitions_csv = env.BoardConfig().get("build.partitions",
"partitions_singleapp.csv")
env.Replace(
PARTITIONS_TABLE_CSV=join(fwpartitions_dir, partitions_csv) if isfile(
join(fwpartitions_dir, partitions_csv)) else partitions_csv)
PARTITIONS_TABLE_CSV=abspath(
join(fwpartitions_dir, partitions_csv) if isfile(
join(fwpartitions_dir, partitions_csv)) else partitions_csv))
partition_table = env.Command(
join("$BUILD_DIR", "partitions.bin"),
+52 -103
View File
@@ -19,11 +19,11 @@ from os.path import isfile, join
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Builder, Default,
DefaultEnvironment)
#
# Helpers
#
def _get_board_f_flash(env):
frequency = env.subst("$BOARD_F_FLASH")
frequency = str(frequency).replace("L", "")
@@ -40,7 +40,9 @@ def _get_board_flash_mode(env):
def _parse_size(value):
if value.isdigit():
if isinstance(value, int):
return value
elif value.isdigit():
return int(value)
elif value.startswith("0x"):
return int(value, 16)
@@ -59,22 +61,26 @@ def _parse_partitions(env):
return
result = []
next_offset = 0
with open(partitions_csv) as fp:
for line in fp.readlines():
line = line.strip()
if not line or line.startswith("#"):
continue
tokens = [t.strip() for t in line.split(",") if t.strip()]
tokens = [t.strip() for t in line.split(",")]
if len(tokens) < 5:
continue
result.append({
partition = {
"name": tokens[0],
"type": tokens[1],
"subtype": tokens[2],
"offset": tokens[3],
"offset": tokens[3] or next_offset,
"size": tokens[4],
"flags": tokens[5] if len(tokens) > 5 else None
})
}
result.append(partition)
next_offset = (_parse_size(partition['offset']) +
_parse_size(partition['size']))
return result
@@ -93,6 +99,7 @@ def _update_max_upload_size(env):
# SPIFFS helpers
#
def fetch_spiffs_size(env):
spiffs = None
for p in _parse_partitions(env):
@@ -121,7 +128,6 @@ platform = env.PioPlatform()
env.Replace(
__get_board_f_flash=_get_board_f_flash,
__get_board_flash_mode=_get_board_flash_mode,
AR="xtensa-esp32-elf-ar",
AS="xtensa-esp32-elf-as",
CC="xtensa-esp32-elf-gcc",
@@ -131,54 +137,27 @@ env.Replace(
platform.get_package_dir("tool-esptoolpy") or "", "esptool.py"),
RANLIB="xtensa-esp32-elf-ranlib",
SIZETOOL="xtensa-esp32-elf-size",
ARFLAGS=["rc"],
ASFLAGS=["-x", "assembler-with-cpp"],
CFLAGS=["-std=gnu99"],
CCFLAGS=[
"-Os",
"-Wall",
"-nostdlib",
"-Wpointer-arith",
"-Wno-error=unused-but-set-variable",
"-Wno-error=unused-variable",
"-mlongcalls",
"-ffunction-sections",
"-fdata-sections",
"-Os", "-Wall", "-nostdlib", "-Wpointer-arith",
"-Wno-error=unused-but-set-variable", "-Wno-error=unused-variable",
"-mlongcalls", "-ffunction-sections", "-fdata-sections",
"-fstrict-volatile-bitfields"
],
CXXFLAGS=[
"-fno-rtti",
"-fno-exceptions",
"-std=gnu++11"
],
CXXFLAGS=["-fno-rtti", "-fno-exceptions", "-std=gnu++11"],
CPPDEFINES=[
"ESP32",
"ESP_PLATFORM",
("F_CPU", "$BOARD_F_CPU"),
"HAVE_CONFIG_H",
"ESP32", "ESP_PLATFORM", ("F_CPU", "$BOARD_F_CPU"), "HAVE_CONFIG_H",
("MBEDTLS_CONFIG_FILE", '\\"mbedtls/esp_config.h\\"')
],
LINKFLAGS=[
"-nostdlib",
"-Wl,-static",
"-u", "call_user_start_cpu0",
"-Wl,--undefined=uxTopUsedPriority",
"-Wl,--gc-sections"
"-nostdlib", "-Wl,-static", "-u", "call_user_start_cpu0",
"-Wl,--undefined=uxTopUsedPriority", "-Wl,--gc-sections"
],
MKSPIFFSTOOL="mkspiffs_${PIOPLATFORM}_${PIOFRAMEWORK}",
SIZEPRINTCMD='$SIZETOOL -B -d $SOURCES',
PROGSUFFIX=".elf"
)
PROGSUFFIX=".elf")
# Allow user to override via pre:script
if env.get("PROGNAME", "program") == "program":
@@ -187,38 +166,24 @@ if env.get("PROGNAME", "program") == "program":
env.Append(
# Clone actual CCFLAGS to ASFLAGS
ASFLAGS=env.get("CCFLAGS", [])[:],
BUILDERS=dict(
ElfToBin=Builder(
action=env.VerboseAction(" ".join([
'"$PYTHONEXE" "$OBJCOPY"',
"--chip", "esp32",
"elf2image",
"--flash_mode", "$BOARD_FLASH_MODE",
"--flash_freq", "${__get_board_f_flash(__env__)}",
"--flash_size",
env.BoardConfig().get("upload.flash_size", "detect"),
"-o", "$TARGET", "$SOURCES"
'"$PYTHONEXE" "$OBJCOPY"', "--chip", "esp32", "elf2image",
"--flash_mode", "$BOARD_FLASH_MODE", "--flash_freq",
"${__get_board_f_flash(__env__)}", "--flash_size",
env.BoardConfig().get("upload.flash_size",
"detect"), "-o", "$TARGET", "$SOURCES"
]), "Building $TARGET"),
suffix=".bin"
),
suffix=".bin"),
DataToBin=Builder(
action=env.VerboseAction(" ".join([
'"$MKSPIFFSTOOL"',
"-c", "$SOURCES",
"-p", "$SPIFFS_PAGE",
"-b", "$SPIFFS_BLOCK",
"-s", "$SPIFFS_SIZE",
"$TARGET"
'"$MKSPIFFSTOOL"', "-c", "$SOURCES", "-p", "$SPIFFS_PAGE",
"-b", "$SPIFFS_BLOCK", "-s", "$SPIFFS_SIZE", "$TARGET"
]), "Building SPIFFS image from '$SOURCES' directory to $TARGET"),
emitter=__fetch_spiffs_size,
source_factory=env.Dir,
suffix=".bin"
)
)
)
suffix=".bin")))
#
# Target: Build executable and linkable firmware or SPIFFS image
@@ -252,9 +217,9 @@ if "upload" in COMMAND_LINE_TARGETS:
# Target: Print binary size
#
target_size = env.Alias(
"size", target_elf,
env.VerboseAction("$SIZEPRINTCMD", "Calculating size $SOURCE"))
target_size = env.Alias("size", target_elf,
env.VerboseAction("$SIZEPRINTCMD",
"Calculating size $SOURCE"))
AlwaysBuild(target_size)
#
@@ -269,27 +234,19 @@ if upload_protocol == "esptool":
env.Replace(
UPLOADER=join(
platform.get_package_dir("tool-esptoolpy") or "", "esptool.py"),
UPLOADEROTA=join(platform.get_package_dir("tool-espotapy") or "",
"espota.py"),
UPLOADEROTA=join(
platform.get_package_dir("tool-espotapy") or "", "espota.py"),
UPLOADERFLAGS=[
"--chip", "esp32",
"--port", '"$UPLOAD_PORT"',
"--baud", "$UPLOAD_SPEED",
"--before", "default_reset",
"--after", "hard_reset",
"write_flash", "-z",
"--flash_mode", "${__get_board_flash_mode(__env__)}",
"--flash_freq", "${__get_board_f_flash(__env__)}",
"--flash_size", "detect"
"--chip", "esp32", "--port", '"$UPLOAD_PORT"', "--baud",
"$UPLOAD_SPEED", "--before", "default_reset", "--after",
"hard_reset", "write_flash", "-z", "--flash_mode",
"${__get_board_flash_mode(__env__)}", "--flash_freq",
"${__get_board_f_flash(__env__)}", "--flash_size", "detect"
],
UPLOADEROTAFLAGS=[
"--debug",
"--progress",
"-i", "$UPLOAD_PORT",
"-p", "3232",
"--debug", "--progress", "-i", "$UPLOAD_PORT", "-p", "3232",
"$UPLOAD_FLAGS"
],
UPLOADCMD='"$PYTHONEXE" "$UPLOADER" $UPLOADERFLAGS 0x10000 $SOURCE',
UPLOADOTACMD='"$PYTHONEXE" "$UPLOADEROTA" $UPLOADEROTAFLAGS -f $SOURCE',
)
@@ -309,38 +266,30 @@ if upload_protocol == "esptool":
if "uploadfs" in COMMAND_LINE_TARGETS:
env.Replace(
UPLOADERFLAGS=[
"--chip", "esp32",
"--port", '"$UPLOAD_PORT"',
"--baud", "$UPLOAD_SPEED",
"--before", "default_reset",
"--after", "hard_reset",
"write_flash", "-z",
"--flash_mode", "$BOARD_FLASH_MODE",
"--flash_size", "detect",
"$SPIFFS_START"
"--chip", "esp32", "--port", '"$UPLOAD_PORT"', "--baud",
"$UPLOAD_SPEED", "--before", "default_reset", "--after",
"hard_reset", "write_flash", "-z", "--flash_mode",
"$BOARD_FLASH_MODE", "--flash_size", "detect", "$SPIFFS_START"
],
UPLOADCMD='"$PYTHONEXE" "$UPLOADER" $UPLOADERFLAGS $SOURCE',
)
env.Append(UPLOADEROTAFLAGS=["-s"])
upload_actions = [
env.VerboseAction(
env.AutodetectUploadPort, "Looking for upload port..."),
env.VerboseAction(env.AutodetectUploadPort,
"Looking for upload port..."),
env.VerboseAction("$UPLOADCMD", "Uploading $SOURCE")
]
elif upload_protocol in debug_tools:
openocd_dir = platform.get_package_dir("tool-openocd-esp32") or ""
uploader_flags = ["-s", openocd_dir]
uploader_flags.extend(debug_tools.get(upload_protocol).get(
"server").get("arguments", []))
uploader_flags.extend([
"-c", 'program_esp32 "{{$SOURCE}}" 0x10000 verify'
])
uploader_flags.extend(
debug_tools.get(upload_protocol).get("server").get("arguments", []))
uploader_flags.extend(["-c", 'program_esp32 "{{$SOURCE}}" 0x10000 verify'])
for image in env.get("FLASH_EXTRA_IMAGES", []):
uploader_flags.extend([
"-c", 'program_esp32 "%s" %s verify' % (image[1], image[0])
])
uploader_flags.extend(
["-c", 'program_esp32 "%s" %s verify' % (image[1], image[0])])
uploader_flags.extend(["-c", "reset run; shutdown"])
for i, item in enumerate(uploader_flags):
if "$PACKAGE_DIR" in item:
+3
View File
@@ -12,15 +12,18 @@ platform = espressif32
framework = espidf
board = nano32
build_flags = -DCONFIG_WIFI_SSID=\"ESP_AP\" -DCONFIG_WIFI_PASSWORD=\"MYPASS\"
monitor_speed = 115200
[env:espea32]
platform = espressif32
framework = espidf
board = espea32
build_flags = -DCONFIG_WIFI_SSID=\"ESP_AP\" -DCONFIG_WIFI_PASSWORD=\"MYPASS\"
monitor_speed = 115200
[env:esp32dev]
platform = espressif32
framework = espidf
board = esp32dev
build_flags = -DCONFIG_WIFI_SSID=\"ESP_AP\" -DCONFIG_WIFI_PASSWORD=\"MYPASS\"
monitor_speed = 115200
@@ -12,15 +12,18 @@ platform = espressif32
framework = espidf
board = nano32
build_flags = -DCONFIG_WIFI_SSID=\"ESP_AP\" -DCONFIG_WIFI_PASSWORD=\"MYPASS\"
monitor_speed = 115200
[env:espea32]
platform = espressif32
framework = espidf
board = espea32
build_flags = -DCONFIG_WIFI_SSID=\"ESP_AP\" -DCONFIG_WIFI_PASSWORD=\"MYPASS\"
monitor_speed = 115200
[env:esp32dev]
platform = espressif32
framework = espidf
board = esp32dev
build_flags = -DCONFIG_WIFI_SSID=\"ESP_AP\" -DCONFIG_WIFI_PASSWORD=\"MYPASS\"
monitor_speed = 115200
@@ -12,15 +12,18 @@ platform = espressif32
framework = espidf
board = esp32dev
build_flags = -DPIO_FRAMEWORK_ESP_IDF_ENABLE_EXCEPTIONS
monitor_speed = 115200
[env:quantum]
platform = espressif32
framework = espidf
board = quantum
build_flags = -DPIO_FRAMEWORK_ESP_IDF_ENABLE_EXCEPTIONS
monitor_speed = 115200
[env:lolin32]
platform = espressif32
framework = espidf
board = lolin32
build_flags = -DPIO_FRAMEWORK_ESP_IDF_ENABLE_EXCEPTIONS
monitor_speed = 115200
@@ -11,13 +11,16 @@
platform = espressif32
framework = espidf
board = esp32dev
monitor_speed = 115200
[env:quantum]
platform = espressif32
framework = espidf
board = quantum
monitor_speed = 115200
[env:lolin32]
platform = espressif32
framework = espidf
board = lolin32
monitor_speed = 115200
@@ -12,15 +12,18 @@ platform = espressif32
framework = espidf
board = nano32
build_flags = -DCONFIG_WIFI_SSID=\"ESP_AP\" -DCONFIG_WIFI_PASSWORD=\"MYPASS\"
monitor_speed = 115200
[env:espea32]
platform = espressif32
framework = espidf
board = espea32
build_flags = -DCONFIG_WIFI_SSID=\"ESP_AP\" -DCONFIG_WIFI_PASSWORD=\"MYPASS\"
monitor_speed = 115200
[env:esp320]
platform = espressif32
framework = espidf
board = esp320
build_flags = -DCONFIG_WIFI_SSID=\"ESP_AP\" -DCONFIG_WIFI_PASSWORD=\"MYPASS\"
monitor_speed = 115200
@@ -12,15 +12,18 @@ platform = espressif32
framework = espidf
board = nano32
build_flags = -DCONFIG_WIFI_SSID=\"ESP_AP\" -DCONFIG_WIFI_PASSWORD=\"MYPASS\"
monitor_speed = 115200
[env:espea32]
platform = espressif32
framework = espidf
board = espea32
build_flags = -DCONFIG_WIFI_SSID=\"ESP_AP\" -DCONFIG_WIFI_PASSWORD=\"MYPASS\"
monitor_speed = 115200
[env:esp32dev]
platform = espressif32
framework = espidf
board = esp32dev
build_flags = -DCONFIG_WIFI_SSID=\"ESP_AP\" -DCONFIG_WIFI_PASSWORD=\"MYPASS\"
monitor_speed = 115200
@@ -12,15 +12,18 @@ platform = espressif32
framework = espidf
board = nano32
build_flags = -DCONFIG_WIFI_SSID=\"ESP_AP\" -DCONFIG_WIFI_PASSWORD=\"MYPASS\"
monitor_speed = 115200
[env:espea32]
platform = espressif32
framework = espidf
board = espea32
build_flags = -DCONFIG_WIFI_SSID=\"ESP_AP\" -DCONFIG_WIFI_PASSWORD=\"MYPASS\"
monitor_speed = 115200
[env:esp32dev]
platform = espressif32
framework = espidf
board = esp32dev
build_flags = -DCONFIG_WIFI_SSID=\"ESP_AP\" -DCONFIG_WIFI_PASSWORD=\"MYPASS\"
monitor_speed = 115200
+2 -2
View File
@@ -12,7 +12,7 @@
"type": "git",
"url": "https://github.com/platformio/platform-espressif32.git"
},
"version": "1.0.0",
"version": "1.0.1",
"packageRepositories": [
"https://dl.bintray.com/platformio/dl-packages/manifest.json",
"http://dl.platformio.org/packages/manifest.json",
@@ -45,7 +45,7 @@
"framework-arduinoespressif32": {
"type": "framework",
"optional": true,
"version": "~1.5.0"
"version": "~1.5.3"
},
"framework-espidf": {
"type": "framework",