Esp32 s3 support (#62)

Fixes: https://github.com/espressif/arduino-esp32/issues/6187

Co-authored-by: Jason2866 <24528715+Jason2866@users.noreply.github.com>
This commit is contained in:
Me No Dev 2022-03-28 12:11:21 +03:00 committed by GitHub
parent 5a8939e9a0
commit 71de5299df
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
34 changed files with 767 additions and 5409 deletions

View file

@ -6,19 +6,26 @@ on:
- master
pull_request:
jobs:
concurrency:
group: esp-idf-libs-${{github.event.pull_request.number || github.ref}}
cancel-in-progress: true
jobs:
build-libs:
name: Build Arduino Libs
name: Build Libs for ${{ matrix.target }}
runs-on: ubuntu-latest
strategy:
matrix:
target: [esp32, esp32s2, esp32s3, esp32c3]
fail-fast: false
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2
- name: Install dependencies
run: bash ./tools/prepare-ci.sh
- name: Build Arduino Libs
run: bash ./build.sh
- name: Build Libs for ${{ matrix.target }}
run: bash ./build.sh -t ${{ matrix.target }}
- name: Upload archive
uses: actions/upload-artifact@v1
with:
name: artifacts
name: artifacts-${{ matrix.target }}
path: dist

3
.gitignore vendored
View file

@ -1,7 +1,8 @@
.DS_Store
.vscode
components/arduino/
components/esp-face/
components/esp-dl/
components/esp-sr/
components/esp32-camera/
components/esp_littlefs/
components/esp-rainmaker/

View file

@ -1,42 +0,0 @@
sudo: false
language: python
os:
- linux
git:
depth: false
addons:
apt:
packages:
- git
- wget
- curl
- libssl-dev
- libncurses-dev
- flex
- bison
- gperf
- python
- python-pip
- python-setuptools
- python-serial
- python-click
- python-cryptography
- python-future
- python-pyparsing
- python-pyelftools
- cmake
- ninja-build
- ccache
stages:
- build
jobs:
include:
- name: "Build Arduino Libs"
if: tag IS blank AND (type = pull_request OR (type = push AND branch = master))
stage: build
script: bash $TRAVIS_BUILD_DIR/build.sh

View file

@ -2,18 +2,36 @@
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)
if(IDF_TARGET STREQUAL "esp32")
set(EXTRA_COMPONENT_DIRS ${CMAKE_SOURCE_DIR}/components/esp-rainmaker/components)
endif()
set(EXTRA_COMPONENT_DIRS ${CMAKE_SOURCE_DIR}/components/esp-rainmaker/components)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(arduino-lib-builder)
idf_build_get_property(elf EXECUTABLE GENERATOR_EXPRESSION)
add_custom_command(
OUTPUT "idf_libs"
COMMAND ${CMAKE_SOURCE_DIR}/tools/prepare-libs.sh ${IDF_TARGET}
DEPENDS gen_project_binary bootloader partition_table
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-libs.sh ${IDF_TARGET} "${CONFIG_ESPTOOLPY_OCT_FLASH}" "${CONFIG_SPIRAM_MODE_OCT}"
DEPENDS ${elf}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
VERBATIM
)
add_custom_target(idf-libs ALL DEPENDS "idf_libs")
add_custom_target(idf-libs DEPENDS "idf_libs")
add_custom_command(
OUTPUT "copy_bootloader"
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-bootloader.sh ${IDF_TARGET} "${CONFIG_LIB_BUILDER_FLASHMODE}" "${CONFIG_LIB_BUILDER_FLASHFREQ}"
DEPENDS bootloader
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
VERBATIM
)
add_custom_target(copy-bootloader DEPENDS "copy_bootloader")
add_custom_command(
OUTPUT "mem_variant"
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-mem-variant.sh ${IDF_TARGET} "${CONFIG_ESPTOOLPY_OCT_FLASH}" "${CONFIG_SPIRAM_MODE_OCT}"
DEPENDS ${elf}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
VERBATIM
)
add_custom_target(mem-variant DEPENDS "mem_variant")

202
build.sh
View file

