Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 89d821c

Browse files
committedFeb 11, 2022
Update build scripts to support the requirements for ESP32-S3
1 parent 700b9b9 commit 89d821c

27 files changed

+628
-7536
lines changed
 

‎CMakeLists.txt

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,31 @@ endif()
99
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
1010
project(arduino-lib-builder)
1111

12+
idf_build_get_property(elf EXECUTABLE GENERATOR_EXPRESSION)
13+
1214
add_custom_command(
1315
OUTPUT "idf_libs"
14-
COMMAND ${CMAKE_SOURCE_DIR}/tools/prepare-libs.sh ${IDF_TARGET}
15-
DEPENDS gen_project_binary bootloader partition_table
16+
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-libs.sh ${IDF_TARGET} "${CONFIG_ESPTOOLPY_OCT_FLASH}" "${CONFIG_SPIRAM_MODE_OCT}"
17+
DEPENDS ${elf}
18+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
19+
VERBATIM
20+
)
21+
add_custom_target(idf-libs DEPENDS "idf_libs")
22+
23+
add_custom_command(
24+
OUTPUT "copy_bootloader"
25+
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-bootloader.sh ${IDF_TARGET} "${CONFIG_LIB_BUILDER_FLASHMODE}" "${CONFIG_LIB_BUILDER_FLASHFREQ}"
26+
DEPENDS bootloader
27+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
28+
VERBATIM
29+
)
30+
add_custom_target(copy-bootloader DEPENDS "copy_bootloader")
31+
32+
add_custom_command(
33+
OUTPUT "mem_variant"
34+
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-mem-variant.sh ${IDF_TARGET} "${CONFIG_ESPTOOLPY_OCT_FLASH}" "${CONFIG_SPIRAM_MODE_OCT}"
35+
DEPENDS ${elf}
1636
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
1737
VERBATIM
1838
)
19-
add_custom_target(idf-libs ALL DEPENDS "idf_libs")
39+
add_custom_target(mem-variant DEPENDS "mem_variant")

‎build.sh

Lines changed: 154 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,173 @@
11
#!/bin/bash
22

33
if ! [ -x "$(command -v python)" ]; then
4-
echo "ERROR: python is not installed! Please install python first."
5-
exit 1
4+
echo "ERROR: python is not installed! Please install python first."
5+
exit 1
66
fi
77

88
if ! [ -x "$(command -v git)" ]; then
9-
echo "ERROR: git is not installed! Please install git first."
10-
exit 1
9+
echo "ERROR: git is not installed! Please install git first."
10+
exit 1
1111
fi
1212

13-
mkdir -p dist
13+
TARGET="all"
14+
BUILD_TYPE="all"
15+
SKIP_ENV=0
16+
COPY_OUT=0
17+
DEPLOY_OUT=0
1418

15-
# update components from git
16-
./tools/update-components.sh
17-
if [ $? -ne 0 ]; then exit 1; fi
19+
function print_help() {
20+
echo "Usage: build.sh [-s] [-A arduino_branch] [-I idf_branch] [-i idf_commit] [-a path] [-t <target>] [-b <build|menuconfig|idf_libs|copy_bootloader|mem_variant>] [config ...]"
21+
echo " -s Skip installing/updating of ESP-IDF and all components"
22+
echo " -A Set which branch of arduino-esp32 to be used for compilation"
23+
echo " -I Set which branch of ESP-IDF to be used for compilation"
24+
echo " -i Set which commit of ESP-IDF to be used for compilation"
25+
echo " -d Deploy the build to github arduino-esp32"
26+
echo " -a Set the arduino-esp32 folder to copy the result to. ex. '$HOME/Arduino/hardware/espressif/esp32'"
27+
echo " -t Set the build target(chip). ex. 'esp32s3'"
28+
echo " -b Set the build type. ex. 'build' to build the project and prepare for uploading to a board"
29+
echo " ... Specify additional configs to be applied. ex. 'qio 80m' to compile for QIO Flash@80MHz. Requires -b"
30+
exit 1
31+
}
1832

