diff --git a/build.sh b/build.sh index 50e376c2a..a1de00765 100755 --- a/build.sh +++ b/build.sh @@ -226,7 +226,7 @@ for target_json in `jq -c '.targets[]' configs/builds.json`; do idf.py -DIDF_TARGET="$target" -DSDKCONFIG_DEFAULTS="$idf_libs_configs" idf-libs if [ $? -ne 0 ]; then exit 1; fi - if [ "$target" == "esp32s3" ]; then + if [ "$target" == "esp32s3" ] || [ "$target" == "esp32p4" ]; then idf.py -DIDF_TARGET="$target" -DSDKCONFIG_DEFAULTS="$idf_libs_configs" srmodels_bin if [ $? -ne 0 ]; then exit 1; fi AR_SDK="$AR_TOOLS/esp32-arduino-libs/$target" diff --git a/clean.sh b/clean.sh index 5fbe754fa..41163b44c 100755 --- a/clean.sh +++ b/clean.sh @@ -1,2 +1,2 @@ #!/bin/bash -rm -rf out build dist managed_components sdkconfig +rm -rf build dist managed_components out sdkconfig dependencies.lock diff --git a/configs/builds.json b/configs/builds.json index 036f0558c..d40c15d2f 100644 --- a/configs/builds.json +++ b/configs/builds.json @@ -60,7 +60,7 @@ }, { "target": "esp32p4", - "features":["qio_ram"], + "features":["qio_ram","esp_sr"], "idf_libs":["qio","80m_200m"], "bootloaders":[ ["qio","80m_200m"], diff --git a/configs/defconfig.common b/configs/defconfig.common index 2f34548aa..68f1ad767 100644 --- a/configs/defconfig.common +++ b/configs/defconfig.common @@ -57,6 +57,7 @@ CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y CONFIG_LWIP_TCP_SYNMAXRTX=6 CONFIG_LWIP_TCP_MSS=1436 CONFIG_LWIP_TCP_RTO_TIME=3000 +CONFIG_LWIP_TCP_SACK_OUT=y CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=4096 CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y CONFIG_LWIP_MAX_SOCKETS=16 diff --git a/configs/defconfig.esp32c2 b/configs/defconfig.esp32c2 index 9cc76880e..baaaeb7c7 100644 --- a/configs/defconfig.esp32c2 +++ b/configs/defconfig.esp32c2 @@ -7,6 +7,7 @@ CONFIG_BTDM_CTRL_MODE_BTDM=n CONFIG_BT_BLUEDROID_ENABLED=n CONFIG_BT_NIMBLE_ENABLED=y CONFIG_BT_NIMBLE_BLUFI_ENABLE=y +CONFIG_BT_NIMBLE_NVS_PERSIST=y CONFIG_RTC_CLK_CAL_CYCLES=576 # CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304 diff --git a/configs/defconfig.esp32c3 b/configs/defconfig.esp32c3 index d860aed26..4b7009786 100644 --- a/configs/defconfig.esp32c3 +++ b/configs/defconfig.esp32c3 @@ -7,6 +7,7 @@ CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n CONFIG_BTDM_CTRL_MODE_BTDM=n CONFIG_BT_BLUEDROID_ENABLED=n CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_NVS_PERSIST=y CONFIG_ESP_WIFI_11KV_SUPPORT=y CONFIG_ESP_WIFI_SCAN_CACHE=y CONFIG_ESP_WIFI_MBO_SUPPORT=y diff --git a/configs/defconfig.esp32c5 b/configs/defconfig.esp32c5 index b6354c2e9..2ad03f3ac 100644 --- a/configs/defconfig.esp32c5 +++ b/configs/defconfig.esp32c5 @@ -11,6 +11,7 @@ CONFIG_BTDM_CTRL_MODE_BTDM=n CONFIG_BT_BLUEDROID_ENABLED=n CONFIG_BT_NIMBLE_ENABLED=y CONFIG_BT_NIMBLE_BLUFI_ENABLE=y +CONFIG_BT_NIMBLE_NVS_PERSIST=y CONFIG_RTC_CLK_CAL_CYCLES=576 # CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304 diff --git a/configs/defconfig.esp32c6 b/configs/defconfig.esp32c6 index a10bf3335..c77b4e65a 100644 --- a/configs/defconfig.esp32c6 +++ b/configs/defconfig.esp32c6 @@ -5,6 +5,7 @@ CONFIG_BTDM_CTRL_MODE_BTDM=n CONFIG_BT_BLUEDROID_ENABLED=n CONFIG_BT_NIMBLE_ENABLED=y CONFIG_BT_NIMBLE_BLUFI_ENABLE=y +CONFIG_BT_NIMBLE_NVS_PERSIST=y CONFIG_RTC_CLK_CAL_CYCLES=576 # CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304 diff --git a/configs/defconfig.esp32h2 b/configs/defconfig.esp32h2 index 89bec3064..61ff6d17a 100644 --- a/configs/defconfig.esp32h2 +++ b/configs/defconfig.esp32h2 @@ -5,6 +5,7 @@ CONFIG_BTDM_CTRL_MODE_BTDM=n CONFIG_BT_BLUEDROID_ENABLED=n CONFIG_BT_NIMBLE_ENABLED=y CONFIG_BT_NIMBLE_BLUFI_ENABLE=y +CONFIG_BT_NIMBLE_NVS_PERSIST=y CONFIG_RTC_CLK_CAL_CYCLES=576 # CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304 diff --git a/configs/defconfig.esp32p4 b/configs/defconfig.esp32p4 index fcf5f28d3..74b8ac880 100644 --- a/configs/defconfig.esp32p4 +++ b/configs/defconfig.esp32p4 @@ -3,6 +3,7 @@ CONFIG_SPIRAM=y # CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set CONFIG_LWIP_TCP_SACK_OUT=y +# ESP-Hosted-MCU CONFIG_SLAVE_IDF_TARGET_ESP32C6=y CONFIG_ESP_SDIO_BUS_WIDTH=4 CONFIG_ESP_SDIO_CLOCK_FREQ_KHZ=40000 @@ -13,6 +14,16 @@ CONFIG_ESP_SDIO_PIN_D1=15 CONFIG_ESP_SDIO_PIN_D2=16 CONFIG_ESP_SDIO_PIN_D3=17 +# Bluetooth through ESP-Hosted-MCU +CONFIG_BT_ENABLED=y +CONFIG_BT_CONTROLLER_DISABLED=y +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_NVS_PERSIST=y +CONFIG_BT_NIMBLE_TRANSPORT_UART=n +CONFIG_ESP_HOSTED_ENABLE_BT_NIMBLE=y +CONFIG_ESP_HOSTED_NIMBLE_HCI_VHCI=y + # RGB Display Optimizations CONFIG_LCD_RGB_ISR_IRAM_SAFE=y CONFIG_LCD_RGB_RESTART_IN_VSYNC=y diff --git a/configs/defconfig.esp32s3 b/configs/defconfig.esp32s3 index c80667029..12aec7c47 100644 --- a/configs/defconfig.esp32s3 +++ b/configs/defconfig.esp32s3 @@ -4,6 +4,7 @@ CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n CONFIG_BTDM_CTRL_MODE_BTDM=n CONFIG_BT_BLUEDROID_ENABLED=n CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_NVS_PERSIST=y CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_SPIRAM=y diff --git a/tools/copy-libs.sh b/tools/copy-libs.sh index 7c302ab66..a49b851f0 100755 --- a/tools/copy-libs.sh +++ b/tools/copy-libs.sh @@ -318,16 +318,23 @@ done mkdir -p "$AR_SDK" +# Keep only -march, -mabi and -mlongcalls flags for Assembler +PIOARDUINO_AS_FLAGS=$( + { + echo "$PIOARDUINO_CXX_FLAGS" | grep -oE '\-march=[^[:space:]]*|\-mabi=[^[:space:]]*|\-mlongcalls' + echo "$PIOARDUINO_CC_FLAGS" | grep -oE '\-march=[^[:space:]]*|\-mabi=[^[:space:]]*|\-mlongcalls' + } | awk '!seen[$0]++' | paste -sd ' ' +) + # start generation of pioarduino-build.py AR_PIOARDUINO_PY="$AR_SDK/pioarduino-build.py" cat configs/pioarduino_start.txt > "$AR_PIOARDUINO_PY" echo " ASFLAGS=[" >> "$AR_PIOARDUINO_PY" -if [ "$IS_XTENSA" = "y" ]; then - echo " \"-mlongcalls\"" >> "$AR_PIOARDUINO_PY" -else - echo " \"-march=rv32imc\"" >> "$AR_PIOARDUINO_PY" -fi +set -- $PIOARDUINO_AS_FLAGS +for item; do + echo " \"$item\"," >> "$AR_PIOARDUINO_PY" +done echo " ]," >> "$AR_PIOARDUINO_PY" echo "" >> "$AR_PIOARDUINO_PY"