@ -1,50 +1,192 @@
#!/bin/bash
if ! [ -x "$(command -v python)" ]; then
echo "ERROR: python is not installed! Please install python first."
exit 1
echo "ERROR: python is not installed! Please install python first."
exit 1
fi
if ! [ -x "$(command -v git)" ]; then
echo "ERROR: git is not installed! Please install git first."
exit 1
echo "ERROR: git is not installed! Please install git first."
exit 1
fi
mkdir -p dist
TARGET="all"
BUILD_TYPE="all"
SKIP_ENV=0
COPY_OUT=0
DEPLOY_OUT=0
# update components from git
./tools/update-components.sh
if [ $? -ne 0 ]; then exit 1; fi
function print_help() {
echo "Usage: build.sh [-s] [-A <arduino_branch>] [-I <idf_branch>] [-i <idf_commit>] [-c <path>] [-t <target>] [-b <build|menuconfig|idf_libs|copy_bootloader|mem_variant>] [config ...]"
echo " -s Skip installing/updating of ESP-IDF and all components"
echo " -A Set which branch of arduino-esp32 to be used for compilation"
echo " -I Set which branch of ESP-IDF to be used for compilation"
echo " -i Set which commit of ESP-IDF to be used for compilation"
echo " -d Deploy the build to github arduino-esp32"
echo " -c Set the arduino-esp32 folder to copy the result to. ex. '$HOME/Arduino/hardware/espressif/esp32'"
echo " -t Set the build target(chip). ex. 'esp32s3'"
echo " -b Set the build type. ex. 'build' to build the project and prepare for uploading to a board"
echo " ... Specify additional configs to be applied. ex. 'qio 80m' to compile for QIO Flash@80MHz. Requires -b"
exit 1
}
# install esp-idf and gcc toolchain
source ./tools/install-esp-idf.sh
if [ $? -ne 0 ]; then exit 1; fi
while getopts ":A:I:i:c:t:b:sd" opt; do
case ${opt} in
s )
SKIP_ENV=1
;;
d )
DEPLOY_OUT=1
;;
c )
export ESP32_ARDUINO="$OPTARG"
COPY_OUT=1
;;
A )
export AR_BRANCH="$OPTARG"
;;
I )
export IDF_BRANCH="$OPTARG"
;;
i )
export IDF_COMMIT="$OPTARG"
;;
t )
TARGET=$OPTARG
;;
b )
b=$OPTARG
if [ "$b" != "build" ] &&
[ "$b" != "menuconfig" ] &&
[ "$b" != "idf_libs" ] &&
[ "$b" != "copy_bootloader" ] &&
[ "$b" != "mem_variant" ]; then
print_help
fi
BUILD_TYPE="$b"
;;
\? )
echo "Invalid option: -$OPTARG" 1>&2
print_help
;;
: )
echo "Invalid option: -$OPTARG requires an argument" 1>&2
print_help
;;
esac
done
shift $((OPTIND -1))
CONFIGS=$@
if [ -z $TARGETS ]; then
TARGETS="esp32c3 esp32s2 esp32"
if [ $SKIP_ENV -eq 0 ]; then
echo "* Installing/Updating ESP-IDF and all components..."
# update components from git
./tools/update-components.sh
if [ $? -ne 0 ]; then exit 1; fi
# install esp-idf
source ./tools/install-esp-idf.sh
if [ $? -ne 0 ]; then exit 1; fi
else
source ./tools/config.sh
fi
if [ "$BUILD_TYPE" != "all" ]; then
if [ "$TARGET" = "all" ]; then
echo "ERROR: You need to specify target for non-default builds"
print_help
fi
configs="configs/defconfig.common;configs/defconfig.$TARGET"
# Target Features Configs
for target_json in `jq -c '.targets[]' configs/builds.json`; do
target=$(echo "$target_json" | jq -c '.target' | tr -d '"')
if [ "$TARGET" == "$target" ]; then
for defconf in `echo "$target_json" | jq -c '.features[]' | tr -d '"'`; do
configs="$configs;configs/defconfig.$defconf"
done
fi
done
# Configs From Arguments
for conf in $CONFIGS; do
configs="$configs;configs/defconfig.$conf"
done
echo "idf.py -DIDF_TARGET=\"$TARGET\" -DSDKCONFIG_DEFAULTS=\"$configs\" $BUILD_TYPE"
rm -rf build sdkconfig
idf.py -DIDF_TARGET="$TARGET" -DSDKCONFIG_DEFAULTS="$configs" $BUILD_TYPE
if [ $? -ne 0 ]; then exit 1; fi
exit 0
fi
rm -rf build sdkconfig out
echo $(git -C $AR_COMPS/arduino describe --all --long) > version.txt
rm -rf out build sdkconfig sdkconfig.old
#targets_count=`jq -c '.targets[] | length' configs/builds.json`
for target_json in `jq -c '.targets[]' configs/builds.json`; do
target=$(echo "$target_json" | jq -c '.target' | tr -d '"')
for target in $TARGETS; do
# configure the build for the target
rm -rf build sdkconfig sdkconfig.old
cp "sdkconfig.$target" sdkconfig
# uncomment next line to access menuconfig
# idf.py menuconfig
# build and prepare libs
idf.py build
if [ $? -ne 0 ]; then exit 1; fi
cp sdkconfig "sdkconfig.$target"
# build bootloaders
./tools/build-bootloaders.sh
if [ $? -ne 0 ]; then exit 1; fi
if [ "$TARGET" != "all" ] && [ "$TARGET" != "$target" ]; then
echo "* Skipping Target: $target"
continue
fi
echo "* Target: $target"
# Build Main Configs List
main_configs="configs/defconfig.common;configs/defconfig.$target"
for defconf in `echo "$target_json" | jq -c '.features[]' | tr -d '"'`; do
main_configs="$main_configs;configs/defconfig.$defconf"
done
# Build IDF Libs
idf_libs_configs="$main_configs"
for defconf in `echo "$target_json" | jq -c '.idf_libs[]' | tr -d '"'`; do
idf_libs_configs="$idf_libs_configs;configs/defconfig.$defconf"
done
echo "* Build IDF-Libs: $idf_libs_configs"
rm -rf build sdkconfig
idf.py -DIDF_TARGET="$target" -DSDKCONFIG_DEFAULTS="$idf_libs_configs" idf_libs
if [ $? -ne 0 ]; then exit 1; fi
# Build Bootloaders
for boot_conf in `echo "$target_json" | jq -c '.bootloaders[]'`; do
bootloader_configs="$main_configs"
for defconf in `echo "$boot_conf" | jq -c '.[]' | tr -d '"'`; do
bootloader_configs="$bootloader_configs;configs/defconfig.$defconf";
done
echo "* Build BootLoader: $bootloader_configs"
rm -rf build sdkconfig
idf.py -DIDF_TARGET="$target" -DSDKCONFIG_DEFAULTS="$bootloader_configs" copy_bootloader
if [ $? -ne 0 ]; then exit 1; fi
done
# Build Memory Variants
for mem_conf in `echo "$target_json" | jq -c '.mem_variants[]'`; do
mem_configs="$main_configs"
for defconf in `echo "$mem_conf" | jq -c '.[]' | tr -d '"'`; do
mem_configs="$mem_configs;configs/defconfig.$defconf";
done
echo "* Build Memory Variant: $mem_configs"
rm -rf build sdkconfig
idf.py -DIDF_TARGET="$target" -DSDKCONFIG_DEFAULTS="$mem_configs" mem_variant
if [ $? -ne 0 ]; then exit 1; fi
done
done
# archive the build
./tools/archive-build.sh
if [ $? -ne 0 ]; then exit 1; fi
if [ "$BUILD_TYPE" = "all" ]; then
./tools/archive-build.sh
if [ $? -ne 0 ]; then exit 1; fi
fi
#./tools/copy-to-arduino.sh
# copy everything to arduino-esp32 installation
if [ $COPY_OUT -eq 1 ] && [ -d "$ESP32_ARDUINO" ]; then
./tools/copy-to-arduino.sh
fi
if [ $DEPLOY_OUT -eq 1 ]; then
./tools/push-to-arduino.sh
fi

View file