19-
# install esp-idf and gcc toolchain
20-
source ./tools/install-esp-idf.sh
21-
if [ $? -ne 0 ]; then exit 1; fi
33+
while getopts ":A:I:i:a:t:b:sd" opt; do
34+
case ${opt} in
35+
s )
36+
SKIP_ENV=1
37+
;;
38+
d )
39+
DEPLOY_OUT=1
40+
;;
41+
a )
42+
export ESP32_ARDUINO="$OPTARG"
43+
COPY_OUT=1
44+
;;
45+
A )
46+
export AR_BRANCH="$OPTARG"
47+
;;
48+
I )
49+
export IDF_BRANCH="$OPTARG"
50+
;;
51+
i )
52+
export IDF_COMMIT="$OPTARG"
53+
;;
54+
t )
55+
TARGET=$OPTARG
56+
;;
57+
b )
58+
b=$OPTARG
59+
if [ "$b" != "build" ] &&
60+
[ "$b" != "menuconfig" ] &&
61+
[ "$b" != "idf_libs" ] &&
62+
[ "$b" != "copy_bootloader" ] &&
63+
[ "$b" != "mem_variant" ]; then
64+
print_help
65+
fi
66+
BUILD_TYPE="$b"
67+
;;
68+
\? )
69+
echo "Invalid option: -$OPTARG" 1>&2
70+
print_help
71+
;;
72+
: )
73+
echo "Invalid option: -$OPTARG requires an argument" 1>&2
74+
print_help
75+
;;
76+
esac
77+
done
78+
shift $((OPTIND -1))
79+
CONFIGS=$@
80+
81+
if [ $SKIP_ENV -eq 0 ]; then
82+
echo "* Installing/Updating ESP-IDF and all components..."
83+
# update components from git
84+
./tools/update-components.sh
85+
if [ $? -ne 0 ]; then exit 1; fi
86+
87+
# install esp-idf and gcc toolchain
88+
source ./tools/install-esp-idf.sh
89+
if [ $? -ne 0 ]; then exit 1; fi
90+
else
91+
source ./tools/config.sh
92+
fi
2293

23-
if [ -z $TARGETS ]; then
24-
TARGETS="esp32s3 esp32c3 esp32s2 esp32"
94+
if [ "$BUILD_TYPE" != "all" ]; then
95+
if [ "$TARGET" = "all" ]; then
96+
echo "ERROR: You need to specify target for non-default builds"
97+
print_help
98+
fi
99+
configs="configs/defconfig.common;configs/defconfig.$TARGET"
100+
for conf in $CONFIGS; do
101+
configs="$configs;configs/defconfig.$conf"
102+
done
103+
echo "idf.py -DIDF_TARGET=\"$TARGET\" -DSDKCONFIG_DEFAULTS=\"$configs\" $BUILD_TYPE"
104+
rm -rf build sdkconfig
105+
idf.py -DIDF_TARGET="$TARGET" -DSDKCONFIG_DEFAULTS="$configs" $BUILD_TYPE
106+
if [ $? -ne 0 ]; then exit 1; fi
107+
exit 0
25108
fi
26109

110+
rm -rf build sdkconfig out
111+
27112
echo $(git -C $AR_COMPS/arduino describe --all --long) > version.txt
28113

29-
rm -rf out build sdkconfig sdkconfig.old
30-
31-
for target in $TARGETS; do
32-
# configure the build for the target
33-
rm -rf build sdkconfig sdkconfig.old
34-
cp "sdkconfig.$target" sdkconfig
35-
# uncomment next line to access menuconfig
36-
# idf.py menuconfig
37-
# build and prepare libs
38-
idf.py build
39-
if [ $? -ne 0 ]; then exit 1; fi
40-
cp sdkconfig "sdkconfig.$target"
41-
# build bootloaders
42-
./tools/build-bootloaders.sh
43-
if [ $? -ne 0 ]; then exit 1; fi
114+
for target_json in `jq -c '.targets[]' configs/builds.json`; do
115+
target=$(echo "$target_json" | jq -c '.target' | tr -d '"')
116+
117+
if [ "$TARGET" != "all" ] && [ "$TARGET" != "$target" ]; then
118+
echo "* Skipping Target: $target"
119+
continue
120+
fi
121+
122+
echo "* Target: $target"
123+
main_configs="configs/defconfig.common;configs/defconfig.$target"
124+
125+
# Build IDF Libs
126+
idf_libs_configs="$main_configs"
127+
for defconf in `echo "$target_json" | jq -c '.idf_libs[]' | tr -d '"'`; do
128+
idf_libs_configs="$idf_libs_configs;configs/defconfig.$defconf"
129+
done
130+
echo "* Build IDF-Libs: $idf_libs_configs"
131+
rm -rf build sdkconfig
132+
idf.py -DIDF_TARGET="$target" -DSDKCONFIG_DEFAULTS="$idf_libs_configs" idf_libs
133+
if [ $? -ne 0 ]; then exit 1; fi
134+
135+
# Build Bootloaders
136+
for boot_conf in `echo "$target_json" | jq -c '.bootloaders[]'`; do
137+
bootloader_configs="$main_configs"
138+
for defconf in `echo "$boot_conf" | jq -c '.[]' | tr -d '"'`; do
139+
bootloader_configs="$bootloader_configs;configs/defconfig.$defconf"
140+
done
141+
echo "* Build BootLoader: $bootloader_configs"
142+
rm -rf build sdkconfig
143+
idf.py -DIDF_TARGET="$target" -DSDKCONFIG_DEFAULTS="$bootloader_configs" copy_bootloader
144+
if [ $? -ne 0 ]; then exit 1; fi
145+
done
146+
147+
# Build Memory Variants
148+
for mem_conf in `echo "$target_json" | jq -c '.mem_variants[]'`; do
149+
mem_configs="$main_configs"
150+
for defconf in `echo "$mem_conf" | jq -c '.[]' | tr -d '"'`; do
151+
mem_configs="$mem_configs;configs/defconfig.$defconf"
152+
done
153+
echo "* Build Memory Variant: $mem_configs"
154+
rm -rf build sdkconfig
155+
idf.py -DIDF_TARGET="$target" -DSDKCONFIG_DEFAULTS="$mem_configs" mem_variant
156+
if [ $? -ne 0 ]; then exit 1; fi
157+
done
44158
done
45159

