summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBas Wijnen <wijnen@debian.org>2018-05-09 15:27:22 +0200
committerDamien George <damien.p.george@gmail.com>2018-05-14 11:42:46 +1000
commit67e1a4f8be15dfea0721e4bdf0c8034fc7f83149 (patch)
tree7045f9994e166753720b3cbdc9e1a627d0bbd4de
parent749b16174b5292b2680ab027a6a1b3874e22ea43 (diff)
esp32: Update to latest ESP IDF version.
- Updated supported git hash to current IDF version. - Added missing targets and includes to Makefile. - Updated error codes for networking module. - Added required constant to sdkconfig configuration.
-rw-r--r--ports/esp32/Makefile10
-rw-r--r--ports/esp32/modnetwork.c35
-rw-r--r--ports/esp32/sdkconfig.h1
3 files changed, 30 insertions, 16 deletions
diff --git a/ports/esp32/Makefile b/ports/esp32/Makefile
index 0d9e07428..304082df9 100644
--- a/ports/esp32/Makefile
+++ b/ports/esp32/Makefile
@@ -21,7 +21,7 @@ FLASH_FREQ ?= 40m
FLASH_SIZE ?= 4MB
CROSS_COMPILE ?= xtensa-esp32-elf-
-ESPIDF_SUPHASH := 3ede9f011b50999b0560683f9419538c066dd09e
+ESPIDF_SUPHASH := a2556229aa6f55b16b171e3325ee9ab1943e8552
# paths to ESP IDF and its components
ifeq ($(ESPIDF),)
@@ -92,6 +92,7 @@ INC_ESPCOMP += -I$(ESPCOMP)/wpa_supplicant/port/include
INC_ESPCOMP += -I$(ESPCOMP)/ethernet/include
INC_ESPCOMP += -I$(ESPCOMP)/app_trace/include
INC_ESPCOMP += -I$(ESPCOMP)/app_update/include
+INC_ESPCOMP += -I$(ESPCOMP)/pthread/include
CFLAGS_BASE = -std=gnu99 -Os -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -mlongcalls -nostdlib -Wall -Werror -Wno-error=unused-function -Wno-error=unused-but-set-variable -Wno-error=unused-variable -Wno-error=deprecated-declarations -DMBEDTLS_CONFIG_FILE='"mbedtls/esp_config.h"' -DHAVE_CONFIG_H -DESP_PLATFORM
CFLAGS = $(CFLAGS_BASE) $(INC) $(INC_ESPCOMP)
@@ -686,9 +687,14 @@ $(BUILD)/%.o: %.cpp
$(BUILD)/bootloader/$(ESPCOMP)/%.o: CFLAGS += -DBOOTLOADER_BUILD=1 -I$(ESPCOMP)/bootloader_support/include_priv -I$(ESPCOMP)/bootloader_support/include -I$(ESPCOMP)/micro-ecc/micro-ecc -I$(ESPCOMP)/esp32 -Wno-error=format
BOOTLOADER_OBJ = $(addprefix $(BUILD)/bootloader/$(ESPCOMP)/,\
bootloader_support/src/bootloader_clock.o \
+ bootloader_support/src/bootloader_common.o \
bootloader_support/src/bootloader_flash.o \
+ bootloader_support/src/bootloader_init.o \
bootloader_support/src/bootloader_random.o \
bootloader_support/src/bootloader_sha.o \
+ bootloader_support/src/bootloader_utility.o \
+ bootloader_support/src/efuse.o \
+ bootloader_support/src/flash_qio_mode.o \
bootloader_support/src/secure_boot_signatures.o \
bootloader_support/src/secure_boot.o \
bootloader_support/src/esp_image_format.o \
@@ -698,6 +704,7 @@ BOOTLOADER_OBJ = $(addprefix $(BUILD)/bootloader/$(ESPCOMP)/,\
spi_flash/spi_flash_rom_patch.o \
soc/esp32/rtc_clk.o \
soc/esp32/rtc_time.o \
+ soc/esp32/cpu_util.o \
micro-ecc/micro-ecc/uECC.o \
bootloader/subproject/main/bootloader_start.o \
)
@@ -722,6 +729,7 @@ BOOTLOADER_LDFLAGS += -T $(ESPCOMP)/bootloader/subproject/main/esp32.bootloader.
BOOTLOADER_LDFLAGS += -T $(ESPCOMP)/bootloader/subproject/main/esp32.bootloader.rom.ld
BOOTLOADER_LDFLAGS += -T $(ESPCOMP)/esp32/ld/esp32.rom.ld
BOOTLOADER_LDFLAGS += -T $(ESPCOMP)/esp32/ld/esp32.rom.spiram_incompatible_fns.ld
+BOOTLOADER_LDFLAGS += -T $(ESPCOMP)/esp32/ld/esp32.peripherals.ld
BOOTLOADER_OBJ_DIRS = $(sort $(dir $(BOOTLOADER_OBJ)))
$(BOOTLOADER_OBJ): | $(BOOTLOADER_OBJ_DIRS)
diff --git a/ports/esp32/modnetwork.c b/ports/esp32/modnetwork.c
index 11d50eec3..f3be999a7 100644
--- a/ports/esp32/modnetwork.c
+++ b/ports/esp32/modnetwork.c
@@ -59,34 +59,39 @@ NORETURN void _esp_exceptions(esp_err_t e) {
mp_raise_msg(&mp_type_OSError, "Wifi Not Initialized");
case ESP_ERR_WIFI_NOT_STARTED:
mp_raise_msg(&mp_type_OSError, "Wifi Not Started");
- case ESP_ERR_WIFI_CONN:
- mp_raise_msg(&mp_type_OSError, "Wifi Internal Error");
- case ESP_ERR_WIFI_SSID:
- mp_raise_msg(&mp_type_OSError, "Wifi SSID Invalid");
- case ESP_ERR_WIFI_FAIL:
- mp_raise_msg(&mp_type_OSError, "Wifi Internal Failure");
+ case ESP_ERR_WIFI_NOT_STOPPED:
+ mp_raise_msg(&mp_type_OSError, "Wifi Not Stopped");
case ESP_ERR_WIFI_IF:
mp_raise_msg(&mp_type_OSError, "Wifi Invalid Interface");
- case ESP_ERR_WIFI_MAC:
- mp_raise_msg(&mp_type_OSError, "Wifi Invalid MAC Address");
- case ESP_ERR_WIFI_ARG:
- mp_raise_msg(&mp_type_OSError, "Wifi Invalid Argument");
case ESP_ERR_WIFI_MODE:
mp_raise_msg(&mp_type_OSError, "Wifi Invalid Mode");
- case ESP_ERR_WIFI_PASSWORD:
- mp_raise_msg(&mp_type_OSError, "Wifi Invalid Password");
+ case ESP_ERR_WIFI_STATE:
+ mp_raise_msg(&mp_type_OSError, "Wifi Internal State Error");
+ case ESP_ERR_WIFI_CONN:
+ mp_raise_msg(&mp_type_OSError, "Wifi Internal Error");
case ESP_ERR_WIFI_NVS:
mp_raise_msg(&mp_type_OSError, "Wifi Internal NVS Error");
+ case ESP_ERR_WIFI_MAC:
+ mp_raise_msg(&mp_type_OSError, "Wifi Invalid MAC Address");
+ case ESP_ERR_WIFI_SSID:
+ mp_raise_msg(&mp_type_OSError, "Wifi SSID Invalid");
+ case ESP_ERR_WIFI_PASSWORD:
+ mp_raise_msg(&mp_type_OSError, "Wifi Invalid Password");
+ case ESP_ERR_WIFI_TIMEOUT:
+ mp_raise_OSError(MP_ETIMEDOUT);
+ case ESP_ERR_WIFI_WAKE_FAIL:
+ mp_raise_msg(&mp_type_OSError, "Wifi Wakeup Failure");
+ case ESP_ERR_WIFI_WOULD_BLOCK:
+ mp_raise_msg(&mp_type_OSError, "Wifi Would Block");
+ case ESP_ERR_WIFI_NOT_CONNECT:
+ mp_raise_msg(&mp_type_OSError, "Wifi Not Connected");
case ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS:
mp_raise_msg(&mp_type_OSError, "TCP/IP Invalid Parameters");
case ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY:
mp_raise_msg(&mp_type_OSError, "TCP/IP IF Not Ready");
case ESP_ERR_TCPIP_ADAPTER_DHCPC_START_FAILED:
mp_raise_msg(&mp_type_OSError, "TCP/IP DHCP Client Start Failed");
- case ESP_ERR_WIFI_TIMEOUT:
- mp_raise_OSError(MP_ETIMEDOUT);
case ESP_ERR_TCPIP_ADAPTER_NO_MEM:
- case ESP_ERR_WIFI_NO_MEM:
mp_raise_OSError(MP_ENOMEM);
default:
nlr_raise(mp_obj_new_exception_msg_varg(
diff --git a/ports/esp32/sdkconfig.h b/ports/esp32/sdkconfig.h
index ff25afaf2..576f1734a 100644
--- a/ports/esp32/sdkconfig.h
+++ b/ports/esp32/sdkconfig.h
@@ -24,6 +24,7 @@
#define CONFIG_ESP32_PHY_MAX_TX_POWER 20
#define CONFIG_ESP32_PANIC_PRINT_REBOOT 1
#define CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC 1
+#define CONFIG_ESP32_RTC_XTAL_BOOTSTRAP_CYCLES 100
#define CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1 1
#define CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ 240
#define CONFIG_ESP32_DEFAULT_CPU_FREQ_240 1