Merge branch 'feature/toolchain_2020r1-RC1' into 'master'
Toolchain 2020r1 support bringing (esp32, esp32s2) See merge request espressif/esp-idf!7509
This commit is contained in:
commit
168660aebf
18 changed files with 163 additions and 68 deletions
|
@ -39,4 +39,4 @@ target_compile_options(${COMPONENT_LIB} PRIVATE "-fno-profile-arcs" "-fno-test-c
|
||||||
|
|
||||||
# Force app_trace to also appear later than gcov in link line
|
# Force app_trace to also appear later than gcov in link line
|
||||||
idf_component_get_property(app_trace app_trace COMPONENT_LIB)
|
idf_component_get_property(app_trace app_trace COMPONENT_LIB)
|
||||||
target_link_libraries(${COMPONENT_LIB} INTERFACE $<TARGET_FILE:${app_trace}> gcov $<TARGET_FILE:${app_trace}> ${LIBC})
|
target_link_libraries(${COMPONENT_LIB} INTERFACE $<TARGET_FILE:${app_trace}> gcov $<TARGET_FILE:${app_trace}> c)
|
||||||
|
|
|
@ -96,5 +96,19 @@ else()
|
||||||
target_compile_options(${COMPONENT_LIB} PUBLIC -mfix-esp32-psram-cache-issue)
|
target_compile_options(${COMPONENT_LIB} PUBLIC -mfix-esp32-psram-cache-issue)
|
||||||
# also, make sure we link with this option so correct toolchain libs are pulled in
|
# also, make sure we link with this option so correct toolchain libs are pulled in
|
||||||
target_link_libraries(${COMPONENT_LIB} PUBLIC -mfix-esp32-psram-cache-issue)
|
target_link_libraries(${COMPONENT_LIB} PUBLIC -mfix-esp32-psram-cache-issue)
|
||||||
|
# set strategy selected
|
||||||
|
# note that we don't need to set link options as the library linked is independent of this
|
||||||
|
if(CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST)
|
||||||
|
target_compile_options(${COMPONENT_LIB} PUBLIC -mfix-esp32-psram-cache-strategy=dupldst)
|
||||||
|
target_link_libraries(${COMPONENT_LIB} PUBLIC -mfix-esp32-psram-cache-strategy=dupldst)
|
||||||
|
endif()
|
||||||
|
if(CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_MEMW)
|
||||||
|
target_compile_options(${COMPONENT_LIB} PUBLIC -mfix-esp32-psram-cache-strategy=memw)
|
||||||
|
target_link_libraries(${COMPONENT_LIB} PUBLIC -mfix-esp32-psram-cache-strategy=memw)
|
||||||
|
endif()
|
||||||
|
if(CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_NOPS)
|
||||||
|
target_compile_options(${COMPONENT_LIB} PUBLIC -mfix-esp32-psram-cache-strategy=nops)
|
||||||
|
target_link_libraries(${COMPONENT_LIB} PUBLIC -mfix-esp32-psram-cache-strategy=nops)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -129,6 +129,40 @@ menu "ESP32-specific"
|
||||||
|
|
||||||
The workaround is not required for ESP32 revision 3 and above.
|
The workaround is not required for ESP32 revision 3 and above.
|
||||||
|
|
||||||
|
menu "SPIRAM cache workaround debugging"
|
||||||
|
|
||||||
|
choice SPIRAM_CACHE_WORKAROUND_STRATEGY
|
||||||
|
prompt "Workaround strategy"
|
||||||
|
depends on SPIRAM_CACHE_WORKAROUND
|
||||||
|
default SPIRAM_CACHE_WORKAROUND_STRATEGY_MEMW
|
||||||
|
help
|
||||||
|
Select the workaround strategy. Note that the strategy for precompiled
|
||||||
|
libraries (libgcc, newlib, bt, wifi) is not affected by this selection.
|
||||||
|
|
||||||
|
Unless you know you need a different strategy, it's suggested you stay
|
||||||
|
with the default MEMW strategy. Note that DUPLDST can interfere with hardware
|
||||||
|
encryption and this will be automatically disabled if this workaround is selected.
|
||||||
|
'Insert nops' is the workaround that was used in older esp-idf versions. This workaround
|
||||||
|
still can cause faulty data transfers from/to SPI RAM in some situation.
|
||||||
|
|
||||||
|
config SPIRAM_CACHE_WORKAROUND_STRATEGY_MEMW
|
||||||
|
bool "Insert memw after vulnerable instructions (default)"
|
||||||
|
|
||||||
|
config SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST
|
||||||
|
bool "Duplicate LD/ST for 32-bit, memw for 8/16 bit"
|
||||||
|
|
||||||
|
config SPIRAM_CACHE_WORKAROUND_STRATEGY_NOPS
|
||||||
|
bool "Insert nops between vulnerable loads/stores (old strategy, obsolete)"
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
#This needs to be Y only for the dupldst workaround
|
||||||
|
config SPIRAM_WORKAROUND_NEED_VOLATILE_SPINLOCK
|
||||||
|
bool
|
||||||
|
default "y" if SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST
|
||||||
|
|
||||||
|
|
||||||
|
endmenu
|
||||||
|
|
||||||
config SPIRAM_BANKSWITCH_ENABLE
|
config SPIRAM_BANKSWITCH_ENABLE
|
||||||
bool "Enable bank switching for >4MiB external RAM"
|
bool "Enable bank switching for >4MiB external RAM"
|
||||||
default y
|
default y
|
||||||
|
|
|
@ -1,9 +1,24 @@
|
||||||
# Enable psram cache bug workaround in compiler if selected
|
# Enable psram cache bug workaround in compiler if selected
|
||||||
|
|
||||||
ifdef CONFIG_SPIRAM_CACHE_WORKAROUND
|
ifdef CONFIG_SPIRAM_CACHE_WORKAROUND
|
||||||
CFLAGS+=-mfix-esp32-psram-cache-issue
|
SPIRAM_CACHE_WORKAROUND_FLAGS = -mfix-esp32-psram-cache-issue
|
||||||
CXXFLAGS+=-mfix-esp32-psram-cache-issue
|
|
||||||
LDFLAGS+=-mfix-esp32-psram-cache-issue
|
ifdef CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST
|
||||||
|
SPIRAM_CACHE_WORKAROUND_FLAGS += -mfix-esp32-psram-cache-strategy=dupldst
|
||||||
endif
|
endif
|
||||||
|
ifdef CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_MEMW
|
||||||
|
SPIRAM_CACHE_WORKAROUND_FLAGS += -mfix-esp32-psram-cache-strategy=memw
|
||||||
|
endif
|
||||||
|
ifdef CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_NOPS
|
||||||
|
SPIRAM_CACHE_WORKAROUND_FLAGS += -mfix-esp32-psram-cache-strategy=nops
|
||||||
|
endif
|
||||||
|
|
||||||
|
CFLAGS+=$(SPIRAM_CACHE_WORKAROUND_FLAGS)
|
||||||
|
CXXFLAGS+=$(SPIRAM_CACHE_WORKAROUND_FLAGS)
|
||||||
|
LDFLAGS+=$(SPIRAM_CACHE_WORKAROUND_FLAGS)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Enable dynamic esp_timer overflow value if building unit tests
|
# Enable dynamic esp_timer overflow value if building unit tests
|
||||||
ifneq ("$(filter esp32,$(TEST_COMPONENTS_LIST))","")
|
ifneq ("$(filter esp32,$(TEST_COMPONENTS_LIST))","")
|
||||||
|
|
|
@ -4,6 +4,16 @@ if(CONFIG_SPIRAM_CACHE_WORKAROUND)
|
||||||
# non-IDF CMakeLists.txt file is imported into a component) don't depend
|
# non-IDF CMakeLists.txt file is imported into a component) don't depend
|
||||||
# on the esp32 component so don't get the extra flag. This handles that case.
|
# on the esp32 component so don't get the extra flag. This handles that case.
|
||||||
idf_build_set_property(COMPILE_OPTIONS "-mfix-esp32-psram-cache-issue" APPEND)
|
idf_build_set_property(COMPILE_OPTIONS "-mfix-esp32-psram-cache-issue" APPEND)
|
||||||
|
# note that we don't need to set link options as the library linked is independent of this
|
||||||
|
if(CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST)
|
||||||
|
idf_build_set_property(COMPILE_OPTIONS "-mfix-esp32-psram-cache-strategy=dupldst" APPEND)
|
||||||
|
endif()
|
||||||
|
if(CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_MEMW)
|
||||||
|
idf_build_set_property(COMPILE_OPTIONS "-mfix-esp32-psram-cache-strategy=memw" APPEND)
|
||||||
|
endif()
|
||||||
|
if(CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_NOPS)
|
||||||
|
idf_build_set_property(COMPILE_OPTIONS "-mfix-esp32-psram-cache-strategy=nops" APPEND)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Check toolchain is configured properly in cmake
|
# Check toolchain is configured properly in cmake
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
#include "mbedtls/sha256.h"
|
#include "mbedtls/sha256.h"
|
||||||
#include "mbedtls/sha512.h"
|
#include "mbedtls/sha512.h"
|
||||||
#include "esp32/sha.h"
|
#include "esp32/sha.h"
|
||||||
|
#include "ccomp_timer.h"
|
||||||
|
|
||||||
/* Note: Most of the SHA functions are called as part of mbedTLS, so
|
/* Note: Most of the SHA functions are called as part of mbedTLS, so
|
||||||
are tested as part of mbedTLS tests. Only esp_sha() is different.
|
are tested as part of mbedTLS tests. Only esp_sha() is different.
|
||||||
|
@ -25,7 +26,7 @@ TEST_CASE("Test esp_sha()", "[hw_crypto]")
|
||||||
{
|
{
|
||||||
const size_t BUFFER_SZ = 32 * 1024 + 6; // NB: not an exact multiple of SHA block size
|
const size_t BUFFER_SZ = 32 * 1024 + 6; // NB: not an exact multiple of SHA block size
|
||||||
|
|
||||||
int64_t begin, end;
|
int64_t elapsed;
|
||||||
uint32_t us_sha1, us_sha512;
|
uint32_t us_sha1, us_sha512;
|
||||||
uint8_t sha1_result[20] = { 0 };
|
uint8_t sha1_result[20] = { 0 };
|
||||||
uint8_t sha512_result[64] = { 0 };
|
uint8_t sha512_result[64] = { 0 };
|
||||||
|
@ -45,19 +46,19 @@ TEST_CASE("Test esp_sha()", "[hw_crypto]")
|
||||||
0x1e, 0x07, 0xc6, 0xa2, 0x9e, 0x3b, 0x65, 0x75,
|
0x1e, 0x07, 0xc6, 0xa2, 0x9e, 0x3b, 0x65, 0x75,
|
||||||
0x80, 0x7d, 0xe6, 0x6e, 0x47, 0x61, 0x2c, 0x94 };
|
0x80, 0x7d, 0xe6, 0x6e, 0x47, 0x61, 0x2c, 0x94 };
|
||||||
|
|
||||||
begin = esp_timer_get_time();
|
ccomp_timer_start();
|
||||||
esp_sha(SHA1, buffer, BUFFER_SZ, sha1_result);
|
esp_sha(SHA1, buffer, BUFFER_SZ, sha1_result);
|
||||||
end = esp_timer_get_time();
|
elapsed = ccomp_timer_stop();
|
||||||
TEST_ASSERT_EQUAL_HEX8_ARRAY(sha1_expected, sha1_result, sizeof(sha1_expected));
|
TEST_ASSERT_EQUAL_HEX8_ARRAY(sha1_expected, sha1_result, sizeof(sha1_expected));
|
||||||
us_sha1 = end - begin;
|
us_sha1 = elapsed;
|
||||||
ESP_LOGI(TAG, "esp_sha() 32KB SHA1 in %u us", us_sha1);
|
ESP_LOGI(TAG, "esp_sha() 32KB SHA1 in %u us", us_sha1);
|
||||||
|
|
||||||
begin = esp_timer_get_time();
|
ccomp_timer_start();
|
||||||
esp_sha(SHA2_512, buffer, BUFFER_SZ, sha512_result);
|
esp_sha(SHA2_512, buffer, BUFFER_SZ, sha512_result);
|
||||||
end = esp_timer_get_time();
|
elapsed = ccomp_timer_stop();
|
||||||
TEST_ASSERT_EQUAL_HEX8_ARRAY(sha512_expected, sha512_result, sizeof(sha512_expected));
|
TEST_ASSERT_EQUAL_HEX8_ARRAY(sha512_expected, sha512_result, sizeof(sha512_expected));
|
||||||
|
|
||||||
us_sha512 = end - begin;
|
us_sha512 = elapsed;
|
||||||
ESP_LOGI(TAG, "esp_sha() 32KB SHA512 in %u us", us_sha512);
|
ESP_LOGI(TAG, "esp_sha() 32KB SHA512 in %u us", us_sha512);
|
||||||
|
|
||||||
free(buffer);
|
free(buffer);
|
||||||
|
|
|
@ -72,10 +72,10 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef IDF_PERFORMANCE_MIN_SDIO_THROUGHPUT_MBSEC_TOHOST_4BIT
|
#ifndef IDF_PERFORMANCE_MIN_SDIO_THROUGHPUT_MBSEC_TOHOST_4BIT
|
||||||
#define IDF_PERFORMANCE_MIN_SDIO_THROUGHPUT_MBSEC_TOHOST_4BIT 12500
|
#define IDF_PERFORMANCE_MIN_SDIO_THROUGHPUT_MBSEC_TOHOST_4BIT 12200
|
||||||
#endif
|
#endif
|
||||||
#ifndef IDF_PERFORMANCE_MIN_SDIO_THROUGHPUT_MBSEC_FRHOST_4BIT
|
#ifndef IDF_PERFORMANCE_MIN_SDIO_THROUGHPUT_MBSEC_FRHOST_4BIT
|
||||||
#define IDF_PERFORMANCE_MIN_SDIO_THROUGHPUT_MBSEC_FRHOST_4BIT 12500
|
#define IDF_PERFORMANCE_MIN_SDIO_THROUGHPUT_MBSEC_FRHOST_4BIT 12200
|
||||||
#endif
|
#endif
|
||||||
#ifndef IDF_PERFORMANCE_MIN_SDIO_THROUGHPUT_MBSEC_TOHOST_1BIT
|
#ifndef IDF_PERFORMANCE_MIN_SDIO_THROUGHPUT_MBSEC_TOHOST_1BIT
|
||||||
#define IDF_PERFORMANCE_MIN_SDIO_THROUGHPUT_MBSEC_TOHOST_1BIT 4000
|
#define IDF_PERFORMANCE_MIN_SDIO_THROUGHPUT_MBSEC_TOHOST_1BIT 4000
|
||||||
|
|
|
@ -189,6 +189,7 @@ menu "mbedTLS"
|
||||||
config MBEDTLS_HARDWARE_AES
|
config MBEDTLS_HARDWARE_AES
|
||||||
bool "Enable hardware AES acceleration"
|
bool "Enable hardware AES acceleration"
|
||||||
default y
|
default y
|
||||||
|
depends on !SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST
|
||||||
help
|
help
|
||||||
Enable hardware accelerated AES encryption & decryption.
|
Enable hardware accelerated AES encryption & decryption.
|
||||||
|
|
||||||
|
@ -220,6 +221,7 @@ menu "mbedTLS"
|
||||||
config MBEDTLS_HARDWARE_MPI
|
config MBEDTLS_HARDWARE_MPI
|
||||||
bool "Enable hardware MPI (bignum) acceleration"
|
bool "Enable hardware MPI (bignum) acceleration"
|
||||||
default y
|
default y
|
||||||
|
depends on !SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST
|
||||||
help
|
help
|
||||||
Enable hardware accelerated multiple precision integer operations.
|
Enable hardware accelerated multiple precision integer operations.
|
||||||
|
|
||||||
|
@ -231,6 +233,7 @@ menu "mbedTLS"
|
||||||
config MBEDTLS_HARDWARE_SHA
|
config MBEDTLS_HARDWARE_SHA
|
||||||
bool "Enable hardware SHA acceleration"
|
bool "Enable hardware SHA acceleration"
|
||||||
default y
|
default y
|
||||||
|
depends on !SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST
|
||||||
help
|
help
|
||||||
Enable hardware accelerated SHA1, SHA256, SHA384 & SHA512 in mbedTLS.
|
Enable hardware accelerated SHA1, SHA256, SHA384 & SHA512 in mbedTLS.
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ idf_component_register(SRCS "${srcs}"
|
||||||
|
|
||||||
# Toolchain libraries require code defined in this component
|
# Toolchain libraries require code defined in this component
|
||||||
idf_component_get_property(newlib newlib COMPONENT_LIB)
|
idf_component_get_property(newlib newlib COMPONENT_LIB)
|
||||||
target_link_libraries(${COMPONENT_LIB} INTERFACE ${LIBC} ${LIBM} gcc "$<TARGET_FILE:${newlib}>")
|
target_link_libraries(${COMPONENT_LIB} INTERFACE c m gcc "$<TARGET_FILE:${newlib}>")
|
||||||
|
|
||||||
set_source_files_properties(heap.c PROPERTIES COMPILE_FLAGS -fno-builtin)
|
set_source_files_properties(heap.c PROPERTIES COMPILE_FLAGS -fno-builtin)
|
||||||
|
|
||||||
|
@ -36,3 +36,7 @@ list(APPEND EXTRA_LINK_FLAGS "-u newlib_include_heap_impl")
|
||||||
list(APPEND EXTRA_LINK_FLAGS "-u newlib_include_syscalls_impl")
|
list(APPEND EXTRA_LINK_FLAGS "-u newlib_include_syscalls_impl")
|
||||||
list(APPEND EXTRA_LINK_FLAGS "-u newlib_include_pthread_impl")
|
list(APPEND EXTRA_LINK_FLAGS "-u newlib_include_pthread_impl")
|
||||||
target_link_libraries(${COMPONENT_LIB} INTERFACE "${EXTRA_LINK_FLAGS}")
|
target_link_libraries(${COMPONENT_LIB} INTERFACE "${EXTRA_LINK_FLAGS}")
|
||||||
|
|
||||||
|
if(CONFIG_NEWLIB_NANO_FORMAT)
|
||||||
|
target_link_libraries(${COMPONENT_LIB} INTERFACE "--specs=nano.specs")
|
||||||
|
endif()
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
if(CONFIG_NEWLIB_NANO_FORMAT)
|
|
||||||
set(LIBC c_nano)
|
|
||||||
else()
|
|
||||||
set(LIBC c)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(LIBM m)
|
|
|
@ -22,6 +22,12 @@
|
||||||
#include "xtensa/xtruntime.h"
|
#include "xtensa/xtruntime.h"
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef CONFIG_SPIRAM_WORKAROUND_NEED_VOLATILE_SPINLOCK
|
||||||
|
#define NEED_VOLATILE_MUX volatile
|
||||||
|
#else
|
||||||
|
#define NEED_VOLATILE_MUX
|
||||||
|
#endif
|
||||||
|
|
||||||
#define SPINLOCK_FREE 0xB33FFFFF
|
#define SPINLOCK_FREE 0xB33FFFFF
|
||||||
#define SPINLOCK_WAIT_FOREVER (-1)
|
#define SPINLOCK_WAIT_FOREVER (-1)
|
||||||
#define SPINLOCK_NO_WAIT 0
|
#define SPINLOCK_NO_WAIT 0
|
||||||
|
@ -29,8 +35,8 @@
|
||||||
#define CORE_ID_REGVAL_XOR_SWAP (0xCDCD ^ 0xABAB)
|
#define CORE_ID_REGVAL_XOR_SWAP (0xCDCD ^ 0xABAB)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint32_t owner;
|
NEED_VOLATILE_MUX uint32_t owner;
|
||||||
uint32_t count;
|
NEED_VOLATILE_MUX uint32_t count;
|
||||||
}spinlock_t;
|
}spinlock_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -459,6 +459,21 @@ function run_tests()
|
||||||
grep -q '"command"' build/compile_commands.json || failure "compile_commands.json missing or has no no 'commands' in it"
|
grep -q '"command"' build/compile_commands.json || failure "compile_commands.json missing or has no no 'commands' in it"
|
||||||
(grep '"command"' build/compile_commands.json | grep -v mfix-esp32-psram-cache-issue) && failure "All commands in compile_commands.json should use PSRAM cache workaround"
|
(grep '"command"' build/compile_commands.json | grep -v mfix-esp32-psram-cache-issue) && failure "All commands in compile_commands.json should use PSRAM cache workaround"
|
||||||
rm -r build
|
rm -r build
|
||||||
|
#Test for various strategies
|
||||||
|
for strat in MEMW NOPS DUPLDST; do
|
||||||
|
rm -r build sdkconfig.defaults sdkconfig sdkconfig.defaults.esp32
|
||||||
|
stratlc=`echo $strat | tr A-Z a-z`
|
||||||
|
mkdir build && touch build/sdkconfig
|
||||||
|
echo "CONFIG_ESP32_SPIRAM_SUPPORT=y" > sdkconfig.defaults
|
||||||
|
echo "CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_$strat=y" >> sdkconfig.defaults
|
||||||
|
echo "CONFIG_SPIRAM_CACHE_WORKAROUND=y" >> sdkconfig.defaults
|
||||||
|
# note: we do 'reconfigure' here, as we just need to run cmake
|
||||||
|
idf.py reconfigure
|
||||||
|
grep -q '"command"' build/compile_commands.json || failure "compile_commands.json missing or has no no 'commands' in it"
|
||||||
|
(grep '"command"' build/compile_commands.json | grep -v mfix-esp32-psram-cache-strategy=$stratlc) && failure "All commands in compile_commands.json should use PSRAM cache workaround strategy $strat when selected"
|
||||||
|
echo ${PWD}
|
||||||
|
rm -r sdkconfig.defaults build
|
||||||
|
done
|
||||||
|
|
||||||
print_status "Displays partition table when executing target partition_table"
|
print_status "Displays partition table when executing target partition_table"
|
||||||
idf.py partition_table | grep -E "# ESP-IDF .+ Partition Table"
|
idf.py partition_table | grep -E "# ESP-IDF .+ Partition Table"
|
||||||
|
|
|
@ -72,7 +72,7 @@ class TestUsage(unittest.TestCase):
|
||||||
idf_tools.main(['list'])
|
idf_tools.main(['list'])
|
||||||
output = output_stream.getvalue()
|
output = output_stream.getvalue()
|
||||||
|
|
||||||
xtensa_esp32_elf_version = 'esp-2019r2-8.2.0'
|
xtensa_esp32_elf_version = 'esp-2020r1-8.2.0'
|
||||||
esp32ulp_version = '2.28.51-esp-20191205'
|
esp32ulp_version = '2.28.51-esp-20191205'
|
||||||
|
|
||||||
self.assertIn('* xtensa-esp32-elf:', output)
|
self.assertIn('* xtensa-esp32-elf:', output)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
SUPPORTED_TOOLCHAIN_COMMIT_DESC = esp-2019r2
|
SUPPORTED_TOOLCHAIN_COMMIT_DESC = esp-2020r1
|
||||||
SUPPORTED_TOOLCHAIN_GCC_VERSIONS = 8.2.0
|
SUPPORTED_TOOLCHAIN_GCC_VERSIONS = 8.2.0
|
||||||
|
|
||||||
CURRENT_TOOLCHAIN_COMMIT_DESC = esp-2019r2
|
CURRENT_TOOLCHAIN_COMMIT_DESC = esp-2020r1
|
||||||
CURRENT_TOOLCHAIN_COMMIT_DESC_SHORT = esp-2019r2
|
CURRENT_TOOLCHAIN_COMMIT_DESC_SHORT = esp-2020r1
|
||||||
CURRENT_TOOLCHAIN_GCC_VERSION = 8.2.0
|
CURRENT_TOOLCHAIN_GCC_VERSION = 8.2.0
|
||||||
|
|
|
@ -22,36 +22,36 @@
|
||||||
"versions": [
|
"versions": [
|
||||||
{
|
{
|
||||||
"linux-amd64": {
|
"linux-amd64": {
|
||||||
"sha256": "e6d47c1dbd8c8cbfe37271e5e2aac53ee88c9e347ae937e22bf0c73f530efbdf",
|
"sha256": "b65ae41a675c866f5e11e3c452fc4b9cee3f39038d88435faa45308f50388c54",
|
||||||
"size": 85459985,
|
"size": 85490835,
|
||||||
"url": "https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp-2019r2-linux-amd64.tar.gz"
|
"url": "https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp-2020r1-linux-amd64.tar.gz"
|
||||||
},
|
},
|
||||||
"linux-armel": {
|
"linux-armel": {
|
||||||
"sha256": "54a199c28f591da2466b21741911bc2ba77ddf82d3d2b66c6ce03c1a0c6835f0",
|
"sha256": "7cd03edf067b5da6acf333ddaf18ce8070db98876c01b1d8979702e63587fcb5",
|
||||||
"size": 83647538,
|
"size": 83653607,
|
||||||
"url": "https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp-2019r2-linux-armel.tar.gz"
|
"url": "https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp-2020r1-linux-armel.tar.gz"
|
||||||
},
|
},
|
||||||
"linux-i686": {
|
"linux-i686": {
|
||||||
"sha256": "36a9648c414dbd1c518c687ce5587d9f8eaa94324f45d92e9ec31a1433a04df8",
|
"sha256": "19273eb069efb29cc1df129f667fc09571c8e6e0ffa1fc536fb8b5d14bd59d4b",
|
||||||
"size": 87438500,
|
"size": 87449664,
|
||||||
"url": "https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp-2019r2-linux-i686.tar.gz"
|
"url": "https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp-2020r1-linux-i686.tar.gz"
|
||||||
},
|
},
|
||||||
"macos": {
|
"macos": {
|
||||||
"sha256": "dc62be8dd16c6d9d28d64e2b3f831fa208f3548c2ca73cdbcbdf68f474d59521",
|
"sha256": "a3ee69bbe23acb77242086d2445c62d6bf13dbd9abcdfd4b56acef0937051a12",
|
||||||
"size": 92150978,
|
"size": 92170881,
|
||||||
"url": "https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp-2019r2-macos.tar.gz"
|
"url": "https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp-2020r1-macos.tar.gz"
|
||||||
},
|
},
|
||||||
"name": "esp-2019r2-8.2.0",
|
"name": "esp-2020r1-8.2.0",
|
||||||
"status": "recommended",
|
"status": "recommended",
|
||||||
"win32": {
|
"win32": {
|
||||||
"sha256": "c9d5776a22516f0825a7c68d835ffacc2392f913136893b7646e1288937cc65e",
|
"sha256": "5fbabd2b7c75f56ebe207061f56beb21aca32ef867b64e14e735065cf812cce4",
|
||||||
"size": 103850448,
|
"size": 103877946,
|
||||||
"url": "https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp-2019r2-win32.zip"
|
"url": "https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp-2020r1-win32.zip"
|
||||||
},
|
},
|
||||||
"win64": {
|
"win64": {
|
||||||
"sha256": "c9d5776a22516f0825a7c68d835ffacc2392f913136893b7646e1288937cc65e",
|
"sha256": "5fbabd2b7c75f56ebe207061f56beb21aca32ef867b64e14e735065cf812cce4",
|
||||||
"size": 103850448,
|
"size": 103877946,
|
||||||
"url": "https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp-2019r2-win32.zip"
|
"url": "https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp-2020r1-win32.zip"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -78,36 +78,36 @@
|
||||||
"versions": [
|
"versions": [
|
||||||
{
|
{
|
||||||
"linux-amd64": {
|
"linux-amd64": {
|
||||||
"sha256": "59c6951e39937b9dfa53cca6d7707984ee39572071e56d11069f032d079477f5",
|
"sha256": "f435159a654dbfd8ccc9f89a16d5ce523ebd9e04ae48d95bf4935d15ac7bd058",
|
||||||
"size": 85762044,
|
"size": 85781628,
|
||||||
"url": "https://dl.espressif.com/dl/xtensa-esp32s2-elf-gcc8_2_0-esp-2019r2-linux-amd64.tar.gz"
|
"url": "https://dl.espressif.com/dl/xtensa-esp32s2-elf-gcc8_2_0-esp-2020r1-linux-amd64.tar.gz"
|
||||||
},
|
},
|
||||||
"linux-armel": {
|
"linux-armel": {
|
||||||
"sha256": "92d80cf640db34913b91c1d8dae1632a7f5a740b5dcf39a3bea750b5dba05caa",
|
"sha256": "38081688e3d6d21b436adca9c790d8cdc9dd4dbd9e1a9c98262ea6b04639f8c1",
|
||||||
"size": 84036647,
|
"size": 84055798,
|
||||||
"url": "https://dl.espressif.com/dl/xtensa-esp32s2-elf-gcc8_2_0-esp-2019r2-linux-armel.tar.gz"
|
"url": "https://dl.espressif.com/dl/xtensa-esp32s2-elf-gcc8_2_0-esp-2020r1-linux-armel.tar.gz"
|
||||||
},
|
},
|
||||||
"linux-i686": {
|
"linux-i686": {
|
||||||
"sha256": "d31c39dce8e6faa36807152a8afa8fe79d491bc551ad27dff1fed2f31dd6a39e",
|
"sha256": "38b685c3243ab991dd9112ef330ba1fa1a176ab68a6aca832a0fc76975b8916f",
|
||||||
"size": 87755342,
|
"size": 87764133,
|
||||||
"url": "https://dl.espressif.com/dl/xtensa-esp32s2-elf-gcc8_2_0-esp-2019r2-linux-i686.tar.gz"
|
"url": "https://dl.espressif.com/dl/xtensa-esp32s2-elf-gcc8_2_0-esp-2020r1-linux-i686.tar.gz"
|
||||||
},
|
},
|
||||||
"macos": {
|
"macos": {
|
||||||
"sha256": "01f6d9b6d25a550975a16d2634a577a0c0f3c3c24db10edd1b714f9c192f490d",
|
"sha256": "f6ec427699930ccd17d730fb5bcb0daa2283bee83e0987cade45d8f0e1f6f544",
|
||||||
"size": 92535775,
|
"size": 92539826,
|
||||||
"url": "https://dl.espressif.com/dl/xtensa-esp32s2-elf-gcc8_2_0-esp-2019r2-macos.tar.gz"
|
"url": "https://dl.espressif.com/dl/xtensa-esp32s2-elf-gcc8_2_0-esp-2020r1-macos.tar.gz"
|
||||||
},
|
},
|
||||||
"name": "esp-2019r2-8.2.0",
|
"name": "esp-2020r1-8.2.0",
|
||||||
"status": "recommended",
|
"status": "recommended",
|
||||||
"win32": {
|
"win32": {
|
||||||
"sha256": "f9b69732bd4e90d4558547f6a2d33f78433971e9e4f04968515cf460ea6de79a",
|
"sha256": "a73a5b61510e730d7d0e46584f146a190b19627117e7657c92dccbedbf55ad68",
|
||||||
"size": 104254613,
|
"size": 104292272,
|
||||||
"url": "https://dl.espressif.com/dl/xtensa-esp32s2-elf-gcc8_2_0-esp-2019r2-win32.zip"
|
"url": "https://dl.espressif.com/dl/xtensa-esp32s2-elf-gcc8_2_0-esp-2020r1-win32.zip"
|
||||||
},
|
},
|
||||||
"win64": {
|
"win64": {
|
||||||
"sha256": "f9b69732bd4e90d4558547f6a2d33f78433971e9e4f04968515cf460ea6de79a",
|
"sha256": "a73a5b61510e730d7d0e46584f146a190b19627117e7657c92dccbedbf55ad68",
|
||||||
"size": 104254613,
|
"size": 104292272,
|
||||||
"url": "https://dl.espressif.com/dl/xtensa-esp32s2-elf-gcc8_2_0-esp-2019r2-win32.zip"
|
"url": "https://dl.espressif.com/dl/xtensa-esp32s2-elf-gcc8_2_0-esp-2020r1-win32.zip"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update driver esp32 esp_timer freertos mbedtls spi_flash test_utils
|
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update driver esp32 esp_timer mbedtls spi_flash test_utils heap pthread soc
|
||||||
CONFIG_ESP32_SPIRAM_SUPPORT=y
|
CONFIG_ESP32_SPIRAM_SUPPORT=y
|
||||||
CONFIG_ESP_INT_WDT_TIMEOUT_MS=800
|
CONFIG_ESP_INT_WDT_TIMEOUT_MS=800
|
||||||
CONFIG_SPIRAM_OCCUPY_NO_HOST=y
|
CONFIG_SPIRAM_OCCUPY_NO_HOST=y
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
TEST_COMPONENTS=esp32 esp_timer freertos mbedtls spi_flash
|
TEST_COMPONENTS=esp32 esp_timer mbedtls spi_flash heap pthread soc
|
||||||
CONFIG_ESP32_SPIRAM_SUPPORT=y
|
CONFIG_ESP32_SPIRAM_SUPPORT=y
|
||||||
CONFIG_ESP_INT_WDT_TIMEOUT_MS=800
|
CONFIG_ESP_INT_WDT_TIMEOUT_MS=800
|
||||||
CONFIG_SPIRAM_OCCUPY_NO_HOST=y
|
CONFIG_SPIRAM_OCCUPY_NO_HOST=y
|
||||||
|
|
|
@ -42,7 +42,7 @@ if [ -n "$IDF_PATH" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Automatically download precompiled toolchain, unpack at /opt/xtensa-esp32-elf/
|
# Automatically download precompiled toolchain, unpack at /opt/xtensa-esp32-elf/
|
||||||
TOOLCHAIN_ZIP=xtensa-esp32-elf-gcc8_2_0-esp-2019r2-win32.zip
|
TOOLCHAIN_ZIP=xtensa-esp32-elf-gcc8_2_0-esp-2020r1-win32.zip
|
||||||
echo "Downloading precompiled toolchain ${TOOLCHAIN_ZIP}..."
|
echo "Downloading precompiled toolchain ${TOOLCHAIN_ZIP}..."
|
||||||
cd ~
|
cd ~
|
||||||
curl -LO --retry 10 https://dl.espressif.com/dl/${TOOLCHAIN_ZIP}
|
curl -LO --retry 10 https://dl.espressif.com/dl/${TOOLCHAIN_ZIP}
|
||||||
|
|
Loading…
Reference in a new issue