46160
# archive the build
47-
./tools/archive-build.sh
48-
if [ $? -ne 0 ]; then exit 1; fi
161+
if [ "$TARGET" = "all" ] && [ "$BUILD_TYPE" = "all" ]; then
162+
./tools/archive-build.sh
163+
if [ $? -ne 0 ]; then exit 1; fi
164+
fi
49165

50-
#./tools/copy-to-arduino.sh
166+
# copy everything to arduino-esp32 installation
167+
if [ $COPY_OUT -eq 1 ] && [ -d "$ESP32_ARDUINO" ]; then
168+
./tools/copy-to-arduino.sh
169+
fi
170+
171+
if [ $DEPLOY_OUT -eq 1 ]; then
172+
./tools/push-to-arduino.sh
173+
fi

‎configs/builds.json

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
{
2+
"mem_variants_files":[
3+
{
4+
"file":"libbootloader_support.a",
5+
"src":"build/esp-idf/bootloader_support/libbootloader_support.a",
6+
"out":"lib/libbootloader_support.a"
7+
},
8+
{
9+
"file":"libesp_hw_support.a",
10+
"src":"build/esp-idf/esp_hw_support/libesp_hw_support.a",
11+
"out":"lib/libesp_hw_support.a"
12+
},
13+
{
14+
"file":"libspi_flash.a",
15+
"src":"build/esp-idf/spi_flash/libspi_flash.a",
16+
"out":"lib/libspi_flash.a"
17+
},
18+
{
19+
"file":"libfreertos.a",
20+
"src":"build/esp-idf/freertos/libfreertos.a",
21+
"out":"lib/libfreertos.a"
22+
},
23+
{
24+
"file":"libesp_system.a",
25+
"src":"build/esp-idf/esp_system/libesp_system.a",
26+
"out":"lib/libesp_system.a"
27+
},
28+
{
29+
"file":"sections.ld",
30+
"src":"build/esp-idf/esp_system/ld/sections.ld",
31+
"out":"ld/sections.ld"
32+
}
33+
],
34+
"targets":[
35+
{
36+
"target": "esp32s3",
37+
"idf_libs":["qio","80m"],
38+
"bootloaders":[
39+
["qio","120m"],
40+
["qio","80m"],
41+
["dio","80m"],
42+
["opi_flash","opi_ram","80m"]
43+
],
44+
"mem_variants":[
45+
["opi_ram","80m"],
46+
["opi_flash","opi_ram","80m"]
47+
]
48+
},
49+
{
50+
"target": "esp32s2",
51+
"idf_libs":["qio","80m"],
52+
"bootloaders":[
53+
["qio","80m"],
54+
["qout","80m"],
55+
["dio","80m"],
56+
["dout","80m"],
57+
["qio","40m"],
58+
["qout","40m"],
59+
["dio","40m"],
60+
["dout","40m"]
61+
],
62+
"mem_variants":[]
63+
},
64+
{
65+
"target": "esp32c3",
66+
"idf_libs":["qio","80m"],
67+
"bootloaders":[
68+
["qio","80m"],
69+
["qout","80m"],
70+
["dio","80m"],
71+
["dout","80m"],
72+
["qio","40m"],
73+
["qout","40m"],
74+
["dio","40m"],
75+
["dout","40m"]
76+
],
77+
"mem_variants":[]
78+
},
79+
{
80+
"target": "esp32",
81+
"idf_libs":["dio","40m"],
82+
"bootloaders":[
83+
["qio","80m"],
84+
["qout","80m"],
85+
["dio","80m"],
86+
["dout","80m"],
87+
["qio","40m"],
88+
["qout","40m"],
89+
["dio","40m"],
90+
["dout","40m"]
91+
],
92+
"mem_variants":[]
93+
}
94+
]
95+
}