@ -4,11 +4,19 @@ if(CONFIG_TINYUSB_ENABLED)
### variables ###
#################
set(compile_options
"-DCFG_TUSB_MCU=OPT_MCU_ESP32S2"
"-DCFG_TUSB_DEBUG=${CONFIG_TINYUSB_DEBUG_LEVEL}"
"-Wno-type-limits" # needed for the vanila tinyusb with turned off classes
)
# if(IDF_TARGET STREQUAL "esp32s2")
set(compile_options
"-DCFG_TUSB_MCU=OPT_MCU_ESP32S2"
"-DCFG_TUSB_DEBUG=${CONFIG_TINYUSB_DEBUG_LEVEL}"
"-Wno-type-limits" # needed for the vanila tinyusb with turned off classes
)
# elseif(IDF_TARGET STREQUAL "esp32s3")
# set(compile_options
# "-DCFG_TUSB_MCU=OPT_MCU_ESP32S2"
# "-DCFG_TUSB_DEBUG=${CONFIG_TINYUSB_DEBUG_LEVEL}"
# "-Wno-type-limits" # needed for the vanila tinyusb with turned off classes
# )
# endif()
idf_component_get_property(FREERTOS_ORIG_INCLUDE_PATH freertos
ORIG_INCLUDE_PATH)
set(includes_private

View file

@ -3,7 +3,7 @@ menu "Arduino TinyUSB"
config TINYUSB_ENABLED
bool "Enable TinyUSB driver"
default y
depends on IDF_TARGET_ESP32S2
depends on IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3
select FREERTOS_SUPPORT_STATIC_ALLOCATION
select FREERTOS_USE_AUTHENTIC_INCLUDE_PATHS
help

100
configs/builds.json Normal file
View file

@ -0,0 +1,100 @@
{
"mem_variants_files":[
{
"file":"libbootloader_support.a",
"src":"build/esp-idf/bootloader_support/libbootloader_support.a",
"out":"lib/libbootloader_support.a"
},
{
"file":"libesp_hw_support.a",
"src":"build/esp-idf/esp_hw_support/libesp_hw_support.a",
"out":"lib/libesp_hw_support.a"
},
{
"file":"libspi_flash.a",
"src":"build/esp-idf/spi_flash/libspi_flash.a",
"out":"lib/libspi_flash.a"
},
{
"file":"libfreertos.a",
"src":"build/esp-idf/freertos/libfreertos.a",
"out":"lib/libfreertos.a"
},
{
"file":"libesp_system.a",
"src":"build/esp-idf/esp_system/libesp_system.a",
"out":"lib/libesp_system.a"
},
{
"file":"sections.ld",
"src":"build/esp-idf/esp_system/ld/sections.ld",
"out":"ld/sections.ld"
}
],
"targets":[
{
"target": "esp32s3",
"features":[],
"idf_libs":["qio","80m","qio_ram"],
"bootloaders":[
["qio","120m","qio_ram"],
["qio","80m","qio_ram"],
["dio","80m","qio_ram"],
["opi","80m","opi_ram"]
],
"mem_variants":[
["qio","80m","opi_ram"],
["opi","80m","opi_ram"],
["opi","80m","qio_ram"]
]
},
{
"target": "esp32s2",
"features":["qio_ram"],
"idf_libs":["qio","80m"],
"bootloaders":[
["qio","80m"],
["qout","80m"],
["dio","80m"],
["dout","80m"],
["qio","40m"],
["qout","40m"],
["dio","40m"],
["dout","40m"]
],
"mem_variants":[]
},
{
"target": "esp32c3",
"features":[],
"idf_libs":["qio","80m"],
"bootloaders":[
["qio","80m"],
["qout","80m"],
["dio","80m"],
["dout","80m"],
["qio","40m"],
["qout","40m"],
["dio","40m"],
["dout","40m"]
],
"mem_variants":[]
},
{
"target": "esp32",
"features":["qio_ram"],
"idf_libs":["dio","40m"],
"bootloaders":[
["qio","80m"],
["qout","80m"],
["dio","80m"],
["dout","80m"],
["qio","40m"],
["qout","40m"],
["dio","40m"],
["dout","40m"]
],
"mem_variants":[]
}
]
}

2
configs/defconfig.120m Normal file
View file

@ -0,0 +1,2 @@
CONFIG_ESPTOOLPY_FLASHFREQ_120M=y
CONFIG_SPIRAM_SPEED_120M=y

2
configs/defconfig.40m Normal file
View file

@ -0,0 +1,2 @@
CONFIG_ESPTOOLPY_FLASHFREQ_40M=y
CONFIG_SPIRAM_SPEED_40M=y

2
configs/defconfig.80m Normal file
View file

@ -0,0 +1,2 @@
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
CONFIG_SPIRAM_SPEED_80M=y

3
configs/defconfig.common Normal file
View file

@ -0,0 +1,3 @@
CONFIG_AUTOSTART_ARDUINO=y
CONFIG_ARDUINO_UDP_RUN_CORE0=y
# CONFIG_WS2812_LED_ENABLE is not set

1
configs/defconfig.dio Normal file
View file

@ -0,0 +1 @@
CONFIG_ESPTOOLPY_FLASHMODE_DIO=y

1
configs/defconfig.dout Normal file
View file

@ -0,0 +1 @@
CONFIG_ESPTOOLPY_FLASHMODE_DOUT=y

74
configs/defconfig.esp32 Normal file
View file

@ -0,0 +1,74 @@
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
CONFIG_ARDUHAL_ESP_LOG=y
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
CONFIG_COMPILER_CXX_EXCEPTIONS=y
CONFIG_COMPILER_STACK_CHECK_MODE_NORM=y
CONFIG_COMPILER_WARN_WRITE_STRINGS=y
CONFIG_BT_ENABLED=y
CONFIG_BTDM_CTRL_MODE_BTDM=y
CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=20
CONFIG_BT_BTC_TASK_STACK_SIZE=8192
CONFIG_BT_CLASSIC_ENABLED=y
CONFIG_BT_A2DP_ENABLE=y
CONFIG_BT_SPP_ENABLED=y
CONFIG_BT_HFP_ENABLE=y
CONFIG_BT_STACK_NO_LOG=y
CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST=y
CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY=y
CONFIG_ESP32_SPIRAM_SUPPORT=y
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=0
CONFIG_ESP32_ULP_COPROC_ENABLED=y
CONFIG_ESP32_XTAL_FREQ_AUTO=y
CONFIG_ETH_SPI_ETHERNET_DM9051=y
CONFIG_ETH_SPI_ETHERNET_W5500=y
CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
CONFIG_HTTPD_WS_SUPPORT=y
CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2048
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096
CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
CONFIG_ESP_TASK_WDT_PANIC=y
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set
CONFIG_ESP_TIMER_TASK_STACK_SIZE=4096
CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8
CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8
CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=16
# CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE is not set
CONFIG_FATFS_CODEPAGE_850=y
CONFIG_FATFS_LFN_STACK=y
# CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT is not set
CONFIG_FMB_TIMER_PORT_ENABLED=y
CONFIG_FREERTOS_HZ=1000
# CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION is not set
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024
CONFIG_FREERTOS_FPU_IN_ISR=y
CONFIG_HEAP_POISONING_LIGHT=y
CONFIG_LOG_DEFAULT_LEVEL_ERROR=y
# CONFIG_LOG_COLORS is not set
CONFIG_LWIP_MAX_SOCKETS=16
CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y
# CONFIG_LWIP_DHCP_DOES_ARP_CHECK is not set
CONFIG_LWIP_DHCP_RESTORE_LAST_IP=y
CONFIG_LWIP_DHCP_OPTIONS_LEN=128
CONFIG_LWIP_TCP_SYNMAXRTX=6
CONFIG_LWIP_TCP_MSS=1436
CONFIG_LWIP_TCP_RTO_TIME=3000
CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=2560
CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y
CONFIG_LWIP_SNTP_MAX_SERVERS=3
CONFIG_LWIP_DHCP_GET_NTP_SRV=y
# CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set
CONFIG_MBEDTLS_PSK_MODES=y
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y
CONFIG_MBEDTLS_SSL_PROTO_DTLS=y
CONFIG_OPENSSL_ASSERT_DO_NOTHING=y
CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048
CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=10
CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=2
CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=4096
# CONFIG_USE_WAKENET is not set
# CONFIG_USE_MULTINET is not set

32
configs/defconfig.esp32c3 Normal file
View file

@ -0,0 +1,32 @@
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
CONFIG_ARDUINO_RUN_CORE0=y
CONFIG_ARDUINO_EVENT_RUN_CORE0=y
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
CONFIG_COMPILER_CXX_EXCEPTIONS=y
CONFIG_COMPILER_STACK_CHECK_MODE_NORM=y
CONFIG_COMPILER_WARN_WRITE_STRINGS=y
CONFIG_BT_ENABLED=y
CONFIG_BT_BLE_BLUFI_ENABLE=y
CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y
CONFIG_ESP32C3_RTC_CLK_CAL_CYCLES=576
CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
CONFIG_HTTPD_WS_SUPPORT=y
CONFIG_ESP_HTTPS_SERVER_ENABLE=y
CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
# CONFIG_ESP32_WIFI_IRAM_OPT is not set
# CONFIG_ESP32_WIFI_RX_IRAM_OPT is not set
CONFIG_ESP_WIFI_FTM_ENABLE=y
CONFIG_FATFS_LFN_HEAP=y
CONFIG_FMB_TIMER_PORT_ENABLED=y
CONFIG_FREERTOS_HZ=1000
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
CONFIG_LOG_DEFAULT_LEVEL_ERROR=y
# CONFIG_LOG_COLORS is not set
CONFIG_LWIP_MAX_SOCKETS=16
CONFIG_LWIP_DHCP_OPTIONS_LEN=128
CONFIG_LWIP_SNTP_MAX_SERVERS=3
CONFIG_LWIP_DHCP_GET_NTP_SRV=y
CONFIG_LWIP_DHCP_RESTORE_LAST_IP=y
CONFIG_MBEDTLS_PSK_MODES=y
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y
CONFIG_MBEDTLS_CAMELLIA_C=y

75
configs/defconfig.esp32s2 Normal file
View file

@ -0,0 +1,75 @@
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP=y
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
CONFIG_ARDUINO_RUN_CORE0=y
CONFIG_ARDUINO_EVENT_RUN_CORE0=y
CONFIG_ARDUHAL_ESP_LOG=y
CONFIG_TINYUSB_MSC_BUFSIZE=4096
CONFIG_TINYUSB_DESC_DFU_RT_STRING="Espressif DFU Device"
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
CONFIG_COMPILER_CXX_EXCEPTIONS=y
CONFIG_COMPILER_STACK_CHECK_MODE_NORM=y
CONFIG_COMPILER_WARN_WRITE_STRINGS=y
# CONFIG_SPI_MASTER_ISR_IN_IRAM is not set
# CONFIG_SPI_SLAVE_ISR_IN_IRAM is not set
CONFIG_ESP32S2_DEFAULT_CPU_FREQ_240=y
CONFIG_ESP32S2_SPIRAM_SUPPORT=y
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=0
CONFIG_ESP32S2_KEEP_USB_ALIVE=y
CONFIG_ETH_SPI_ETHERNET_DM9051=y
CONFIG_ETH_SPI_ETHERNET_W5500=y
CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH=y
CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
CONFIG_HTTPD_WS_SUPPORT=y
CONFIG_ESP_HTTPS_SERVER_ENABLE=y
CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2048
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096
CONFIG_ESP_INT_WDT_TIMEOUT_MS=1000
CONFIG_ESP_TASK_WDT_PANIC=y
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
CONFIG_ESP_TIMER_TASK_STACK_SIZE=4096
CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8
CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8
CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=16
CONFIG_ESP32_WIFI_CSI_ENABLED=y
# CONFIG_ESP32_WIFI_IRAM_OPT is not set
# CONFIG_ESP32_WIFI_RX_IRAM_OPT is not set
# CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE is not set
CONFIG_ESP_WIFI_FTM_ENABLE=y
CONFIG_FATFS_CODEPAGE_850=y
CONFIG_FATFS_LFN_STACK=y
# CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT is not set
CONFIG_FMB_TIMER_PORT_ENABLED=y
CONFIG_FREERTOS_HZ=1000
# CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION is not set
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024
CONFIG_HEAP_POISONING_LIGHT=y
CONFIG_LOG_DEFAULT_LEVEL_ERROR=y
# CONFIG_LOG_COLORS is not set
CONFIG_LWIP_MAX_SOCKETS=16
CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y
# CONFIG_LWIP_DHCP_DOES_ARP_CHECK is not set
CONFIG_LWIP_DHCP_RESTORE_LAST_IP=y
CONFIG_LWIP_DHCP_OPTIONS_LEN=128
CONFIG_LWIP_TCP_SYNMAXRTX=6
CONFIG_LWIP_TCP_MSS=1436
CONFIG_LWIP_TCP_RTO_TIME=3000
CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=2560
CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y
CONFIG_LWIP_SNTP_MAX_SERVERS=3
CONFIG_LWIP_DHCP_GET_NTP_SRV=y
# CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set
CONFIG_MBEDTLS_PSK_MODES=y
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y
CONFIG_MBEDTLS_SSL_PROTO_DTLS=y
CONFIG_OPENSSL_ASSERT_DO_NOTHING=y
CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048
CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=10
CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=2
CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=4096
# CONFIG_USE_WAKENET is not set
# CONFIG_USE_MULTINET is not set

79
configs/defconfig.esp32s3 Normal file
View file

@ -0,0 +1,79 @@
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP=y
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
CONFIG_ARDUHAL_ESP_LOG=y
CONFIG_TINYUSB_MSC_BUFSIZE=4096
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
CONFIG_COMPILER_CXX_EXCEPTIONS=y
CONFIG_COMPILER_STACK_CHECK_MODE_NORM=y
CONFIG_COMPILER_WARN_WRITE_STRINGS=y
CONFIG_BT_ENABLED=y
CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y
CONFIG_BLE_MESH=y
# CONFIG_SPI_MASTER_ISR_IN_IRAM is not set
# CONFIG_SPI_SLAVE_ISR_IN_IRAM is not set
CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240=y
CONFIG_ESP32S3_SPIRAM_SUPPORT=y
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=0
CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=576
CONFIG_ETH_SPI_ETHERNET_DM9051=y
CONFIG_ETH_SPI_ETHERNET_W5500=y
CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH=y
CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
CONFIG_HTTPD_WS_SUPPORT=y
CONFIG_ESP_HTTPS_SERVER_ENABLE=y
CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO=y
# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set
CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2048
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096
CONFIG_ESP_INT_WDT_TIMEOUT_MS=1000
CONFIG_ESP_TASK_WDT_PANIC=y
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set
CONFIG_ESP_TIMER_TASK_STACK_SIZE=4096
CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8
CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8
CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=16
CONFIG_ESP32_WIFI_CSI_ENABLED=y
# CONFIG_ESP32_WIFI_IRAM_OPT is not set
# CONFIG_ESP32_WIFI_RX_IRAM_OPT is not set
# CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE is not set
CONFIG_ESP_WIFI_FTM_ENABLE=y
CONFIG_FATFS_CODEPAGE_850=y
CONFIG_FATFS_LFN_STACK=y
# CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT is not set
CONFIG_FMB_TIMER_PORT_ENABLED=y
CONFIG_FREERTOS_HZ=1000
# CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION is not set
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024
CONFIG_HEAP_POISONING_LIGHT=y
CONFIG_LOG_DEFAULT_LEVEL_ERROR=y
# CONFIG_LOG_COLORS is not set
CONFIG_LWIP_MAX_SOCKETS=16
CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y
# CONFIG_LWIP_DHCP_DOES_ARP_CHECK is not set
CONFIG_LWIP_DHCP_RESTORE_LAST_IP=y
CONFIG_LWIP_DHCP_OPTIONS_LEN=128
CONFIG_LWIP_TCP_SYNMAXRTX=6
CONFIG_LWIP_TCP_MSS=1436
CONFIG_LWIP_TCP_RTO_TIME=3000
CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=2560
CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y
CONFIG_LWIP_SNTP_MAX_SERVERS=3
CONFIG_LWIP_DHCP_GET_NTP_SRV=y
# CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set
CONFIG_MBEDTLS_PSK_MODES=y
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y
CONFIG_MBEDTLS_SSL_PROTO_DTLS=y
CONFIG_OPENSSL_ASSERT_DO_NOTHING=y
CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048
CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=10
CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=2
CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=4096
CONFIG_SR_WN_MODEL_WN8_QUANT=y
CONFIG_SR_WN_WN8_HIESP=y
CONFIG_SR_MN_ENGLISH=y
CONFIG_SR_MN_EN_MULTINET5_SINGLE_RECOGNITION_QUANT8=y

2
configs/defconfig.opi Normal file
View file

@ -0,0 +1,2 @@
CONFIG_ESPTOOLPY_OCT_FLASH=y
CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_DTR=y

View file

@ -0,0 +1,3 @@
CONFIG_SPIRAM_MODE_OCT=y
CONFIG_SPIRAM_IGNORE_NOTFOUND=y
# CONFIG_SPIRAM_MEMTEST is not set

1
configs/defconfig.qio Normal file
View file

@ -0,0 +1 @@
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y

View file

@ -0,0 +1 @@
# CONFIG_SPIRAM_BOOT_INIT is not set

1
configs/defconfig.qout Normal file
View file

@ -0,0 +1 @@
CONFIG_ESPTOOLPY_FLASHMODE_QOUT=y

15
main/Kconfig.projbuild Normal file
View file

@ -0,0 +1,15 @@
config LIB_BUILDER_FLASHMODE
string
default "qio" if ESPTOOLPY_FLASHMODE_QIO
default "qout" if ESPTOOLPY_FLASHMODE_QOUT
default "dio" if ESPTOOLPY_FLASHMODE_DIO
default "dout" if ESPTOOLPY_FLASHMODE_DOUT
default "opi" if ESPTOOLPY_FLASHMODE_OPI
config LIB_BUILDER_FLASHFREQ
string
default "120m" if ESPTOOLPY_FLASHFREQ_120M
default "80m" if ESPTOOLPY_FLASHFREQ_80M
default "40m" if ESPTOOLPY_FLASHFREQ_40M
default "26m" if ESPTOOLPY_FLASHFREQ_26M
default "20m" if ESPTOOLPY_FLASHFREQ_20M

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,115 +0,0 @@
#!/bin/bash
source ./tools/config.sh
TARGET_PATH=$AR_SDK/bin
mkdir -p $TARGET_PATH || exit 1
if [ "$IDF_TARGET" = "esp32" ]; then
$SED -i '/CONFIG_ESP32_DEFAULT_CPU_FREQ_80/c\# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set' ./sdkconfig
$SED -i '/CONFIG_ESP32_DEFAULT_CPU_FREQ_160/c\CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y' ./sdkconfig
$SED -i '/CONFIG_ESP32_DEFAULT_CPU_FREQ_240/c\# CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set' ./sdkconfig
$SED -i '/CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ/c\CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160' ./sdkconfig
echo "CONFIG_BOOTLOADER_SPI_WP_PIN=7" >> ./sdkconfig
echo "CONFIG_SPIRAM_OCCUPY_HSPI_HOST=y" >> ./sdkconfig
echo "# CONFIG_SPIRAM_OCCUPY_VSPI_HOST is not set" >> ./sdkconfig
echo "# CONFIG_SPIRAM_OCCUPY_NO_HOST is not set" >> ./sdkconfig
elif [ "$IDF_TARGET" = "esp32s2" ]; then
$SED -i '/CONFIG_ESP32S2_DEFAULT_CPU_FREQ_80/c\# CONFIG_ESP32S2_DEFAULT_CPU_FREQ_80 is not set' ./sdkconfig
$SED -i '/CONFIG_ESP32S2_DEFAULT_CPU_FREQ_160/c\CONFIG_ESP32S2_DEFAULT_CPU_FREQ_160 is not set' ./sdkconfig
$SED -i '/CONFIG_ESP32S2_DEFAULT_CPU_FREQ_240/c\# CONFIG_ESP32S2_DEFAULT_CPU_FREQ_240=y' ./sdkconfig
$SED -i '/CONFIG_ESP32S2_DEFAULT_CPU_FREQ_MHZ/c\CONFIG_ESP32S2_DEFAULT_CPU_FREQ_MHZ=240' ./sdkconfig
elif [ "$IDF_TARGET" = "esp32c3" ]; then
$SED -i '/CONFIG_ESP32C3_DEFAULT_CPU_FREQ_80/c\# CONFIG_ESP32C3_DEFAULT_CPU_FREQ_80 is not set' ./sdkconfig
$SED -i '/CONFIG_ESP32C3_DEFAULT_CPU_FREQ_160/c\CONFIG_ESP32C3_DEFAULT_CPU_FREQ_160=y' ./sdkconfig
$SED -i '/CONFIG_ESP32C3_DEFAULT_CPU_FREQ_MHZ/c\CONFIG_ESP32C3_DEFAULT_CPU_FREQ_MHZ=160' ./sdkconfig
fi
if [ "$IDF_TARGET" != "esp32c3" ]; then
$SED -i '/CONFIG_SPIRAM_SPEED_40M/c\# CONFIG_SPIRAM_SPEED_40M is not set' ./sdkconfig
$SED -i '/CONFIG_SPIRAM_SPEED_80M/c\CONFIG_SPIRAM_SPEED_80M=y' ./sdkconfig
echo "CONFIG_SPIRAM_SPEED_80M=y" >> ./sdkconfig
fi
$SED -i '/CONFIG_ESPTOOLPY_FLASHFREQ_80M/c\CONFIG_ESPTOOLPY_FLASHFREQ_80M=y' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHFREQ_40M/c\# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QIO/c\CONFIG_ESPTOOLPY_FLASHMODE_QIO=y' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set' ./sdkconfig
echo "******** BUILDING BOOTLOADER QIO 80MHz *******"
idf.py bootloader || exit 1
cp build/bootloader/bootloader.bin $TARGET_PATH/bootloader_qio_80m.bin
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QOUT/c\CONFIG_ESPTOOLPY_FLASHMODE_QOUT=y' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set' ./sdkconfig
echo "******** BUILDING BOOTLOADER QOUT 80MHz *******"
idf.py bootloader || exit 1
cp build/bootloader/bootloader.bin $TARGET_PATH/bootloader_qout_80m.bin
if [ "$IDF_TARGET" = "esp32" ]; then
echo "CONFIG_SPIRAM_SPIWP_SD3_PIN=7" >> ./sdkconfig
fi
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DIO/c\CONFIG_ESPTOOLPY_FLASHMODE_DIO=y' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set' ./sdkconfig
echo "******** BUILDING BOOTLOADER DIO 80MHz *******"
idf.py bootloader || exit 1
cp build/bootloader/bootloader.bin $TARGET_PATH/bootloader_dio_80m.bin
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DOUT/c\CONFIG_ESPTOOLPY_FLASHMODE_DOUT=y' ./sdkconfig
echo "******** BUILDING BOOTLOADER DOUT 80MHz *******"
idf.py bootloader || exit 1
cp build/bootloader/bootloader.bin $TARGET_PATH/bootloader_dout_80m.bin
$SED -i '/CONFIG_ESPTOOLPY_FLASHFREQ_80M/c\# CONFIG_ESPTOOLPY_FLASHFREQ_80M is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHFREQ_40M/c\CONFIG_ESPTOOLPY_FLASHFREQ_40M=y' ./sdkconfig
if [ "$IDF_TARGET" = "esp32" ]; then
echo "CONFIG_BOOTLOADER_SPI_WP_PIN=7" >> ./sdkconfig
echo "# CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V is not set" >> ./sdkconfig
fi
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QIO/c\CONFIG_ESPTOOLPY_FLASHMODE_QIO=y' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set' ./sdkconfig
echo "******** BUILDING BOOTLOADER QIO 40MHz *******"
idf.py bootloader || exit 1
cp build/bootloader/bootloader.bin $TARGET_PATH/bootloader_qio_40m.bin
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QOUT/c\CONFIG_ESPTOOLPY_FLASHMODE_QOUT=y' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set' ./sdkconfig
echo "******** BUILDING BOOTLOADER QOUT 40MHz *******"
idf.py bootloader || exit 1
cp build/bootloader/bootloader.bin $TARGET_PATH/bootloader_qout_40m.bin
if [ "$IDF_TARGET" = "esp32" ]; then
echo "CONFIG_SPIRAM_SPIWP_SD3_PIN=7" >> ./sdkconfig
fi
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DIO/c\CONFIG_ESPTOOLPY_FLASHMODE_DIO=y' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set' ./sdkconfig
echo "******** BUILDING BOOTLOADER DIO 40MHz *******"
idf.py bootloader || exit 1
cp build/bootloader/bootloader.bin $TARGET_PATH/bootloader_dio_40m.bin
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_QOUT/c\# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DIO/c\# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set' ./sdkconfig
$SED -i '/CONFIG_ESPTOOLPY_FLASHMODE_DOUT/c\CONFIG_ESPTOOLPY_FLASHMODE_DOUT=y' ./sdkconfig
echo "******** BUILDING BOOTLOADER DOUT 40MHz *******"
idf.py bootloader || exit 1
cp build/bootloader/bootloader.bin $TARGET_PATH/bootloader_dout_40m.bin

View file

@ -1,6 +1,9 @@
#!/bin/bash
IDF_COMPS="$IDF_PATH/components"
if [ -z $IDF_PATH ]; then
export IDF_PATH="$PWD/esp-idf"
fi
if [ -z $IDF_BRANCH ]; then
IDF_BRANCH="release/v4.4"
@ -21,6 +24,7 @@ if [ -z $IDF_TARGET ]; then
fi
fi
IDF_COMPS="$IDF_PATH/components"
IDF_TOOLCHAIN="xtensa-$IDF_TARGET-elf"
# Owner of the target ESP32 Arduino repository

13
tools/copy-bootloader.sh Executable file
View file

@ -0,0 +1,13 @@
#!/bin/bash
IDF_TARGET=$1
FLASH_MODE="$2"
FLASH_FREQ="$3"
BOOTCONF=$FLASH_MODE"_$FLASH_FREQ"
source ./tools/config.sh
echo "Copying bootloader: $AR_SDK/bin/bootloader_$BOOTCONF.bin"
mkdir -p "$AR_SDK/bin"
cp "build/bootloader/bootloader.bin" "$AR_SDK/bin/bootloader_$BOOTCONF.bin"

View file

@ -2,10 +2,23 @@
# config
IDF_TARGET=$1
OCT_FLASH=
OCT_PSRAM=
if [ "$2" = "y" ]; then
OCT_FLASH="opi"
else
OCT_FLASH="qspi"
fi
if [ "$3" = "y" ]; then
OCT_PSRAM="opi"
else
OCT_PSRAM="qspi"
fi
MEMCONF=$OCT_FLASH"_$OCT_PSRAM"
source ./tools/config.sh
echo "IDF_TARGET: $IDF_TARGET, PWD: $PWD, OUT: $AR_SDK"
echo "IDF_TARGET: $IDF_TARGET, MEMCONF: $MEMCONF, PWD: $PWD, OUT: $AR_SDK"
# clean previous
if [ -e "$AR_SDK/sdkconfig" ]; then
@ -20,6 +33,9 @@ fi
if [ -e "$AR_SDK/include" ]; then
rm -rf "$AR_SDK/include"
fi
if [ -e "$AR_SDK/$MEMCONF" ]; then
rm -rf "$AR_SDK/$MEMCONF"
fi
mkdir -p "$AR_SDK"
function get_actual_path(){
@ -180,7 +196,7 @@ for item; do
add_next=0
is_script=0
is_dir=0
elif [[ "${item:0:23}" != "-mfix-esp32-psram-cache" && "${item:0:18}" != "-fmacro-prefix-map" ]]; then
elif [[ "${item:0:23}" != "-mfix-esp32-psram-cache" && "${item:0:18}" != "-fmacro-prefix-map" && "${item:0:17}" != "-Wl,--start-group" && "${item:0:15}" != "-Wl,--end-group" ]]; then
LD_FLAGS+="$item "
PIO_LD_FLAGS+="$item "
fi
@ -343,6 +359,7 @@ for item; do
done
fi
done
echo " join(FRAMEWORK_DIR, \"tools\", \"sdk\", \"$IDF_TARGET\", env.BoardConfig().get(\"build.arduino.memory_type\", \"$MEMCONF\"), \"include\")," >> "$AR_PLATFORMIO_PY"
echo " join(FRAMEWORK_DIR, \"cores\", env.BoardConfig().get(\"build.core\"))" >> "$AR_PLATFORMIO_PY"
echo " ]," >> "$AR_PLATFORMIO_PY"
echo "" >> "$AR_PLATFORMIO_PY"
@ -366,7 +383,8 @@ done
echo " LIBPATH=[" >> "$AR_PLATFORMIO_PY"
echo " join(FRAMEWORK_DIR, \"tools\", \"sdk\", \"$IDF_TARGET\", \"lib\")," >> "$AR_PLATFORMIO_PY"
echo " join(FRAMEWORK_DIR, \"tools\", \"sdk\", \"$IDF_TARGET\", \"ld\")" >> "$AR_PLATFORMIO_PY"
echo " join(FRAMEWORK_DIR, \"tools\", \"sdk\", \"$IDF_TARGET\", \"ld\")," >> "$AR_PLATFORMIO_PY"
echo " join(FRAMEWORK_DIR, \"tools\", \"sdk\", \"$IDF_TARGET\", env.BoardConfig().get(\"build.arduino.memory_type\", \"$MEMCONF\"))" >> "$AR_PLATFORMIO_PY"
echo " ]," >> "$AR_PLATFORMIO_PY"
echo "" >> "$AR_PLATFORMIO_PY"
@ -454,3 +472,12 @@ done
# Add IDF versions to sdkconfig
echo "#define CONFIG_ARDUINO_IDF_COMMIT \"$IDF_COMMIT\"" >> "$AR_SDK/include/config/sdkconfig.h"
echo "#define CONFIG_ARDUINO_IDF_BRANCH \"$IDF_BRANCH\"" >> "$AR_SDK/include/config/sdkconfig.h"
# Handle Mem Variants
mkdir -p "$AR_SDK/$MEMCONF/include"
mv "$AR_SDK/include/config/sdkconfig.h" "$AR_SDK/$MEMCONF/include/sdkconfig.h"
for mem_variant in `jq -c '.mem_variants_files[]' configs/builds.json`; do
file=$(echo "$mem_variant" | jq -c '.file' | tr -d '"')
out=$(echo "$mem_variant" | jq -c '.out' | tr -d '"')
mv "$AR_SDK/$out" "$AR_SDK/$MEMCONF/$file"
done;

36
tools/copy-mem-variant.sh Executable file
View file

@ -0,0 +1,36 @@
#!/bin/bash
IDF_TARGET=$1
OCT_FLASH=
OCT_PSRAM=
if [ "$2" = "y" ]; then
OCT_FLASH="opi"
else
OCT_FLASH="qspi"
fi
if [ "$3" = "y" ]; then
OCT_PSRAM="opi"
else
OCT_PSRAM="qspi"
fi
MEMCONF=$OCT_FLASH"_$OCT_PSRAM"
source ./tools/config.sh
echo "IDF_TARGET: $IDF_TARGET, MEMCONF: $MEMCONF"
# Add IDF versions to sdkconfig
echo "#define CONFIG_ARDUINO_IDF_COMMIT \"$IDF_COMMIT\"" >> "build/config/sdkconfig.h"
echo "#define CONFIG_ARDUINO_IDF_BRANCH \"$IDF_BRANCH\"" >> "build/config/sdkconfig.h"
# Handle Mem Variants
rm -rf "$AR_SDK/$MEMCONF"
mkdir -p "$AR_SDK/$MEMCONF/include"
mv "build/config/sdkconfig.h" "$AR_SDK/$MEMCONF/include/sdkconfig.h"
for mem_variant in `jq -c '.mem_variants_files[]' configs/builds.json`; do
file=$(echo "$mem_variant" | jq -c '.file' | tr -d '"')
src=$(echo "$mem_variant" | jq -c '.src' | tr -d '"')
cp "$src" "$AR_SDK/$MEMCONF/$file"
done;

View file

@ -12,13 +12,10 @@ fi
#
IDF_REPO_URL="https://github.com/espressif/esp-idf.git"
if [ -z "$IDF_PATH" ]; then
if [ ! -d "$IDF_PATH" ]; then
echo "ESP-IDF is not installed! Installing local copy"
git clone $IDF_REPO_URL -b $IDF_BRANCH
idf_was_installed="1"
if ! [ -d esp-idf ]; then
git clone $IDF_REPO_URL -b $IDF_BRANCH
fi
export IDF_PATH="$AR_ROOT/esp-idf"
fi
if [ "$IDF_COMMIT" ]; then
@ -26,6 +23,20 @@ if [ "$IDF_COMMIT" ]; then
commit_predefined="1"
fi
#
# UPDATE ESP-IDF TOOLS AND MODULES
#
if [ ! -x $idf_was_installed ] || [ ! -x $commit_predefined ]; then
git -C $IDF_PATH submodule update --init --recursive
$IDF_PATH/install.sh
fi
#
# SETUP ESP-IDF ENV
#
source $IDF_PATH/export.sh
export IDF_COMMIT=$(git -C "$IDF_PATH" rev-parse --short HEAD)
export IDF_BRANCH=$(git -C "$IDF_PATH" symbolic-ref --short HEAD)
@ -88,17 +99,3 @@ if [ "$GITHUB_EVENT_NAME" == "schedule" ] || [ "$GITHUB_EVENT_NAME" == "reposito
export AR_HAS_BRANCH
export AR_HAS_PR
fi
#
# UPDATE IDF MODULES
#
if [ -x $idf_was_installed ]; then
echo "ESP-IDF is already installed at: $IDF_PATH"
else
git -C $IDF_PATH submodule update --init --recursive
cd $IDF_PATH && python -m pip install -r requirements.txt
fi
cd "$AR_ROOT"
$IDF_PATH/install.sh
source $IDF_PATH/export.sh

View file

@ -3,7 +3,8 @@
source ./tools/config.sh
CAMERA_REPO_URL="https://github.com/espressif/esp32-camera.git"
FACE_REPO_URL="https://github.com/espressif/esp-dl.git"
DL_REPO_URL="https://github.com/espressif/esp-dl.git"
SR_REPO_URL="https://github.com/espressif/esp-sr.git"
RMAKER_REPO_URL="https://github.com/espressif/esp-rainmaker.git"
DSP_REPO_URL="https://github.com/espressif/esp-dsp.git"
LITTLEFS_REPO_URL="https://github.com/joltwallet/esp_littlefs.git"
@ -18,19 +19,31 @@ if [ ! -d "$AR_COMPS/arduino" ]; then
fi
if [ -z $AR_BRANCH ]; then
has_ar_branch=`git_branch_exists "$AR_COMPS/arduino" "idf-$IDF_BRANCH"`
if [ "$has_ar_branch" == "1" ]; then
export AR_BRANCH="idf-$IDF_BRANCH"
if [ -z $GITHUB_HEAD_REF ]; then
current_branch=`git branch --show-current`
else
has_ar_branch=`git_branch_exists "$AR_COMPS/arduino" "$AR_PR_TARGET_BRANCH"`
current_branch="$GITHUB_HEAD_REF"
fi
echo "Current Branch: $current_branch"
if [[ "$current_branch" != "master" && `git_branch_exists "$AR_COMPS/arduino" "$current_branch"` == "1" ]]; then
export AR_BRANCH="$current_branch"
else
has_ar_branch=`git_branch_exists "$AR_COMPS/arduino" "idf-$IDF_BRANCH"`
if [ "$has_ar_branch" == "1" ]; then
export AR_BRANCH="$AR_PR_TARGET_BRANCH"
export AR_BRANCH="idf-$IDF_BRANCH"
else
has_ar_branch=`git_branch_exists "$AR_COMPS/arduino" "$AR_PR_TARGET_BRANCH"`
if [ "$has_ar_branch" == "1" ]; then
export AR_BRANCH="$AR_PR_TARGET_BRANCH"
fi
fi
fi
fi
if [ "$AR_BRANCH" ]; then
git -C "$AR_COMPS/arduino" checkout "$AR_BRANCH"
git -C "$AR_COMPS/arduino" checkout "$AR_BRANCH" && \
git -C "$AR_COMPS/arduino" fetch && \
git -C "$AR_COMPS/arduino" pull --ff-only
fi
if [ $? -ne 0 ]; then exit 1; fi
@ -51,18 +64,26 @@ fi
if [ $? -ne 0 ]; then exit 1; fi
#
# CLONE/UPDATE ESP-FACE
# CLONE/UPDATE ESP-DL
#
if [ ! -d "$AR_COMPS/esp-face" ]; then
git clone $FACE_REPO_URL "$AR_COMPS/esp-face"
# cml=`cat "$AR_COMPS/esp-face/CMakeLists.txt"`
# echo "if(IDF_TARGET STREQUAL \"esp32\" OR IDF_TARGET STREQUAL \"esp32s2\" OR IDF_TARGET STREQUAL \"esp32s3\")" > "$AR_COMPS/esp-face/CMakeLists.txt"
# echo "$cml" >> "$AR_COMPS/esp-face/CMakeLists.txt"
# echo "endif()" >> "$AR_COMPS/esp-face/CMakeLists.txt"
if [ ! -d "$AR_COMPS/esp-dl" ]; then
git clone $DL_REPO_URL "$AR_COMPS/esp-dl"
else
git -C "$AR_COMPS/esp-face" fetch && \
git -C "$AR_COMPS/esp-face" pull --ff-only
git -C "$AR_COMPS/esp-dl" fetch && \
git -C "$AR_COMPS/esp-dl" pull --ff-only
fi
if [ $? -ne 0 ]; then exit 1; fi
#
# CLONE/UPDATE ESP-SR
#
if [ ! -d "$AR_COMPS/esp-sr" ]; then
git clone $SR_REPO_URL "$AR_COMPS/esp-sr"
else
git -C "$AR_COMPS/esp-sr" fetch && \
git -C "$AR_COMPS/esp-sr" pull --ff-only
fi
if [ $? -ne 0 ]; then exit 1; fi
@ -85,8 +106,13 @@ if [ $? -ne 0 ]; then exit 1; fi
#
if [ ! -d "$AR_COMPS/esp-rainmaker" ]; then
git clone $RMAKER_REPO_URL "$AR_COMPS/esp-rainmaker"
git -C "$AR_COMPS/esp-rainmaker" checkout f1b82c71c4536ab816d17df016d8afe106bd60e3
git clone $RMAKER_REPO_URL "$AR_COMPS/esp-rainmaker" && \
git -C "$AR_COMPS/esp-rainmaker" submodule update --init --recursive
# git -C "$AR_COMPS/esp-rainmaker" checkout f1b82c71c4536ab816d17df016d8afe106bd60e3
else
git -C "$AR_COMPS/esp-rainmaker" fetch && \
git -C "$AR_COMPS/esp-rainmaker" pull --ff-only && \
git -C "$AR_COMPS/esp-rainmaker" submodule update --init --recursive
fi
if [ $? -ne 0 ]; then exit 1; fi
@ -96,10 +122,10 @@ if [ $? -ne 0 ]; then exit 1; fi
if [ ! -d "$AR_COMPS/esp-dsp" ]; then
git clone $DSP_REPO_URL "$AR_COMPS/esp-dsp"
cml=`cat "$AR_COMPS/esp-dsp/CMakeLists.txt"`
echo "if(IDF_TARGET STREQUAL \"esp32\" OR IDF_TARGET STREQUAL \"esp32s2\" OR IDF_TARGET STREQUAL \"esp32s3\")" > "$AR_COMPS/esp-dsp/CMakeLists.txt"
echo "$cml" >> "$AR_COMPS/esp-dsp/CMakeLists.txt"
echo "endif()" >> "$AR_COMPS/esp-dsp/CMakeLists.txt"
# cml=`cat "$AR_COMPS/esp-dsp/CMakeLists.txt"`
# echo "if(IDF_TARGET STREQUAL \"esp32\" OR IDF_TARGET STREQUAL \"esp32s2\" OR IDF_TARGET STREQUAL \"esp32s3\")" > "$AR_COMPS/esp-dsp/CMakeLists.txt"
# echo "$cml" >> "$AR_COMPS/esp-dsp/CMakeLists.txt"
# echo "endif()" >> "$AR_COMPS/esp-dsp/CMakeLists.txt"
else
git -C "$AR_COMPS/esp-dsp" fetch && \
git -C "$AR_COMPS/esp-dsp" pull --ff-only