From 0624c6b82630310c4ca66535684e1ea60fb07ab3 Mon Sep 17 00:00:00 2001 From: kerms Date: Sun, 17 Mar 2024 19:50:29 +0800 Subject: [PATCH] feat(esp32s3) add support for esp32s3 --- .github/workflows/main.yml | 12 +- README.md | 29 + README_CN.md | 497 ++++--- components/DAP/DAP_config.h | 53 +- components/DAP/cmsis-dap/include/DAP.h | 2 +- .../DAP/cmsis-dap/include/gpio_common.h | 3 +- components/DAP/cmsis-dap/include/gpio_op.h | 30 +- components/DAP/cmsis-dap/source/DAP.c | 2 +- components/DAP/cmsis-dap/source/SW_DP.c | 2 +- components/DAP/cmsis-dap/source/spi_op.c | 12 +- components/DAP/cmsis-dap/source/spi_switch.c | 123 ++ sdkconfig.defaults.esp32c3 | 9 +- sdkconfig.defaults.esp32s3 | 1306 +++++++++++++++++ 13 files changed, 1823 insertions(+), 257 deletions(-) create mode 100644 sdkconfig.defaults.esp32s3 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f593cb2..3b025b0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,7 +17,7 @@ jobs: continue-on-error: false strategy: matrix: - target-hardware: [esp32c3,esp32] + target-hardware: [esp32c3,esp32,esp32s3] steps: @@ -77,6 +77,16 @@ jobs: command: esptool.py --chip ${{ matrix.target-hardware }} merge_bin -o build/wireless_tools_esp32_full.bin 0x0 build/bootloader/bootloader.bin 0xF000 build/partition_table/partition-table.bin 0x20000 build/wireless_tools_esp32.bin + - name: merge bin files (esp32s3) + if: matrix.target-hardware == 'esp32s3' + uses: espressif/esp-idf-ci-action@v1 + with: + esp_idf_version: v5.2.1 + target: ${{ matrix.target-hardware }} + path: './' + command: esptool.py --chip ${{ matrix.target-hardware }} merge_bin -o build/wireless_tools_esp32_full.bin 0x0 build/bootloader/bootloader.bin 0xF000 build/partition_table/partition-table.bin 0x20000 build/wireless_tools_esp32.bin + + - name: Upload firmware uses: actions/upload-artifact@v2 with: diff --git a/README.md b/README.md index 9d3bb47..f27b800 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ For Keil users, we now also support [elaphureLink](https://github.com/windowsair 1. SoC Compatibility - [x] ESP32 - [x] ESP32C3 + - [x] ESP32S3 2. Debug Communication Mode - [x] SWD @@ -101,6 +102,34 @@ There is built-in ipv4 only mDNS server. You can access the device using `dap.lo | TVCC | 3V3 | | GND | GND | + + +
+ESP32S3 + +| SWD | | +|----------------|--------| +| SWCLK | GPIO12 | +| SWDIO | GPIO11 | +| TVCC | 3V3 | +| GND | GND | + + +-------------- + + +| JTAG | | +|--------------------|--------| +| TCK | GPIO12 | +| TMS | GPIO11 | +| TDI | GPIO10 | +| TDO | GPIO9 | +| nTRST \(optional\) | GPIO14 | +| nRESET | GPIO13 | +| TVCC | 3V3 | +| GND | GND | + +
diff --git a/README_CN.md b/README_CN.md index 03cc781..43a55a6 100644 --- a/README_CN.md +++ b/README_CN.md @@ -1,235 +1,262 @@ -## 简介 - -只需要**一枚ESP芯片**即可开始无线调试!通过USBIP协议栈和CMSIS-DAP协议栈实现。 - -> 👉在5米范围内,擦除并烧写100kb大小的固件(Hex固件) : - -

- ----- - -对于Keil用户,我们现在支持[elaphureLink](https://github.com/windowsair/elaphureLink)。无需usbip即可开始您的无线调试之旅! - -## 特性 - -1. 支持的ESP芯片 - - [x] ESP32 - - [x] ESP32C3 - -2. 支持的调试接口: - - [x] SWD - - [x] JTAG - -3. 支持的USB通信协议: - - [x] USB-HID - - [x] WCID & WinUSB (默认) -4. 支持的调试跟踪器: - - [x] TCP转发的串口 - -5. 其它 - - [x] 通过SPI接口加速的SWD协议(最高可达40MHz) - - [x] 支持[elaphureLink](https://github.com/windowsair/elaphureLink),无需驱动的快速Keil调试 - - [x] ... - -## 连接你的开发板 - -### WIFI连接 - - - -固件中已经内置了一个mDNS服务。你可以通过`dap.local`的地址访问到设备。 - -![mDNS](https://user-images.githubusercontent.com/17078589/149659052-7b29533f-9660-4811-8125-f8f50490d762.png) - - -### 调试接口连接 - -
-ESP32C3 - -| SWD | | -|----------------|--------| -| SWCLK | GPIO6 | -| SWDIO | GPIO7 | -| TVCC | 3V3 | -| GND | GND | - --------------- - -| JTAG | | -|--------------------|---------| -| TCK | GPIO6 | -| TMS | GPIO7 | -| TDI | GPIO9 | -| TDO | GPIO8 | -| nTRST \(optional\) | GPIO4 | -| nRESET | GPIO5 | -| TVCC | 3V3 | -| GND | GND | - - -
- -
-ESP32 - -| SWD | | -|----------------|--------| -| SWCLK | GPIO14 | -| SWDIO | GPIO13 | -| TVCC | 3V3 | -| GND | GND | - --------------- - -| JTAG | | -|--------------------|---------| -| TCK | GPIO14 | -| TMS | GPIO13 | -| TDI | GPIO18 | -| TDO | GPIO19 | -| nTRST \(optional\) | GPIO25 | -| nRESET | GPIO26 | -| TVCC | 3V3 | -| GND | GND | - -
- - ----- - -## 编译固件并烧写 - -你可以在本地构建或使用Github Action在线构建固件,然后下载固件进行烧写。 - - -### 在本地构建并烧写 - -
-ESP32C3 - -1. 获取esp-idf - - 目前,请考虑使用esp-idf v5.2.1: https://github.com/espressif/esp-idf/releases/tag/v5.2.1 - -2. 编译和烧写 - - 使用ESP-IDF编译系统进行构建。 - 更多的信息,请见:[Build System](https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/build-system.html "Build System") - - -下面例子展示了在Windows上完成这些任务的一种可行方法: - -```bash -idf.py set-target esp32c3 -# 编译 -idf.py build -# 烧写 -idf.py -p /dev/ttyS5 flash -``` - - -> 位于项目根目录的`idf.py`脚本仅适用于较老的ESP8266设备,请不要在ESP32设备上使用。 - -
- - -> 我们还提供了预编译固件用于快速评估。详见 [Releases](https://github.com/windowsair/wireless-esp8266-dap/releases) - - - -## 使用 - -1. 获取USBIP项目 - -- Windows: [usbip-win](https://github.com/cezanne/usbip-win)。 -- Linux:USBIP作为Linux内核的一部分发布,但我们还没有在Linux平台上测试,下面的说明都是在Windows平台下的。 - -2. 启动ESP8266并且把ESP8266连接到同一个WIFI下。 - -3. 通过USBIP连接ESP8266: - -```bash -# 仅HID模式,用于SourceForge上的预编译版本或者旧的USBIP版本。 -.\usbip.exe -D -a 1-1 - -# 👉 推荐。HID模式或者WinUSB模式。用于usbip-win 0.3.0 kmdf ude版本。 -.\usbip.exe attach_ude -r -b 1-1 -``` - -如果一切顺利,你应该看到你的设备被连接,如下图所示。 - -![image](https://user-images.githubusercontent.com/17078589/107849548-f903d780-6e36-11eb-846f-3eaf0c0dc089.png) - -下面我们用keil MDK来测试: - -![target](https://user-images.githubusercontent.com/17078589/73830040-eb3c6f00-483e-11ea-85ee-c40b68a836b2.png) - ------- - -## 经常会问的问题 - -### Keil提示“RDDI-DAP ERROR”或“SWD/JTAG Communication Failure” - -1. 检查线路连接。别忘了连接3V3引脚。 -2. 检查网络连接是否稳定。 - - -## DAP很慢或者不稳定 - -注意,本项目受限于周围的网络环境。如果你在电脑上使用热点进行连接,你可以尝试使用wireshark等工具对网络连接进行分析。当调试闲置时,线路上应保持静默,而正常工作时一般不会发生太多的丢包。 - -一些局域网广播数据包可能会造成严重影响,这些包可能由这些应用发出: -- DropBox LAN Sync -- Logitech Arx Control -- ... - - -周围的射频环境同样会造成影响,此外距离、网卡性能等也可能是需要考虑的。 - - -## 文档 - -### 速度策略 - -单独使用ESP8266通用IO时的最大翻转速率只有大概2MHz。当你选择最大时钟时,我们需要采取以下操作: - -- `clock < 2Mhz` :与你选择的时钟速度类似。 -- `2MHz <= clock < 10MHz` :使用最快的纯IO速度。 -- `clock >= 10MHz` :使用40MHz时钟的SPI加速。 - -> 请注意,这个项目最重要的速度制约因素仍然是TCP连接速度。 - -### 对于OpenOCD用户 - -这个项目最初是为在Keil上运行而设计的,但现在你也可以在OpenOCD上通过它来烧录程序。 -注意,如果你想使用40MHz的SPI加速器,你需要在连接目标设备后指定速度,否则会在开始时失败。 - -```bash -# 在使用flash指令前需要先运行: -> adapter speed 10000 - -> halt -> flash write_image [erase] [unlock] filename [offset] [type] -``` - -> Keil的操作时序与OpenOCD的有些不同。例如,OpenOCD在读取 "IDCODE "寄存器之前缺少SWD线复位序列。 - -# 致谢 - -归功于以下项目、人员和组织。 - -> - https://www.github.com/windowsair/wireless-esp8266-dap origin of this project -> - https://github.com/thevoidnn/esp8266-wifi-cmsis-dap for adapter firmware based on CMSIS-DAP v1.0 -> - https://github.com/ARM-software/CMSIS_5 for CMSIS -> - https://github.com/cezanne/usbip-win for usbip windows - -- [@windowsair](https://www.github.com/windowsair/wireless-esp8266-dap) -- [@HeavenSpree](https://www.github.com/HeavenSpree) -- [@Zy19930907](https://www.github.com/Zy19930907) -- [@caiguang1997](https://www.github.com/caiguang1997) -- [@ZhuYanzhen1](https://www.github.com/ZhuYanzhen1) - - -## 许可证 -[Apache 2.0 许可证](LICENSE) +## 简介 + +只需要**一枚ESP芯片**即可开始无线调试!通过USBIP协议栈和CMSIS-DAP协议栈实现。 + +> 👉在5米范围内,擦除并烧写100kb大小的固件(Hex固件) : + +

+ +---- + +对于Keil用户,我们现在支持[elaphureLink](https://github.com/windowsair/elaphureLink)。无需usbip即可开始您的无线调试之旅! + +## 特性 + +1. 支持的ESP芯片 + - [x] ESP32 + - [x] ESP32C3 + - [x] ESP32S3 + +2. 支持的调试接口: + - [x] SWD + - [x] JTAG + +3. 支持的USB通信协议: + - [x] USB-HID + - [x] WCID & WinUSB (默认) +4. 支持的调试跟踪器: + - [x] TCP转发的串口 + +5. 其它 + - [x] 通过SPI接口加速的SWD协议(最高可达40MHz) + - [x] 支持[elaphureLink](https://github.com/windowsair/elaphureLink),无需驱动的快速Keil调试 + - [x] ... + +## 连接你的开发板 + +### WIFI连接 + + + +固件中已经内置了一个mDNS服务。你可以通过`dap.local`的地址访问到设备。 + +![mDNS](https://user-images.githubusercontent.com/17078589/149659052-7b29533f-9660-4811-8125-f8f50490d762.png) + + +### 调试接口连接 + +
+ESP32C3 + +| SWD | | +|----------------|--------| +| SWCLK | GPIO6 | +| SWDIO | GPIO7 | +| TVCC | 3V3 | +| GND | GND | + +-------------- + +| JTAG | | +|--------------------|---------| +| TCK | GPIO6 | +| TMS | GPIO7 | +| TDI | GPIO9 | +| TDO | GPIO8 | +| nTRST \(optional\) | GPIO4 | +| nRESET | GPIO5 | +| TVCC | 3V3 | +| GND | GND | + + +
+ +
+ESP32 + +| SWD | | +|----------------|--------| +| SWCLK | GPIO14 | +| SWDIO | GPIO13 | +| TVCC | 3V3 | +| GND | GND | + +-------------- + +| JTAG | | +|--------------------|---------| +| TCK | GPIO14 | +| TMS | GPIO13 | +| TDI | GPIO18 | +| TDO | GPIO19 | +| nTRST \(optional\) | GPIO25 | +| nRESET | GPIO26 | +| TVCC | 3V3 | +| GND | GND | + +
+ +
+ESP32S3 + +| SWD | | +|----------------|--------| +| SWCLK | GPIO12 | +| SWDIO | GPIO11 | +| TVCC | 3V3 | +| GND | GND | + + +-------------- + + +| JTAG | | +|--------------------|--------| +| TCK | GPIO12 | +| TMS | GPIO11 | +| TDI | GPIO10 | +| TDO | GPIO9 | +| nTRST \(optional\) | GPIO14 | +| nRESET | GPIO13 | +| TVCC | 3V3 | +| GND | GND | + + + +---- + +## 编译固件并烧写 + +你可以在本地构建或使用Github Action在线构建固件,然后下载固件进行烧写。 + + +### 在本地构建并烧写 + +
+ESP32C3 + +1. 获取esp-idf + + 目前,请考虑使用esp-idf v5.2.1: https://github.com/espressif/esp-idf/releases/tag/v5.2.1 + +2. 编译和烧写 + + 使用ESP-IDF编译系统进行构建。 + 更多的信息,请见:[Build System](https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/build-system.html "Build System") + + +下面例子展示了在Windows上完成这些任务的一种可行方法: + +```bash +idf.py set-target esp32c3 +# 编译 +idf.py build +# 烧写 +idf.py -p /dev/ttyS5 flash +``` + + +> 位于项目根目录的`idf.py`脚本仅适用于较老的ESP8266设备,请不要在ESP32设备上使用。 + +
+ + +> 我们还提供了预编译固件用于快速评估。详见 [Releases](https://github.com/windowsair/wireless-esp8266-dap/releases) + + + +## 使用 + +1. 获取USBIP项目 + +- Windows: [usbip-win](https://github.com/cezanne/usbip-win)。 +- Linux:USBIP作为Linux内核的一部分发布,但我们还没有在Linux平台上测试,下面的说明都是在Windows平台下的。 + +2. 启动ESP8266并且把ESP8266连接到同一个WIFI下。 + +3. 通过USBIP连接ESP8266: + +```bash +# 仅HID模式,用于SourceForge上的预编译版本或者旧的USBIP版本。 +.\usbip.exe -D -a 1-1 + +# 👉 推荐。HID模式或者WinUSB模式。用于usbip-win 0.3.0 kmdf ude版本。 +.\usbip.exe attach_ude -r -b 1-1 +``` + +如果一切顺利,你应该看到你的设备被连接,如下图所示。 + +![image](https://user-images.githubusercontent.com/17078589/107849548-f903d780-6e36-11eb-846f-3eaf0c0dc089.png) + +下面我们用keil MDK来测试: + +![target](https://user-images.githubusercontent.com/17078589/73830040-eb3c6f00-483e-11ea-85ee-c40b68a836b2.png) + +------ + +## 经常会问的问题 + +### Keil提示“RDDI-DAP ERROR”或“SWD/JTAG Communication Failure” + +1. 检查线路连接。别忘了连接3V3引脚。 +2. 检查网络连接是否稳定。 + + +## DAP很慢或者不稳定 + +注意,本项目受限于周围的网络环境。如果你在电脑上使用热点进行连接,你可以尝试使用wireshark等工具对网络连接进行分析。当调试闲置时,线路上应保持静默,而正常工作时一般不会发生太多的丢包。 + +一些局域网广播数据包可能会造成严重影响,这些包可能由这些应用发出: +- DropBox LAN Sync +- Logitech Arx Control +- ... + + +周围的射频环境同样会造成影响,此外距离、网卡性能等也可能是需要考虑的。 + + +## 文档 + +### 速度策略 + +单独使用ESP8266通用IO时的最大翻转速率只有大概2MHz。当你选择最大时钟时,我们需要采取以下操作: + +- `clock < 2Mhz` :与你选择的时钟速度类似。 +- `2MHz <= clock < 10MHz` :使用最快的纯IO速度。 +- `clock >= 10MHz` :使用40MHz时钟的SPI加速。 + +> 请注意,这个项目最重要的速度制约因素仍然是TCP连接速度。 + +### 对于OpenOCD用户 + +这个项目最初是为在Keil上运行而设计的,但现在你也可以在OpenOCD上通过它来烧录程序。 +注意,如果你想使用40MHz的SPI加速器,你需要在连接目标设备后指定速度,否则会在开始时失败。 + +```bash +# 在使用flash指令前需要先运行: +> adapter speed 10000 + +> halt +> flash write_image [erase] [unlock] filename [offset] [type] +``` + +> Keil的操作时序与OpenOCD的有些不同。例如,OpenOCD在读取 "IDCODE "寄存器之前缺少SWD线复位序列。 + +# 致谢 + +归功于以下项目、人员和组织。 + +> - https://www.github.com/windowsair/wireless-esp8266-dap origin of this project +> - https://github.com/thevoidnn/esp8266-wifi-cmsis-dap for adapter firmware based on CMSIS-DAP v1.0 +> - https://github.com/ARM-software/CMSIS_5 for CMSIS +> - https://github.com/cezanne/usbip-win for usbip windows + +- [@windowsair](https://www.github.com/windowsair/wireless-esp8266-dap) +- [@HeavenSpree](https://www.github.com/HeavenSpree) +- [@Zy19930907](https://www.github.com/Zy19930907) +- [@caiguang1997](https://www.github.com/caiguang1997) +- [@ZhuYanzhen1](https://www.github.com/ZhuYanzhen1) + + +## 许可证 +[Apache 2.0 许可证](LICENSE) diff --git a/components/DAP/DAP_config.h b/components/DAP/DAP_config.h index b00d977..20f7b31 100644 --- a/components/DAP/DAP_config.h +++ b/components/DAP/DAP_config.h @@ -60,6 +60,7 @@ #include "esp8266/pin_mux_register.h" #elif defined CONFIG_IDF_TARGET_ESP32 #elif defined CONFIG_IDF_TARGET_ESP32C3 +#elif defined CONFIG_IDF_TARGET_ESP32S3 #else #error unknown hardware #endif @@ -99,6 +100,8 @@ This information includes: #elif defined CONFIG_IDF_TARGET_ESP32C3 #define CPU_CLOCK 16000000 // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<160MHz +#elif defined CONFIG_IDF_TARGET_ESP32S3 + #define CPU_CLOCK 240000000 #endif @@ -374,7 +377,19 @@ __STATIC_INLINE uint8_t DAP_GetProductFirmwareVersionString (char *str) { #define PIN_LED_CONNECTED _ // won't be used #define PIN_LED_RUNNING _ // won't be used +#elif defined CONFIG_IDF_TARGET_ESP32S3 + #define PIN_SWDIO _ // SPI MISO + #define PIN_SWDIO_MOSI 11 // SPI MOSI + #define PIN_SWCLK 12 + #define PIN_TDO 9 // device TDO -> Host Data Input + #define PIN_TDI 10 + #define PIN_nTRST 14 // optional + #define PIN_nRESET 13 + #define PIN_LED_CONNECTED _ // won't be used + #define PIN_LED_RUNNING _ // won't be used +#else +#error "not a supported target" #endif @@ -534,6 +549,29 @@ __STATIC_INLINE void PORT_JTAG_SETUP(void) GPIO_PULL_UP_ONLY_SET(PIN_nTRST); GPIO_PULL_UP_ONLY_SET(PIN_nRESET); } +#elif defined CONFIG_IDF_TARGET_ESP32S3 +__STATIC_INLINE void PORT_JTAG_SETUP(void) +{ + // set TCK, TMS pin + + // PIN_TDO output disable + gpio_ll_output_disable(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_TDO); + // PIN_TDO input enable + gpio_ll_input_enable(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_TDO); + + // PIN_TDI output + gpio_ll_output_enable(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_TDI); + gpio_ll_od_disable(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_TDI); + gpio_ll_pulldown_dis(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_TDI); + + gpio_ll_output_enable(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_nTRST); + gpio_ll_od_enable(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_nTRST); + gpio_ll_output_enable(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_nRESET); + gpio_ll_od_enable(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_nRESET); + + GPIO_PULL_UP_ONLY_SET(PIN_nTRST); + GPIO_PULL_UP_ONLY_SET(PIN_nRESET); +} #endif /** @@ -584,6 +622,11 @@ __STATIC_INLINE void PORT_OFF(void) // gpio_set_pull_mode(PIN_nTRST, GPIO_PULLUP_ONLY); GPIO_PULL_UP_ONLY_SET(PIN_nRESET); +#elif defined CONFIG_IDF_TARGET_ESP32S3 + gpio_ll_output_enable(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_nRESET); + gpio_ll_od_enable(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_nRESET); + GPIO_PULL_UP_ONLY_SET(PIN_nRESET); + gpio_ll_set_level(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_nRESET, 1); #endif } @@ -727,6 +770,10 @@ __STATIC_FORCEINLINE void PIN_SWDIO_OUT_DISABLE(void) // Note that the input of esp32c3 is not always connected. PIN_INPUT_ENABLE(GPIO_PIN_MUX_REG[PIN_SWDIO_MOSI]); GPIO.out_w1ts.out_w1ts = (0x1 << PIN_SWDIO_MOSI); +#elif defined CONFIG_IDF_TARGET_ESP32S3 + // Note that the input is not always connected. + gpio_ll_input_enable(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_SWDIO_MOSI); + gpio_ll_set_level(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_SWDIO_MOSI, 1); #endif } @@ -775,7 +822,7 @@ __STATIC_FORCEINLINE uint32_t PIN_TDO_IN(void) return READ_PERI_REG(RTC_GPIO_IN_DATA) & 0x1; #elif defined CONFIG_IDF_TARGET_ESP32 return ((GPIO.in >> PIN_TDO) & 0x1) ? 1 : 0; -#elif defined CONFIG_IDF_TARGET_ESP32C3 +#elif defined CONFIG_IDF_TARGET_ESP32C3 || defined CONFIG_IDF_TARGET_ESP32S3 return GPIO_GET_LEVEL(PIN_TDO); #endif } @@ -836,6 +883,8 @@ __STATIC_FORCEINLINE void PIN_nRESET_OUT(uint32_t bit) GPIO.enable_w1tc |= (0x01 << PIN_nRESET); #elif defined CONFIG_IDF_TARGET_ESP32C3 GPIO.enable_w1tc.enable_w1tc |= (0x01 << PIN_nRESET); +#elif defined CONFIG_IDF_TARGET_ESP32S3 + gpio_ll_output_disable(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_nRESET); #endif } else @@ -845,6 +894,8 @@ __STATIC_FORCEINLINE void PIN_nRESET_OUT(uint32_t bit) GPIO.enable_w1ts |= (0x01 << PIN_nRESET); #elif defined CONFIG_IDF_TARGET_ESP32C3 GPIO.enable_w1ts.enable_w1ts |= (0x01 << PIN_nRESET); +#elif defined CONFIG_IDF_TARGET_ESP32S3 + gpio_ll_output_enable(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_nRESET); #endif GPIO_SET_LEVEL_LOW(PIN_nRESET); } diff --git a/components/DAP/cmsis-dap/include/DAP.h b/components/DAP/cmsis-dap/include/DAP.h index 4f61acf..d23b982 100644 --- a/components/DAP/cmsis-dap/include/DAP.h +++ b/components/DAP/cmsis-dap/include/DAP.h @@ -345,7 +345,7 @@ extern void DAP_Setup (void); ; } #else - #if defined CONFIG_IDF_TARGET_ESP8266 || CONFIG_IDF_TARGET_ESP32 + #if defined CONFIG_IDF_TARGET_ESP8266 || defined CONFIG_IDF_TARGET_ESP32 || defined CONFIG_IDF_TARGET_ESP32S3 __STATIC_FORCEINLINE void PIN_DELAY_SLOW(int32_t delay) { __asm__ volatile( diff --git a/components/DAP/cmsis-dap/include/gpio_common.h b/components/DAP/cmsis-dap/include/gpio_common.h index b5eaf7f..2d26d79 100644 --- a/components/DAP/cmsis-dap/include/gpio_common.h +++ b/components/DAP/cmsis-dap/include/gpio_common.h @@ -31,9 +31,10 @@ #include "soc/soc/esp32/include/soc/spi_reg.h" #endif #include "hal/gpio_types.h" -#elif defined CONFIG_IDF_TARGET_ESP32C3 +#elif defined(CONFIG_IDF_TARGET_ESP32C3) || defined(CONFIG_IDF_TARGET_ESP32S3) #include "soc/gpio_struct.h" #include "hal/gpio_ll.h" + #include "hal/gpio_hal.h" #include "hal/clk_gate_ll.h" #include "soc/gpio_struct.h" #include "soc/dport_access.h" diff --git a/components/DAP/cmsis-dap/include/gpio_op.h b/components/DAP/cmsis-dap/include/gpio_op.h index 1a5a4b7..8572db0 100644 --- a/components/DAP/cmsis-dap/include/gpio_op.h +++ b/components/DAP/cmsis-dap/include/gpio_op.h @@ -53,6 +53,11 @@ __STATIC_INLINE __UNUSED void GPIO_FUNCTION_SET(int io_num) } PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[io_num], PIN_FUNC_GPIO); } +#elif defined CONFIG_IDF_TARGET_ESP32S3 +__STATIC_INLINE __UNUSED void GPIO_FUNCTION_SET(int io_num) +{ + gpio_ll_iomux_func_sel(GPIO_PIN_MUX_REG[io_num], PIN_FUNC_GPIO); +} #endif @@ -77,6 +82,13 @@ __STATIC_INLINE __UNUSED void GPIO_SET_DIRECTION_NORMAL_OUT(int io_num) // PP out GPIO.pin[io_num].pad_driver = 0; } +#elif defined CONFIG_IDF_TARGET_ESP32S3 +__STATIC_INLINE __UNUSED void GPIO_SET_DIRECTION_NORMAL_OUT(int io_num) +{ + gpio_ll_output_enable(GPIO_HAL_GET_HW(GPIO_PORT_0), io_num); + // PP out + gpio_ll_od_disable(GPIO_HAL_GET_HW(GPIO_PORT_0), io_num); +} #endif @@ -90,14 +102,14 @@ __STATIC_INLINE __UNUSED void GPIO_SET_LEVEL_LOW(int io_num) { GPIO.out_w1tc |= (0x1 << io_num); } -#elif defined CONFIG_IDF_TARGET_ESP32C3 +#elif defined CONFIG_IDF_TARGET_ESP32C3 || defined CONFIG_IDF_TARGET_ESP32S3 __STATIC_INLINE __UNUSED void GPIO_SET_LEVEL_HIGH(int io_num) { - gpio_ll_set_level(&GPIO, io_num, 1); + gpio_ll_set_level(GPIO_HAL_GET_HW(GPIO_PORT_0), io_num, 1); } __STATIC_INLINE __UNUSED void GPIO_SET_LEVEL_LOW(int io_num) { - gpio_ll_set_level(&GPIO, io_num, 0); + gpio_ll_set_level(GPIO_HAL_GET_HW(GPIO_PORT_0), io_num, 0); } #endif @@ -107,10 +119,10 @@ __STATIC_INLINE __UNUSED int GPIO_GET_LEVEL(int io_num) { return ((GPIO.in >> io_num) & 0x1) ? 1 : 0; } -#elif defined CONFIG_IDF_TARGET_ESP32C3 +#elif defined CONFIG_IDF_TARGET_ESP32C3 || defined CONFIG_IDF_TARGET_ESP32S3 __STATIC_INLINE __UNUSED int GPIO_GET_LEVEL(int io_num) { - return gpio_ll_get_level(&GPIO, io_num); + return gpio_ll_get_level(GPIO_HAL_GET_HW(GPIO_PORT_0), io_num); } #endif @@ -125,6 +137,14 @@ __STATIC_INLINE __UNUSED void GPIO_PULL_UP_ONLY_SET(int io_num) // enable pull up REG_SET_BIT(GPIO_PIN_MUX_REG[io_num], FUN_PU); } +#elif defined CONFIG_IDF_TARGET_ESP32S3 +__STATIC_INLINE __UNUSED void GPIO_PULL_UP_ONLY_SET(int io_num) +{ + // disable pull down + gpio_ll_pulldown_dis(GPIO_HAL_GET_HW(GPIO_PORT_0), io_num); + // enable pull up + gpio_ll_pullup_en(GPIO_HAL_GET_HW(GPIO_PORT_0), io_num); +} #elif defined CONFIG_IDF_TARGET_ESP8266 __STATIC_INLINE __UNUSED void GPIO_PULL_UP_ONLY_SET(int io_num) { diff --git a/components/DAP/cmsis-dap/source/DAP.c b/components/DAP/cmsis-dap/source/DAP.c index 5e93d8e..f000940 100644 --- a/components/DAP/cmsis-dap/source/DAP.c +++ b/components/DAP/cmsis-dap/source/DAP.c @@ -437,7 +437,7 @@ static uint32_t DAP_SWJ_Clock(const uint8_t *request, uint8_t *response) { #ifdef CONFIG_IDF_TARGET_ESP8266 #define BUS_CLOCK_FIXED 80000000 -#elif defined CONFIG_IDF_TARGET_ESP32 +#elif defined CONFIG_IDF_TARGET_ESP32 || defined CONFIG_IDF_TARGET_ESP32S3 #define BUS_CLOCK_FIXED 100000000 #elif defined CONFIG_IDF_TARGET_ESP32C3 #define BUS_CLOCK_FIXED 80000000 diff --git a/components/DAP/cmsis-dap/source/SW_DP.c b/components/DAP/cmsis-dap/source/SW_DP.c index 7a12042..95b6cd6 100644 --- a/components/DAP/cmsis-dap/source/SW_DP.c +++ b/components/DAP/cmsis-dap/source/SW_DP.c @@ -292,7 +292,7 @@ static uint8_t SWD_Transfer_SPI (uint32_t request, uint32_t *data) { else if ((ack == DAP_TRANSFER_WAIT) || (ack == DAP_TRANSFER_FAULT)) { #if defined CONFIG_IDF_TARGET_ESP8266 || defined CONFIG_IDF_TARGET_ESP32 DAP_SPI_Generate_Cycle(1); -#elif defined CONFIG_IDF_TARGET_ESP32C3 +#elif defined CONFIG_IDF_TARGET_ESP32C3 || defined CONFIG_IDF_TARGET_ESP32S3 DAP_SPI_Fast_Cycle(); #endif diff --git a/components/DAP/cmsis-dap/source/spi_op.c b/components/DAP/cmsis-dap/source/spi_op.c index be4255c..78c016d 100644 --- a/components/DAP/cmsis-dap/source/spi_op.c +++ b/components/DAP/cmsis-dap/source/spi_op.c @@ -29,6 +29,8 @@ #define DAP_SPI SPI2 #elif defined CONFIG_IDF_TARGET_ESP32C3 #define DAP_SPI GPSPI2 +#elif defined CONFIG_IDF_TARGET_ESP32S3 + #define DAP_SPI GPSPI2 #else #error unknown hardware #endif @@ -52,7 +54,7 @@ while (DAP_SPI.cmd.usr) continue; \ } while(0) -#elif defined CONFIG_IDF_TARGET_ESP32C3 +#elif defined CONFIG_IDF_TARGET_ESP32C3 || defined CONFIG_IDF_TARGET_ESP32S3 #define SET_MOSI_BIT_LEN(x) DAP_SPI.ms_dlen.ms_data_bitlen = x #define SET_MISO_BIT_LEN(x) DAP_SPI.ms_dlen.ms_data_bitlen = x #define START_AND_WAIT_SPI_TRANSMISSION_DONE() \ @@ -207,7 +209,7 @@ __FORCEINLINE void DAP_SPI_Send_Header(const uint8_t packetHeaderData, uint8_t * dataBuf = DAP_SPI.data_buf[0]; *ack = (dataBuf >> 1) & 0b111; } // defined CONFIG_IDF_TARGET_ESP8266 || defined CONFIG_IDF_TARGET_ESP32 -#elif defined CONFIG_IDF_TARGET_ESP32C3 +#elif defined CONFIG_IDF_TARGET_ESP32C3 || defined CONFIG_IDF_TARGET_ESP32S3 __FORCEINLINE void DAP_SPI_Send_Header(const uint8_t packetHeaderData, uint8_t *ack, uint8_t TrnAfterACK) { uint32_t dataBuf; @@ -297,7 +299,7 @@ __FORCEINLINE void DAP_SPI_Write_Data(uint32_t data, uint8_t parity) START_AND_WAIT_SPI_TRANSMISSION_DONE(); } -#elif defined CONFIG_IDF_TARGET_ESP32C3 +#elif defined CONFIG_IDF_TARGET_ESP32C3 || defined CONFIG_IDF_TARGET_ESP32S3 __FORCEINLINE void DAP_SPI_Write_Data(uint32_t data, uint8_t parity) { DAP_SPI.user.usr_mosi = 1; @@ -314,7 +316,7 @@ __FORCEINLINE void DAP_SPI_Write_Data(uint32_t data, uint8_t parity) #endif -#if defined CONFIG_IDF_TARGET_ESP8266 || defined CONFIG_IDF_TARGET_ESP32 +#if defined CONFIG_IDF_TARGET_ESP8266 || defined CONFIG_IDF_TARGET_ESP32 || defined CONFIG_IDF_TARGET_ESP32S3 /** * @brief Generate Clock Cycle * @@ -345,7 +347,7 @@ __FORCEINLINE void DAP_SPI_Generate_Cycle(uint8_t num) } #endif -#if defined CONFIG_IDF_TARGET_ESP32 || defined CONFIG_IDF_TARGET_ESP32C3 +#if defined CONFIG_IDF_TARGET_ESP32 || defined CONFIG_IDF_TARGET_ESP32C3 || defined CONFIG_IDF_TARGET_ESP32S3 /** * @brief Quickly generate 1 clock * diff --git a/components/DAP/cmsis-dap/source/spi_switch.c b/components/DAP/cmsis-dap/source/spi_switch.c index 18a703a..b213e37 100644 --- a/components/DAP/cmsis-dap/source/spi_switch.c +++ b/components/DAP/cmsis-dap/source/spi_switch.c @@ -18,6 +18,7 @@ #include "cmsis-dap/include/cmsis_compiler.h" #include "cmsis-dap/include/spi_switch.h" #include "cmsis-dap/include/gpio_common.h" +#include "DAP_config.h" #ifdef CONFIG_IDF_TARGET_ESP8266 #define DAP_SPI SPI1 @@ -29,6 +30,8 @@ #define SPI_LL_RST_MASK (SPI_OUT_RST | SPI_IN_RST | SPI_AHBM_RST | SPI_AHBM_FIFO_RST) #elif defined CONFIG_IDF_TARGET_ESP32C3 #define DAP_SPI GPSPI2 +#elif defined CONFIG_IDF_TARGET_ESP32S3 + #define DAP_SPI GPSPI2 #else #error unknown hardware #endif @@ -351,6 +354,92 @@ void DAP_SPI_Init() DAP_SPI.user.usr_command = 0; DAP_SPI.user.usr_addr = 0; } +#elif defined CONFIG_IDF_TARGET_ESP32S3 +void DAP_SPI_Init() +{ + periph_ll_enable_clk_clear_rst(PERIPH_SPI2_MODULE); + + // In esp32, the driving of GPIO should be stopped, + // otherwise there will be issue in the spi + gpio_ll_set_level(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_SWDIO_MOSI, 0); + gpio_ll_set_level(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_SWCLK, 0); + + // We will use IO_MUX to get the maximum speed. + gpio_ll_iomux_in(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_SWCLK,FSPICLK_IN_IDX); + gpio_ll_iomux_out(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_SWCLK, FUNC_GPIO12_FSPICLK, 0); + + gpio_ll_iomux_in(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_SWDIO_MOSI,FSPID_IN_IDX); + gpio_ll_iomux_out(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_SWDIO_MOSI, FUNC_GPIO11_FSPID, 0); + +// // Not using DMA + DAP_SPI.user.usr_conf_nxt = 0; + DAP_SPI.slave.usr_conf = 0; + DAP_SPI.dma_conf.dma_rx_ena = 0; + DAP_SPI.dma_conf.dma_tx_ena = 0; + + // Set to Master mode + DAP_SPI.slave.slave_mode = false; + + // use all 64 bytes of the buffer + DAP_SPI.user.usr_mosi_highpart = false; + DAP_SPI.user.usr_miso_highpart = false; + + // Disable cs pin + DAP_SPI.user.cs_setup = false; + DAP_SPI.user.cs_hold = false; + + // Disable CS signal + DAP_SPI.misc.cs0_dis = 1; + DAP_SPI.misc.cs1_dis = 1; + DAP_SPI.misc.cs2_dis = 1; + DAP_SPI.misc.cs3_dis = 1; + DAP_SPI.misc.cs4_dis = 1; + DAP_SPI.misc.cs5_dis = 1; + + // Duplex transmit + DAP_SPI.user.doutdin = false; // half dulex + + // Set data bit order + DAP_SPI.ctrl.wr_bit_order = 1; // SWD -> LSB + DAP_SPI.ctrl.rd_bit_order = 1; // SWD -> LSB + + // Set dummy + DAP_SPI.user.usr_dummy = 0; // not use + + // Set spi clk: 40Mhz 50% duty + // CLEAR_PERI_REG_MASK(PERIPHS_IO_MUX_CONF_U, SPI1_CLK_EQU_SYS_CLK); + + // See TRM `SPI_CLOCK_REG` + DAP_SPI.clock.clk_equ_sysclk = false; + DAP_SPI.clock.clkdiv_pre = 0; + DAP_SPI.clock.clkcnt_n = SPI_40MHz_DIV - 1; + DAP_SPI.clock.clkcnt_h = SPI_40MHz_DIV / 2 - 1; + DAP_SPI.clock.clkcnt_l = SPI_40MHz_DIV - 1; + + // MISO delay setting + DAP_SPI.user.rsck_i_edge = true; + DAP_SPI.din_mode.din0_mode = 0; + DAP_SPI.din_mode.din1_mode = 0; + DAP_SPI.din_mode.din2_mode = 0; + DAP_SPI.din_mode.din3_mode = 0; + DAP_SPI.din_num.din0_num = 0; + DAP_SPI.din_num.din1_num = 0; + DAP_SPI.din_num.din2_num = 0; + DAP_SPI.din_num.din3_num = 0; + + // Set the clock polarity and phase CPOL = 1, CPHA = 0 + DAP_SPI.misc.ck_idle_edge = 1; // HIGH while idle + DAP_SPI.user.ck_out_edge = 0; + + // enable spi clock + DAP_SPI.clk_gate.clk_en = 1; + DAP_SPI.clk_gate.mst_clk_active = 1; + DAP_SPI.clk_gate.mst_clk_sel = 1; + + // No command and addr for now + DAP_SPI.user.usr_command = 0; + DAP_SPI.user.usr_addr = 0; +} #endif @@ -416,6 +505,21 @@ __FORCEINLINE void DAP_SPI_Deinit() GPIO.enable_w1ts.enable_w1ts |= (0x1 << 7); PIN_INPUT_ENABLE(GPIO_PIN_MUX_REG[7]); } +#elif defined CONFIG_IDF_TARGET_ESP32S3 +__FORCEINLINE void DAP_SPI_Deinit() +{ + gpio_ll_iomux_func_sel(GPIO_PIN_MUX_REG[PIN_SWCLK], PIN_FUNC_GPIO); + gpio_ll_iomux_func_sel(GPIO_PIN_MUX_REG[PIN_SWDIO_MOSI], PIN_FUNC_GPIO); // MOSI + //PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[12], PIN_FUNC_GPIO); // MISO + + // enable SWCLK output + gpio_ll_output_enable(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_SWCLK); + + // enable MOSI output & input +// gpio_ll_output_enable(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_SWDIO_MOSI); + GPIO.enable_w1ts |= (0x1 << PIN_SWDIO_MOSI); + gpio_ll_input_enable(GPIO_HAL_GET_HW(GPIO_PORT_0), PIN_SWDIO_MOSI); +} #endif @@ -458,6 +562,25 @@ __FORCEINLINE void DAP_SPI_Release() { PIN_FUNC_SELECT(IO_MUX_GPIO6_REG, FUNC_MTCK_GPIO6); } +#elif defined CONFIG_IDF_TARGET_ESP32S3 +/** + * @brief Gain control of SPI + * + */ +__FORCEINLINE void DAP_SPI_Acquire() +{ + gpio_ll_iomux_func_sel(GPIO_PIN_MUX_REG[PIN_SWCLK], FUNC_GPIO12_FSPICLK); +} + + +/** + * @brief Release control of SPI + * + */ +__FORCEINLINE void DAP_SPI_Release() +{ + gpio_ll_iomux_func_sel(GPIO_PIN_MUX_REG[PIN_SWCLK], FUNC_GPIO12_GPIO12); +} #endif /** * @brief Use SPI acclerate diff --git a/sdkconfig.defaults.esp32c3 b/sdkconfig.defaults.esp32c3 index 3360de5..a864873 100644 --- a/sdkconfig.defaults.esp32c3 +++ b/sdkconfig.defaults.esp32c3 @@ -302,7 +302,6 @@ CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y # CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set # CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set # CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set -# CONFIG_ADC_ONESHOT_FORCE_USE_ADC2_ON_C3 is not set # end of ADC and ADC Calibration # @@ -354,7 +353,7 @@ CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH=y # # HTTP Server # -CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 +CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 CONFIG_HTTPD_MAX_URI_LEN=256 CONFIG_HTTPD_ERR_RESP_NO_DELAY=y CONFIG_HTTPD_PURGE_BUF_LEN=32 @@ -417,8 +416,6 @@ CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y # end of Sleep Config -CONFIG_ESP_SLEEP_SYSTIMER_STALL_WORKAROUND=y - # # RTC Clock Config # @@ -604,9 +601,9 @@ CONFIG_ESP_TIMER_IMPL_SYSTIMER=y CONFIG_ESP_WIFI_ENABLED=y # CONFIG_ESP_WIFI_CSI_ENABLED is not set CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y -CONFIG_ESP_WIFI_TX_BA_WIN=8 +CONFIG_ESP_WIFI_TX_BA_WIN=6 CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y -CONFIG_ESP_WIFI_RX_BA_WIN=8 +CONFIG_ESP_WIFI_RX_BA_WIN=6 CONFIG_ESP_WIFI_NVS_ENABLED=y CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 diff --git a/sdkconfig.defaults.esp32s3 b/sdkconfig.defaults.esp32s3 new file mode 100644 index 0000000..29f5f33 --- /dev/null +++ b/sdkconfig.defaults.esp32s3 @@ -0,0 +1,1306 @@ +CONFIG_IDF_CMAKE=y +CONFIG_IDF_TARGET_ARCH="xtensa" +CONFIG_IDF_TARGET="esp32s3" +CONFIG_IDF_INIT_VERSION="5.2.1" +CONFIG_IDF_TARGET_ESP32S3=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 + +# +# Build type +# +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# CONFIG_APP_BUILD_TYPE_RAM is not set +CONFIG_APP_BUILD_GENERATE_BINARIES=y +CONFIG_APP_BUILD_BOOTLOADER=y +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y +# CONFIG_APP_REPRODUCIBLE_BUILD is not set +# CONFIG_APP_NO_BLOBS is not set +# end of Build type + +# +# Bootloader config +# +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +CONFIG_BOOTLOADER_LOG_LEVEL=3 + +# +# Serial Flash Configurations +# +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# CONFIG_BOOTLOADER_APP_TEST is not set +CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y +CONFIG_BOOTLOADER_WDT_ENABLE=y +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set +CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 +# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set +# end of Bootloader config + +# +# Security features +# +CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_PREFERRED=y +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# CONFIG_SECURE_BOOT is not set +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +# end of Security features + +# +# Application manager +# +CONFIG_APP_COMPILE_TIME_DATE=y +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16 +# end of Application manager + +CONFIG_ESP_ROM_HAS_CRC_LE=y +CONFIG_ESP_ROM_HAS_CRC_BE=y +CONFIG_ESP_ROM_HAS_MZ_CRC32=y +CONFIG_ESP_ROM_HAS_JPEG_DECODE=y +CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +CONFIG_ESP_ROM_USB_OTG_NUM=3 +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 +CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y +CONFIG_ESP_ROM_GET_CLK_FREQ=y +CONFIG_ESP_ROM_HAS_HAL_WDT=y +CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +CONFIG_ESP_ROM_HAS_SPI_FLASH=y +CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y +CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y +CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y +CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y +CONFIG_ESP_ROM_HAS_SW_FLOAT=y + +# +# Boot ROM Behavior +# +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + +# +# Serial flasher config +# +# CONFIG_ESPTOOLPY_NO_STUB is not set +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y +CONFIG_ESPTOOLPY_FLASHMODE="dio" +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +CONFIG_ESPTOOLPY_BEFORE="default_reset" +CONFIG_ESPTOOLPY_AFTER_RESET=y +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +CONFIG_ESPTOOLPY_AFTER="hard_reset" +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# end of Serial flasher config + +# +# Partition Table +# +# CONFIG_PARTITION_TABLE_SINGLE_APP is not set +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_OFFSET=0xF000 +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# Compiler options +# +# CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set +CONFIG_COMPILER_OPTIMIZATION_PERF=y +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# CONFIG_COMPILER_CXX_EXCEPTIONS is not set +# CONFIG_COMPILER_CXX_RTTI is not set +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +# end of Compiler options + +# +# Component config +# + +# +# Application Level Tracing +# +# CONFIG_APPTRACE_DEST_JTAG is not set +CONFIG_APPTRACE_DEST_NONE=y +CONFIG_APPTRACE_LOCK_ENABLE=y +# end of Application Level Tracing + +# +# Bluetooth +# +# CONFIG_BT_ENABLED is not set +# end of Bluetooth + +# +# Driver Configurations +# + +# +# Legacy ADC Configuration +# +# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set + +# +# Legacy ADC Calibration Configuration +# +# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy ADC Calibration Configuration +# end of Legacy ADC Configuration + +# +# SPI Configuration +# +# CONFIG_SPI_MASTER_IN_IRAM is not set +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# CONFIG_SPI_SLAVE_IN_IRAM is not set +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# end of SPI Configuration + +# +# TWAI Configuration +# +# CONFIG_TWAI_ISR_IN_IRAM is not set +CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y +# end of TWAI Configuration + +# +# Temperature sensor Configuration +# +# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# end of Temperature sensor Configuration + +# +# UART Configuration +# +CONFIG_UART_ISR_IN_IRAM=y +# end of UART Configuration + +# +# GPIO Configuration +# +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of GPIO Configuration + +# +# Sigma Delta Modulator Configuration +# +# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set +# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_SDM_ENABLE_DEBUG_LOG is not set +# end of Sigma Delta Modulator Configuration + +# +# GPTimer Configuration +# +CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y +# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set +# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set +# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set +# end of GPTimer Configuration + +# +# RMT Configuration +# +# CONFIG_RMT_ISR_IRAM_SAFE is not set +# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set +# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_RMT_ENABLE_DEBUG_LOG is not set +# end of RMT Configuration + +# +# I2S Configuration +# +# CONFIG_I2S_ISR_IRAM_SAFE is not set +# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_I2S_ENABLE_DEBUG_LOG is not set +# end of I2S Configuration + +# +# USB Serial/JTAG Configuration +# +# end of USB Serial/JTAG Configuration + +# +# LEDC Configuration +# +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of LEDC Configuration + +# +# I2C Configuration +# +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# end of I2C Configuration +# end of Driver Configurations + +# +# eFuse Bit Manager +# +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# CONFIG_EFUSE_VIRTUAL is not set +CONFIG_EFUSE_MAX_BLK_LEN=256 +# end of eFuse Bit Manager + +# +# ESP-TLS +# +CONFIG_ESP_TLS_USING_MBEDTLS=y +CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y +# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set +# CONFIG_ESP_TLS_SERVER is not set +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +# CONFIG_ESP_TLS_INSECURE is not set +# end of ESP-TLS + +# +# ADC and ADC Calibration +# +# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set +# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set +# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set +# end of ADC and ADC Calibration + +# +# Wireless Coexistence +# +# CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set +# end of Wireless Coexistence + +# +# Common ESP-related +# +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# Ethernet +# +CONFIG_ETH_ENABLED=y +CONFIG_ETH_USE_SPI_ETHERNET=y +# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set +# CONFIG_ETH_SPI_ETHERNET_W5500 is not set +# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set +# CONFIG_ETH_USE_OPENETH is not set +# CONFIG_ETH_TRANSMIT_MUTEX is not set +# end of Ethernet + +# +# Event Loop Library +# +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +CONFIG_ESP_EVENT_POST_FROM_ISR=y +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +# end of Event Loop Library + +# +# GDB Stub +# +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +# end of GDB Stub + +# +# ESP HTTP client +# +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH=y +# end of ESP HTTP client + +# +# HTTP Server +# +CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 +CONFIG_HTTPD_MAX_URI_LEN=256 +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +CONFIG_HTTPD_WS_SUPPORT=y +# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set +# end of HTTP Server + +# +# ESP HTTPS OTA +# +# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set +# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set +# end of ESP HTTPS OTA + +# +# ESP HTTPS server +# +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +# end of ESP HTTPS server + +# +# Hardware Settings +# + +# +# Chip revision +# +CONFIG_ESP32S3_REV_MIN_0=y +# CONFIG_ESP32S3_REV_MIN_1 is not set +# CONFIG_ESP32S3_REV_MIN_2 is not set +CONFIG_ESP32S3_REV_MIN_FULL=0 +CONFIG_ESP_REV_MIN_FULL=0 + +# +# Maximum Supported ESP32-S3 Revision (Rev v0.99) +# +CONFIG_ESP32S3_REV_MAX_FULL=99 +CONFIG_ESP_REV_MAX_FULL=99 +# end of Chip revision + +# +# MAC Config +# +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU=y +CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y +CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000 +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# CONFIG_ESP_SLEEP_DEBUG is not set +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# end of Sleep Config + +# +# RTC Clock Config +# +CONFIG_RTC_CLK_SRC_INT_RC=y +# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_RTC_CLK_CAL_CYCLES=1024 +# end of RTC Clock Config + +# +# Peripheral Control +# +CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y +# end of Peripheral Control + +# +# GDMA Configuration +# +# CONFIG_GDMA_CTRL_FUNC_IN_IRAM is not set +# CONFIG_GDMA_ISR_IRAM_SAFE is not set +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# end of GDMA Configuration + +# +# Main XTAL Config +# +CONFIG_XTAL_FREQ_40=y +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config +# end of Hardware Settings + +# +# LCD and Touch Panel +# + +# +# LCD Touch Drivers are maintained in the IDF Component Registry +# + +# +# LCD Peripheral Configuration +# +CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 +# CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# end of LCD Peripheral Configuration +# end of LCD and Touch Panel + +# +# ESP NETIF Adapter +# +CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +CONFIG_ESP_NETIF_TCPIP_LWIP=y +# CONFIG_ESP_NETIF_LOOPBACK is not set +CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y +# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set +# CONFIG_ESP_NETIF_L2_TAP is not set +# CONFIG_ESP_NETIF_BRIDGE_EN is not set +# end of ESP NETIF Adapter + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# PHY +# +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP_PHY_MAX_TX_POWER=20 +CONFIG_ESP_PHY_ENABLE_USB=y +# end of PHY + +# +# Power Management +# +# CONFIG_PM_ENABLE is not set +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y +# end of Power Management + +# +# ESP PSRAM +# + +# +# ESP Ringbuf +# +# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set +# end of ESP Ringbuf + +# +# ESP System Settings +# +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 +# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set +CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y +# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set +CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 +CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y +CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y + +# +# Memory protection +# +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y +# end of Memory protection + +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_USB_CDC is not set +# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# CONFIG_ESP_CONSOLE_NONE is not set +# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set +CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y +CONFIG_ESP_CONSOLE_UART=y +CONFIG_ESP_CONSOLE_UART_NUM=0 +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +CONFIG_ESP_INT_WDT=y +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +CONFIG_ESP_TASK_WDT_EN=y +CONFIG_ESP_TASK_WDT_INIT=y +# CONFIG_ESP_TASK_WDT_PANIC is not set +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP_PANIC_HANDLER_IRAM is not set +# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP_DEBUG_OCDAWARE=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y + +# +# Brownout Detector +# +CONFIG_ESP_BROWNOUT_DET=y +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +CONFIG_ESP_BROWNOUT_DET_LVL=7 +# end of Brownout Detector + +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +CONFIG_ESP_IPC_TASK_STACK_SIZE=1280 +CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y +CONFIG_ESP_IPC_ISR_ENABLE=y +# end of IPC (Inter-Processor Call) + +# +# High resolution timer (esp_timer) +# +# CONFIG_ESP_TIMER_PROFILING is not set +CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y +CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +# end of High resolution timer (esp_timer) + +# +# Wi-Fi +# +CONFIG_ESP_WIFI_ENABLED=y +# CONFIG_ESP_WIFI_CSI_ENABLED is not set +CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP_WIFI_TX_BA_WIN=6 +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP_WIFI_RX_BA_WIN=6 +CONFIG_ESP_WIFI_NVS_ENABLED=y +CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP_WIFI_IRAM_OPT=y +# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set +CONFIG_ESP_WIFI_RX_IRAM_OPT=y +CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y +# CONFIG_ESP_WIFI_FTM_ENABLE is not set +CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set +# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set +CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y +CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# CONFIG_ESP_WIFI_WAPI_PSK is not set +# CONFIG_ESP_WIFI_SUITE_B_192 is not set +# CONFIG_ESP_WIFI_11KV_SUPPORT is not set +# CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# CONFIG_ESP_WIFI_DPP_SUPPORT is not set +# CONFIG_ESP_WIFI_11R_SUPPORT is not set +# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set + +# +# WPS Configuration Options +# +# CONFIG_ESP_WIFI_WPS_STRICT is not set +# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set +# end of WPS Configuration Options + +# CONFIG_ESP_WIFI_DEBUG_PRINT is not set +# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set +CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set +# end of Wi-Fi + +# +# Core dump +# +# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set +# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set +CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y +# end of Core dump + +# +# FAT Filesystem support +# +CONFIG_FATFS_VOLUME_COUNT=2 +CONFIG_FATFS_LFN_NONE=y +# CONFIG_FATFS_LFN_HEAP is not set +# CONFIG_FATFS_LFN_STACK is not set +# CONFIG_FATFS_SECTOR_512 is not set +CONFIG_FATFS_SECTOR_4096=y +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +CONFIG_FATFS_CODEPAGE_437=y +# CONFIG_FATFS_CODEPAGE_720 is not set +# CONFIG_FATFS_CODEPAGE_737 is not set +# CONFIG_FATFS_CODEPAGE_771 is not set +# CONFIG_FATFS_CODEPAGE_775 is not set +# CONFIG_FATFS_CODEPAGE_850 is not set +# CONFIG_FATFS_CODEPAGE_852 is not set +# CONFIG_FATFS_CODEPAGE_855 is not set +# CONFIG_FATFS_CODEPAGE_857 is not set +# CONFIG_FATFS_CODEPAGE_860 is not set +# CONFIG_FATFS_CODEPAGE_861 is not set +# CONFIG_FATFS_CODEPAGE_862 is not set +# CONFIG_FATFS_CODEPAGE_863 is not set +# CONFIG_FATFS_CODEPAGE_864 is not set +# CONFIG_FATFS_CODEPAGE_865 is not set +# CONFIG_FATFS_CODEPAGE_866 is not set +# CONFIG_FATFS_CODEPAGE_869 is not set +# CONFIG_FATFS_CODEPAGE_932 is not set +# CONFIG_FATFS_CODEPAGE_936 is not set +# CONFIG_FATFS_CODEPAGE_949 is not set +# CONFIG_FATFS_CODEPAGE_950 is not set +CONFIG_FATFS_CODEPAGE=437 +CONFIG_FATFS_FS_LOCK=0 +CONFIG_FATFS_TIMEOUT_MS=10000 +CONFIG_FATFS_PER_FILE_CACHE=y +# CONFIG_FATFS_USE_FASTSEEK is not set +CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 +# CONFIG_FATFS_IMMEDIATE_FSYNC is not set +# end of FAT Filesystem support + +# +# FreeRTOS +# + +# +# Kernel +# +# CONFIG_FREERTOS_SMP is not set +# CONFIG_FREERTOS_UNICORE is not set +CONFIG_FREERTOS_HZ=100 +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +# end of Port + +CONFIG_FREERTOS_PORT=y +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# CONFIG_HAL_ASSERTION_DISABLE is not set +# CONFIG_HAL_ASSERTION_SILENT is not set +# CONFIG_HAL_ASSERTION_ENABLE is not set +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y +CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# Heap memory debugging +# +CONFIG_HEAP_POISONING_DISABLED=y +# CONFIG_HEAP_POISONING_LIGHT is not set +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +CONFIG_HEAP_TRACING_OFF=y +# CONFIG_HEAP_TRACING_STANDALONE is not set +# CONFIG_HEAP_TRACING_TOHOST is not set +# CONFIG_HEAP_USE_HOOKS is not set +# CONFIG_HEAP_TASK_TRACKING is not set +# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +# end of Heap memory debugging + +# +# Log output +# +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +CONFIG_LOG_DEFAULT_LEVEL=3 +CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +CONFIG_LOG_MAXIMUM_LEVEL=3 +# CONFIG_LOG_MASTER_LEVEL is not set +CONFIG_LOG_COLORS=y +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Log output + +# +# LWIP +# +CONFIG_LWIP_ENABLE=y +CONFIG_LWIP_LOCAL_HOSTNAME="esp32s3-dap" +# CONFIG_LWIP_NETIF_API is not set +CONFIG_LWIP_TCPIP_TASK_PRIO=18 +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set +CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y +# CONFIG_LWIP_L2_TO_L3_COPY is not set +CONFIG_LWIP_IRAM_OPTIMIZATION=y +CONFIG_LWIP_TIMERS_ONDEMAND=y +CONFIG_LWIP_MAX_SOCKETS=16 +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +CONFIG_LWIP_SO_LINGER=y +CONFIG_LWIP_SO_REUSE=y +CONFIG_LWIP_SO_REUSE_RXTOALL=y +# CONFIG_LWIP_SO_RCVBUF is not set +# CONFIG_LWIP_NETBUF_RECVINFO is not set +CONFIG_LWIP_IP4_FRAG=y +CONFIG_LWIP_IP6_FRAG=y +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# CONFIG_LWIP_IP6_REASSEMBLY is not set +# CONFIG_LWIP_IP_FORWARD is not set +# CONFIG_LWIP_STATS is not set +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +CONFIG_LWIP_ESP_MLDV6_REPORT=y +CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +CONFIG_LWIP_DHCP_OPTIONS_LEN=68 +CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 +CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 + +# +# DHCP server +# +CONFIG_LWIP_DHCPS=y +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +# end of DHCP server + +# CONFIG_LWIP_AUTOIP is not set +CONFIG_LWIP_IPV4=y +CONFIG_LWIP_IPV6=y +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +# CONFIG_LWIP_IPV6_FORWARD is not set +# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set +CONFIG_LWIP_NETIF_LOOPBACK=y +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 + +# +# TCP +# +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +CONFIG_LWIP_MAX_LISTENING_TCP=16 +CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y +CONFIG_LWIP_TCP_MAXRTX=12 +CONFIG_LWIP_TCP_SYNMAXRTX=12 +CONFIG_LWIP_TCP_MSS=1440 +CONFIG_LWIP_TCP_TMR_INTERVAL=250 +CONFIG_LWIP_TCP_MSL=60000 +CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 +CONFIG_LWIP_TCP_WND_DEFAULT=5760 +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +# CONFIG_LWIP_TCP_SACK_OUT is not set +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +CONFIG_LWIP_TCP_RTO_TIME=1500 +# end of TCP + +# +# UDP +# +CONFIG_LWIP_MAX_UDP_PCBS=16 +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +# end of UDP + +# +# Checksums +# +# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set +# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set +CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y +# end of Checksums + +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_LWIP_PPP_SUPPORT is not set +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +# CONFIG_LWIP_SLIP_SUPPORT is not set + +# +# ICMP +# +CONFIG_LWIP_ICMP=y +# CONFIG_LWIP_MULTICAST_PING is not set +# CONFIG_LWIP_BROADCAST_PING is not set +# end of ICMP + +# +# LWIP RAW API +# +CONFIG_LWIP_MAX_RAW_PCBS=16 +# end of LWIP RAW API + +# +# SNTP +# +CONFIG_LWIP_SNTP_MAX_SERVERS=1 +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +# end of SNTP + +# +# DNS +# +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# end of DNS + +CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 +CONFIG_LWIP_ESP_LWIP_ASSERT=y + +# +# Hooks +# +# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set +CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y +# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y +# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set +CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set +# end of Hooks + +# CONFIG_LWIP_DEBUG is not set +# end of LWIP + +# +# mbedTLS +# +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y +CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 +CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 +# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set +# CONFIG_MBEDTLS_DEBUG is not set + +# +# mbedTLS v3.x related +# +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y +CONFIG_MBEDTLS_PKCS7_C=y +# end of mbedTLS v3.x related + +# +# Certificate Bundle +# +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle + +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +CONFIG_MBEDTLS_CMAC_C=y +CONFIG_MBEDTLS_HARDWARE_AES=y +CONFIG_MBEDTLS_AES_USE_INTERRUPT=y +CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 +CONFIG_MBEDTLS_HARDWARE_MPI=y +CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y +CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 +CONFIG_MBEDTLS_HARDWARE_SHA=y +CONFIG_MBEDTLS_ROM_MD5=y +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +CONFIG_MBEDTLS_HAVE_TIME=y +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +CONFIG_MBEDTLS_SHA512_C=y +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# CONFIG_MBEDTLS_TLS_DISABLED is not set +CONFIG_MBEDTLS_TLS_SERVER=y +CONFIG_MBEDTLS_TLS_CLIENT=y +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Key Exchange Methods +# +# CONFIG_MBEDTLS_PSK_MODES is not set +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +# end of TLS Key Exchange Methods + +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +CONFIG_MBEDTLS_SSL_ALPN=y +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y + +# +# Symmetric Ciphers +# +CONFIG_MBEDTLS_AES_C=y +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# CONFIG_MBEDTLS_DES_C is not set +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# CONFIG_MBEDTLS_XTEA_C is not set +CONFIG_MBEDTLS_CCM_C=y +CONFIG_MBEDTLS_GCM_C=y +# CONFIG_MBEDTLS_NIST_KW_C is not set +# end of Symmetric Ciphers + +# CONFIG_MBEDTLS_RIPEMD160_C is not set + +# +# Certificates +# +CONFIG_MBEDTLS_PEM_PARSE_C=y +CONFIG_MBEDTLS_PEM_WRITE_C=y +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# end of Certificates + +CONFIG_MBEDTLS_ECP_C=y +# CONFIG_MBEDTLS_DHM_C is not set +CONFIG_MBEDTLS_ECDH_C=y +CONFIG_MBEDTLS_ECDSA_C=y +# CONFIG_MBEDTLS_ECJPAKE_C is not set +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=y +# CONFIG_MBEDTLS_POLY1305_C is not set +# CONFIG_MBEDTLS_CHACHA20_C is not set +# CONFIG_MBEDTLS_HKDF_C is not set +# CONFIG_MBEDTLS_THREADING_C is not set +# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set +# end of mbedTLS + +# +# ESP-MQTT Configurations +# +CONFIG_MQTT_PROTOCOL_311=y +# CONFIG_MQTT_PROTOCOL_5 is not set +CONFIG_MQTT_TRANSPORT_SSL=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y +# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set +# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set +# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +# end of ESP-MQTT Configurations + +# +# Newlib +# +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +# CONFIG_NEWLIB_NANO_FORMAT is not set +CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y +# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set +# end of Newlib + +# +# NVS +# +# CONFIG_NVS_ENCRYPTION is not set +# CONFIG_NVS_ASSERT_ERROR_CHECK is not set +# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set +# end of NVS + +# +# OpenThread +# +# CONFIG_OPENTHREAD_ENABLED is not set +# end of OpenThread + +# +# PThreads +# +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_PTHREAD_STACK_MIN=768 +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# end of PThreads + +# +# MMU Config +# +CONFIG_MMU_PAGE_SIZE_64KB=y +CONFIG_MMU_PAGE_MODE="64KB" +CONFIG_MMU_PAGE_SIZE=0x10000 +# end of MMU Config + +# +# Main Flash configuration +# + +# +# SPI Flash behavior when brownout +# +CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y +CONFIG_SPI_FLASH_BROWNOUT_RESET=y +# end of SPI Flash behavior when brownout + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +CONFIG_SPI_FLASH_SUSPEND_QVL_SUPPORTED=y +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +# CONFIG_SPI_FLASH_ROM_IMPL is not set +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 +# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set +# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set + +# +# Auto-detect flash chips +# +CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y +CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y +CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y +CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y +CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y +CONFIG_SPI_FLASH_SUPPORT_TH_CHIP=y +# end of Auto-detect flash chips + +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y +# end of SPI Flash driver + +# +# SPIFFS Configuration +# +CONFIG_SPIFFS_MAX_PARTITIONS=3 + +# +# SPIFFS Cache Configuration +# +CONFIG_SPIFFS_CACHE=y +CONFIG_SPIFFS_CACHE_WR=y +# CONFIG_SPIFFS_CACHE_STATS is not set +# end of SPIFFS Cache Configuration + +CONFIG_SPIFFS_PAGE_CHECK=y +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# CONFIG_SPIFFS_GC_STATS is not set +CONFIG_SPIFFS_PAGE_SIZE=256 +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set +CONFIG_SPIFFS_USE_MAGIC=y +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +CONFIG_SPIFFS_META_LENGTH=4 +CONFIG_SPIFFS_USE_MTIME=y + +# +# Debug Configuration +# +# CONFIG_SPIFFS_DBG is not set +# CONFIG_SPIFFS_API_DBG is not set +# CONFIG_SPIFFS_GC_DBG is not set +# CONFIG_SPIFFS_CACHE_DBG is not set +# CONFIG_SPIFFS_CHECK_DBG is not set +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +# end of Debug Configuration +# end of SPIFFS Configuration + +# +# TCP Transport +# + +# +# Websocket +# +CONFIG_WS_TRANSPORT=y +CONFIG_WS_BUFFER_SIZE=1024 +# end of Websocket +# end of TCP Transport + +# +# Unity unit testing library +# +CONFIG_UNITY_ENABLE_FLOAT=y +CONFIG_UNITY_ENABLE_DOUBLE=y +# CONFIG_UNITY_ENABLE_64BIT is not set +# CONFIG_UNITY_ENABLE_COLOR is not set +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +# end of Unity unit testing library + +# +# Virtual file system +# +CONFIG_VFS_SUPPORT_IO=y +CONFIG_VFS_SUPPORT_DIR=y +CONFIG_VFS_SUPPORT_SELECT=y +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_VFS_SUPPORT_TERMIOS=y + +# +# Host File System I/O (Semihosting) +# +CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# end of Host File System I/O (Semihosting) +# end of Virtual file system + +# +# Wear Levelling +# +# CONFIG_WL_SECTOR_SIZE_512 is not set +CONFIG_WL_SECTOR_SIZE_4096=y +CONFIG_WL_SECTOR_SIZE=4096 +# end of Wear Levelling + +# +# Wi-Fi Provisioning Manager +# +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 +CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 +# CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set +# CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN is not set +CONFIG_WIFI_PROV_STA_FAST_SCAN=y +# end of Wi-Fi Provisioning Manager