‎configs/defconfig.120m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CONFIG_ESPTOOLPY_FLASHFREQ_120M=y
2+
CONFIG_SPIRAM_SPEED_120M=y

‎configs/defconfig.40m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CONFIG_ESPTOOLPY_FLASHFREQ_40M=y
2+
CONFIG_SPIRAM_SPEED_40M=y

‎configs/defconfig.80m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
2+
CONFIG_SPIRAM_SPEED_80M=y

‎configs/defconfig.common

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CONFIG_AUTOSTART_ARDUINO=y
2+
CONFIG_ARDUINO_UDP_RUN_CORE0=y

‎configs/defconfig.dio

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_ESPTOOLPY_FLASHMODE_DIO=y

‎configs/defconfig.dout

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_ESPTOOLPY_FLASHMODE_DOUT=y

‎configs/defconfig.esp32

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
2+
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
3+
CONFIG_ARDUHAL_ESP_LOG=y
4+
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
5+
CONFIG_COMPILER_CXX_EXCEPTIONS=y
6+
CONFIG_COMPILER_STACK_CHECK_MODE_NORM=y
7+
CONFIG_COMPILER_WARN_WRITE_STRINGS=y
8+
CONFIG_BT_ENABLED=y
9+
CONFIG_BTDM_CTRL_MODE_BTDM=y
10+
CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=20
11+
CONFIG_BT_BTC_TASK_STACK_SIZE=8192
12+
CONFIG_BT_CLASSIC_ENABLED=y
13+
CONFIG_BT_A2DP_ENABLE=y
14+
CONFIG_BT_SPP_ENABLED=y
15+
CONFIG_BT_HFP_ENABLE=y
16+
CONFIG_BT_STACK_NO_LOG=y
17+
CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST=y
18+
CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY=y
19+
CONFIG_ESP32_SPIRAM_SUPPORT=y
20+
# CONFIG_SPIRAM_BOOT_INIT is not set
21+
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096
22+
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y
23+
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=0
24+
CONFIG_ESP32_ULP_COPROC_ENABLED=y
25+
CONFIG_ESP32_XTAL_FREQ_AUTO=y
26+
CONFIG_ETH_SPI_ETHERNET_DM9051=y
27+
CONFIG_ETH_SPI_ETHERNET_W5500=y
28+
CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
29+
CONFIG_HTTPD_WS_SUPPORT=y
30+
CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
31+
CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2048
32+
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096
33+
CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
34+
CONFIG_ESP_TASK_WDT_PANIC=y
35+
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set
36+
CONFIG_ESP_TIMER_TASK_STACK_SIZE=4096
37+
CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8
38+
CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8
39+
CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=16
40+
# CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE is not set
41+
CONFIG_FATFS_CODEPAGE_850=y
42+
CONFIG_FATFS_LFN_STACK=y
43+
# CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT is not set
44+
CONFIG_FMB_TIMER_PORT_ENABLED=y
45+
CONFIG_FREERTOS_HZ=1000
46+
# CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION is not set
47+
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
48+
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024
49+
CONFIG_FREERTOS_FPU_IN_ISR=y
50+
CONFIG_HEAP_POISONING_LIGHT=y
51+
CONFIG_LOG_DEFAULT_LEVEL_ERROR=y
52+
# CONFIG_LOG_COLORS is not set
53+
CONFIG_LWIP_MAX_SOCKETS=16
54+
CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y
55+
# CONFIG_LWIP_DHCP_DOES_ARP_CHECK is not set
56+
CONFIG_LWIP_DHCP_RESTORE_LAST_IP=y
57+
CONFIG_LWIP_DHCP_OPTIONS_LEN=128
58+
CONFIG_LWIP_TCP_SYNMAXRTX=6
59+
CONFIG_LWIP_TCP_MSS=1436
60+
CONFIG_LWIP_TCP_RTO_TIME=3000
61+
CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=2560
62+
CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y
63+
CONFIG_LWIP_SNTP_MAX_SERVERS=3
64+
CONFIG_LWIP_DHCP_GET_NTP_SRV=y
65+
# CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set
66+
# CONFIG_MBEDTLS_HARDWARE_SHA is not set
67+
CONFIG_MBEDTLS_PSK_MODES=y
68+
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y
69+
CONFIG_MBEDTLS_SSL_PROTO_DTLS=y
70+
CONFIG_OPENSSL_ASSERT_DO_NOTHING=y
71+
CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048
72+
CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=10
73+
CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=2
74+
CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=4096

‎configs/defconfig.esp32c3

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
2+
CONFIG_ARDUINO_RUN_CORE0=y
3+
CONFIG_ARDUINO_EVENT_RUN_CORE0=y
4+
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
5+
CONFIG_BT_ENABLED=y
6+
CONFIG_BT_BLE_BLUFI_ENABLE=y
7+
CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y
8+
CONFIG_ESP32C3_RTC_CLK_CAL_CYCLES=576
9+
CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
10+
CONFIG_HTTPD_WS_SUPPORT=y
11+
CONFIG_ESP_HTTPS_SERVER_ENABLE=y
12+
CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
13+
# CONFIG_ESP32_WIFI_IRAM_OPT is not set
14+
# CONFIG_ESP32_WIFI_RX_IRAM_OPT is not set
15+
CONFIG_ESP_WIFI_FTM_ENABLE=y
16+
CONFIG_FATFS_LFN_HEAP=y
17+
CONFIG_FMB_TIMER_PORT_ENABLED=y
18+
CONFIG_FREERTOS_HZ=1000
19+
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
20+
CONFIG_LOG_DEFAULT_LEVEL_ERROR=y
21+
# CONFIG_LOG_COLORS is not set
22+
CONFIG_LWIP_MAX_SOCKETS=16
23+
CONFIG_LWIP_DHCP_OPTIONS_LEN=128
24+
CONFIG_LWIP_SNTP_MAX_SERVERS=3
25+
CONFIG_LWIP_DHCP_GET_NTP_SRV=y
26+
CONFIG_MBEDTLS_PSK_MODES=y
27+
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y
28+
CONFIG_MBEDTLS_CAMELLIA_C=y

‎configs/defconfig.esp32s2

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
2+
CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP=y
3+
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
4+
CONFIG_ARDUINO_RUN_CORE0=y
5+
CONFIG_ARDUINO_EVENT_RUN_CORE0=y
6+
CONFIG_ARDUHAL_ESP_LOG=y
7+
CONFIG_TINYUSB_MSC_BUFSIZE=4096
8+
CONFIG_TINYUSB_DESC_DFU_RT_STRING="Espressif DFU Device"
9+
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
10+
CONFIG_COMPILER_CXX_EXCEPTIONS=y
11+
CONFIG_COMPILER_STACK_CHECK_MODE_NORM=y
12+
CONFIG_COMPILER_WARN_WRITE_STRINGS=y
13+
# CONFIG_SPI_MASTER_ISR_IN_IRAM is not set
14+
# CONFIG_SPI_SLAVE_ISR_IN_IRAM is not set
15+
CONFIG_ESP32S2_DEFAULT_CPU_FREQ_240=y
16+
CONFIG_ESP32S2_SPIRAM_SUPPORT=y
17+
# CONFIG_SPIRAM_BOOT_INIT is not set
18+
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096
19+
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y
20+
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=0
21+
CONFIG_ESP32S2_KEEP_USB_ALIVE=y
22+
CONFIG_ETH_SPI_ETHERNET_DM9051=y
23+
CONFIG_ETH_SPI_ETHERNET_W5500=y
24+
CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH=y
25+
CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
26+
CONFIG_HTTPD_WS_SUPPORT=y
27+
CONFIG_ESP_HTTPS_SERVER_ENABLE=y
28+
CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
29+
CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2048
30+
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096
31+
CONFIG_ESP_INT_WDT_TIMEOUT_MS=1000
32+
CONFIG_ESP_TASK_WDT_PANIC=y
33+
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
34+
CONFIG_ESP_TIMER_TASK_STACK_SIZE=4096
35+
CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8
36+
CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8
37+
CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=16
38+
CONFIG_ESP32_WIFI_CSI_ENABLED=y
39+
# CONFIG_ESP32_WIFI_IRAM_OPT is not set
40+
# CONFIG_ESP32_WIFI_RX_IRAM_OPT is not set
41+
# CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE is not set
42+
CONFIG_ESP_WIFI_FTM_ENABLE=y
43+
CONFIG_FATFS_CODEPAGE_850=y
44+
CONFIG_FATFS_LFN_STACK=y
45+
# CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT is not set
46+
CONFIG_FMB_TIMER_PORT_ENABLED=y
47+
CONFIG_FREERTOS_HZ=1000
48+
# CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION is not set
49+
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
50+
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024
51+
CONFIG_HEAP_POISONING_LIGHT=y
52+
CONFIG_LOG_DEFAULT_LEVEL_ERROR=y
53+
# CONFIG_LOG_COLORS is not set
54+
CONFIG_LWIP_MAX_SOCKETS=16
55+
CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y
56+
# CONFIG_LWIP_DHCP_DOES_ARP_CHECK is not set
57+
CONFIG_LWIP_DHCP_RESTORE_LAST_IP=y
58+
CONFIG_LWIP_DHCP_OPTIONS_LEN=128
59+
CONFIG_LWIP_TCP_SYNMAXRTX=6
60+
CONFIG_LWIP_TCP_MSS=1436
61+
CONFIG_LWIP_TCP_RTO_TIME=3000
62+
CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=2560
63+
CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y
64+
CONFIG_LWIP_SNTP_MAX_SERVERS=3
65+
CONFIG_LWIP_DHCP_GET_NTP_SRV=y
66+
# CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set
67+
# CONFIG_MBEDTLS_HARDWARE_MPI is not set
68+
# CONFIG_MBEDTLS_HARDWARE_SHA is not set
69+
CONFIG_MBEDTLS_PSK_MODES=y
70+
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y
71+
CONFIG_MBEDTLS_SSL_PROTO_DTLS=y
72+
CONFIG_OPENSSL_ASSERT_DO_NOTHING=y
73+
CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048
74+
CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=10
75+
CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=2
76+
CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=4096

‎configs/defconfig.esp32s3

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
2+
CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP=y
3+
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
4+
CONFIG_ARDUHAL_ESP_LOG=y
5+
CONFIG_TINYUSB_MSC_BUFSIZE=4096
6+
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
7+
CONFIG_COMPILER_CXX_EXCEPTIONS=y
8+
CONFIG_COMPILER_STACK_CHECK_MODE_NORM=y
9+
CONFIG_COMPILER_WARN_WRITE_STRINGS=y
10+
CONFIG_BT_ENABLED=y
11+
CONFIG_BLE_MESH=y
12+
# CONFIG_SPI_MASTER_ISR_IN_IRAM is not set
13+
# CONFIG_SPI_SLAVE_ISR_IN_IRAM is not set
14+
CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240=y
15+
CONFIG_ESP32S3_SPIRAM_SUPPORT=y
16+
# CONFIG_SPIRAM_BOOT_INIT is not set
17+
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096
18+
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y
19+
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=0
20+
CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=576
21+
CONFIG_ETH_SPI_ETHERNET_DM9051=y
22+
CONFIG_ETH_SPI_ETHERNET_W5500=y
23+
CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH=y
24+
CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
25+
CONFIG_HTTPD_WS_SUPPORT=y
26+
CONFIG_ESP_HTTPS_SERVER_ENABLE=y
27+
CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO=y
28+
# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set
29+
CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
30+
CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2048
31+
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096
32+
CONFIG_ESP_INT_WDT_TIMEOUT_MS=1000
33+
CONFIG_ESP_TASK_WDT_PANIC=y
34+
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set
35+
CONFIG_ESP_TIMER_TASK_STACK_SIZE=4096
36+
CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8
37+
CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8
38+
CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=16
39+
CONFIG_ESP32_WIFI_CSI_ENABLED=y
40+
# CONFIG_ESP32_WIFI_IRAM_OPT is not set
41+
# CONFIG_ESP32_WIFI_RX_IRAM_OPT is not set
42+
# CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE is not set
43+
CONFIG_ESP_WIFI_FTM_ENABLE=y
44+
CONFIG_FATFS_CODEPAGE_850=y
45+
CONFIG_FATFS_LFN_STACK=y
46+
# CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT is not set
47+
CONFIG_FMB_TIMER_PORT_ENABLED=y
48+
CONFIG_FREERTOS_HZ=1000
49+
# CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION is not set
50+
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
51+
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024
52+
CONFIG_HEAP_POISONING_LIGHT=y
53+
CONFIG_LOG_DEFAULT_LEVEL_ERROR=y
54+
# CONFIG_LOG_COLORS is not set
55+
CONFIG_LWIP_MAX_SOCKETS=16
56+
CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y
57+
# CONFIG_LWIP_DHCP_DOES_ARP_CHECK is not set
58+
CONFIG_LWIP_DHCP_RESTORE_LAST_IP=y
59+
CONFIG_LWIP_DHCP_OPTIONS_LEN=128
60+
CONFIG_LWIP_TCP_SYNMAXRTX=6
61+
CONFIG_LWIP_TCP_MSS=1436
62+
CONFIG_LWIP_TCP_RTO_TIME=3000
63+
CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=2560
64+
CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y
65+
CONFIG_LWIP_SNTP_MAX_SERVERS=3
66+
CONFIG_LWIP_DHCP_GET_NTP_SRV=y
67+
# CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set
68+
# CONFIG_MBEDTLS_HARDWARE_MPI is not set
69+
# CONFIG_MBEDTLS_HARDWARE_SHA is not set
70+
CONFIG_MBEDTLS_PSK_MODES=y
71+
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y
72+
CONFIG_MBEDTLS_SSL_PROTO_DTLS=y
73+
CONFIG_OPENSSL_ASSERT_DO_NOTHING=y
74+
CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048
75+
CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=10
76+
CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=2
77+
CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=4096

‎configs/defconfig.opi_flash

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CONFIG_ESPTOOLPY_OCT_FLASH=y
2+
CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_DTR=y

‎configs/defconfig.opi_ram

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_SPIRAM_MODE_OCT=y

‎configs/defconfig.qio

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y

‎configs/defconfig.qout

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_ESPTOOLPY_FLASHMODE_QOUT=y

‎main/Kconfig.projbuild

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
config LIB_BUILDER_FLASHMODE
2+
string
3+
default "qio" if ESPTOOLPY_FLASHMODE_QIO
4+
default "qout" if ESPTOOLPY_FLASHMODE_QOUT
5+
default "dio" if ESPTOOLPY_FLASHMODE_DIO
6+
default "dout" if ESPTOOLPY_FLASHMODE_DOUT
7+
default "opi" if ESPTOOLPY_FLASHMODE_OPI
8+
9+
config LIB_BUILDER_FLASHFREQ
10+
string
11+
default "120m" if ESPTOOLPY_FLASHFREQ_120M
12+
default "80m" if ESPTOOLPY_FLASHFREQ_80M
13+
default "40m" if ESPTOOLPY_FLASHFREQ_40M
14+
default "26m" if ESPTOOLPY_FLASHFREQ_26M
15+
default "20m" if ESPTOOLPY_FLASHFREQ_20M

‎sdkconfig.esp32

Lines changed: 0 additions & 1774 deletions
This file was deleted.

‎sdkconfig.esp32c3

Lines changed: 0 additions & 1847 deletions
This file was deleted.

‎sdkconfig.esp32s2

Lines changed: 0 additions & 1569 deletions
This file was deleted.

‎sdkconfig.esp32s3

Lines changed: 0 additions & 2186 deletions
This file was deleted.

‎tools/build-bootloaders.sh

Lines changed: 0 additions & 120 deletions
This file was deleted.

‎tools/copy-bootloader.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
3+
IDF_TARGET=$1
4+
FLASH_MODE="$2"
5+
FLASH_FREQ="$3"
6+
BOOTCONF=$FLASH_MODE"_$FLASH_FREQ"
7+
8+
source ./tools/config.sh
9+
10+
echo "Copying bootloader: $AR_SDK/bin/bootloader_$BOOTCONF.bin"
11+
12+
mkdir -p "$AR_SDK/bin"
13+
cp "build/bootloader/bootloader.bin" "$AR_SDK/bin/bootloader_$BOOTCONF.bin"

‎tools/prepare-libs.sh renamed to ‎tools/copy-libs.sh

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,23 @@
22
# config
33

44
IDF_TARGET=$1
5+
OCT_FLASH=
6+
OCT_PSRAM=
7+
if [ "$2" = "y" ]; then
8+
OCT_FLASH="opi"
9+
else
10+
OCT_FLASH="qspi"
11+
fi
12+
if [ "$3" = "y" ]; then
13+
OCT_PSRAM="opi"
14+
else
15+
OCT_PSRAM="qspi"
16+
fi
17+
MEMCONF=$OCT_FLASH"_$OCT_PSRAM"
518

619
source ./tools/config.sh
720

8-
echo "IDF_TARGET: $IDF_TARGET, PWD: $PWD, OUT: $AR_SDK"
21+
echo "IDF_TARGET: $IDF_TARGET, MEMCONF: $MEMCONF, PWD: $PWD, OUT: $AR_SDK"
922

1023
# clean previous
1124
if [ -e "$AR_SDK/sdkconfig" ]; then
@@ -20,6 +33,9 @@ fi
2033
if [ -e "$AR_SDK/include" ]; then
2134
rm -rf "$AR_SDK/include"
2235
fi
36+
if [ -e "$AR_SDK/$MEMCONF" ]; then
37+
rm -rf "$AR_SDK/$MEMCONF"
38+
fi
2339
mkdir -p "$AR_SDK"
2440

2541
function get_actual_path(){
@@ -366,7 +382,8 @@ done
366382

367383
echo " LIBPATH=[" >> "$AR_PLATFORMIO_PY"
368384
echo " join(FRAMEWORK_DIR, \"tools\", \"sdk\", \"$IDF_TARGET\", \"lib\")," >> "$AR_PLATFORMIO_PY"
369-
echo " join(FRAMEWORK_DIR, \"tools\", \"sdk\", \"$IDF_TARGET\", \"ld\")" >> "$AR_PLATFORMIO_PY"
385+
echo " join(FRAMEWORK_DIR, \"tools\", \"sdk\", \"$IDF_TARGET\", \"ld\")," >> "$AR_PLATFORMIO_PY"
386+
echo " join(FRAMEWORK_DIR, \"tools\", \"sdk\", \"$IDF_TARGET\", \"$MEMCONF\")" >> "$AR_PLATFORMIO_PY"
370387
echo " ]," >> "$AR_PLATFORMIO_PY"
371388
echo "" >> "$AR_PLATFORMIO_PY"
372389

@@ -454,3 +471,11 @@ done
454471
# Add IDF versions to sdkconfig
455472
echo "#define CONFIG_ARDUINO_IDF_COMMIT \"$IDF_COMMIT\"" >> "$AR_SDK/include/config/sdkconfig.h"
456473
echo "#define CONFIG_ARDUINO_IDF_BRANCH \"$IDF_BRANCH\"" >> "$AR_SDK/include/config/sdkconfig.h"
474+
475+
# Handle Mem Variants
476+
mkdir -p "$AR_SDK/$MEMCONF"
477+
for mem_variant in `jq -c '.mem_variants_files[]' configs/builds.json`; do
478+
file=$(echo "$mem_variant" | jq -c '.file' | tr -d '"')
479+
out=$(echo "$mem_variant" | jq -c '.out' | tr -d '"')
480+
mv "$AR_SDK/$out" "$AR_SDK/$MEMCONF/$file"
481+
done;

‎tools/copy-mem-variant.sh

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/bin/bash
2+
IDF_TARGET=$1
3+
OCT_FLASH=
4+
OCT_PSRAM=
5+
6+
if [ "$2" = "y" ]; then
7+
OCT_FLASH="opi"
8+
else
9+
OCT_FLASH="qspi"
10+
fi
11+
12+
if [ "$3" = "y" ]; then
13+
OCT_PSRAM="opi"
14+
else
15+
OCT_PSRAM="qspi"
16+
fi
17+
18+
MEMCONF=$OCT_FLASH"_$OCT_PSRAM"
19+
20+
source ./tools/config.sh
21+
22+
echo "IDF_TARGET: $IDF_TARGET, MEMCONF: $MEMCONF"
23+
24+
# Handle Mem Variants
25+
rm -rf "$AR_SDK/$MEMCONF"
26+
mkdir -p "$AR_SDK/$MEMCONF"
27+
for mem_variant in `jq -c '.mem_variants_files[]' configs/builds.json`; do
28+
file=$(echo "$mem_variant" | jq -c '.file' | tr -d '"')
29+
src=$(echo "$mem_variant" | jq -c '.src' | tr -d '"')
30+
cp "$src" "$AR_SDK/$MEMCONF/$file"
31+
done;

‎tools/update-components.sh

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,6 @@ if [ $? -ne 0 ]; then exit 1; fi
5656

5757
if [ ! -d "$AR_COMPS/esp-face" ]; then
5858
git clone $FACE_REPO_URL "$AR_COMPS/esp-face"
59-
# cml=`cat "$AR_COMPS/esp-face/CMakeLists.txt"`
60-
# echo "if(IDF_TARGET STREQUAL \"esp32\" OR IDF_TARGET STREQUAL \"esp32s2\" OR IDF_TARGET STREQUAL \"esp32s3\")" > "$AR_COMPS/esp-face/CMakeLists.txt"
61-
# echo "$cml" >> "$AR_COMPS/esp-face/CMakeLists.txt"
62-
# echo "endif()" >> "$AR_COMPS/esp-face/CMakeLists.txt"
6359
else
6460
git -C "$AR_COMPS/esp-face" fetch && \
6561
git -C "$AR_COMPS/esp-face" pull --ff-only

0 commit comments

Comments
 (0)
Please sign in to comment.