summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwcx1024979076 <[email protected]>2023-10-20 12:22:28 +0800
committerguo <[email protected]>2023-10-21 21:46:18 +0800
commit7da73c8f01f79a885e053c91dbb510be5d170625 (patch)
tree62c6584c637e66f0908fd552cbf133a94e202a95
parent70a8d1d4656bc678ddada5e56263c9cb4423a623 (diff)
[bsp] [ESP32_C3] 移除无用的文件 | remove useless files
-rw-r--r--bsp/ESP32_C3/.config24
-rw-r--r--bsp/ESP32_C3/.vscode/launch.json10
-rw-r--r--bsp/ESP32_C3/.vscode/settings.json26
-rw-r--r--bsp/ESP32_C3/.vscode/tasks.json300
-rw-r--r--bsp/ESP32_C3/CMakeLists.txt5
-rw-r--r--bsp/ESP32_C3/Makefile8
-rw-r--r--bsp/ESP32_C3/README.md6
-rw-r--r--bsp/ESP32_C3/README_ZH.md6
-rw-r--r--bsp/ESP32_C3/images/build.pngbin12872 -> 0 bytes
-rw-r--r--bsp/ESP32_C3/images/burn.pngbin16469 -> 0 bytes
-rw-r--r--bsp/ESP32_C3/images/burn_en.pngbin19933 -> 0 bytes
-rw-r--r--bsp/ESP32_C3/main/CMakeLists.txt50
-rw-r--r--bsp/ESP32_C3/main/main.c11
-rw-r--r--bsp/ESP32_C3/rtconfig.h9
-rw-r--r--bsp/ESP32_C3/rtt.patch600
-rw-r--r--bsp/ESP32_C3/sdkconfig1017
16 files changed, 28 insertions, 2044 deletions
diff --git a/bsp/ESP32_C3/.config b/bsp/ESP32_C3/.config
index fe3cb4b015..5ea4613ab6 100644
--- a/bsp/ESP32_C3/.config
+++ b/bsp/ESP32_C3/.config
@@ -10,6 +10,7 @@ CONFIG_RT_NAME_MAX=8
# CONFIG_RT_USING_ARCH_DATA_TYPE is not set
# CONFIG_RT_USING_AMP is not set
# CONFIG_RT_USING_SMP is not set
+CONFIG_RT_CPUS_NR=1
CONFIG_RT_ALIGN_SIZE=8
# CONFIG_RT_THREAD_PRIORITY_8 is not set
CONFIG_RT_THREAD_PRIORITY_32=y
@@ -62,18 +63,13 @@ CONFIG_RT_USING_SMALL_MEM_AS_HEAP=y
# CONFIG_RT_USING_MEMTRACE is not set
# CONFIG_RT_USING_HEAP_ISR is not set
CONFIG_RT_USING_HEAP=y
-
-#
-# Kernel Device Object
-#
CONFIG_RT_USING_DEVICE=y
# CONFIG_RT_USING_DEVICE_OPS is not set
-# CONFIG_RT_USING_DM is not set
# CONFIG_RT_USING_INTERRUPT_INFO is not set
CONFIG_RT_USING_CONSOLE=y
CONFIG_RT_CONSOLEBUF_SIZE=256
CONFIG_RT_CONSOLE_DEVICE_NAME="uart"
-CONFIG_RT_VER_NUM=0x50002
+CONFIG_RT_VER_NUM=0x50100
# CONFIG_RT_USING_STDC_ATOMIC is not set
# CONFIG_RT_USING_CACHE is not set
# CONFIG_RT_USING_HW_ATOMIC is not set
@@ -115,6 +111,7 @@ CONFIG_FINSH_USING_OPTION_COMPLETION=y
#
# Device Drivers
#
+# CONFIG_RT_USING_DM is not set
CONFIG_RT_USING_DEVICE_IPC=y
CONFIG_RT_UNAMED_PIPE_NUMBER=64
CONFIG_RT_USING_SYSTEM_WORKQUEUE=y
@@ -140,7 +137,6 @@ CONFIG_RT_USING_PIN=y
# CONFIG_RT_USING_MTD_NOR is not set
# CONFIG_RT_USING_MTD_NAND is not set
# CONFIG_RT_USING_PM is not set
-# CONFIG_RT_USING_FDT is not set
# CONFIG_RT_USING_RTC is not set
# CONFIG_RT_USING_SDIO is not set
# CONFIG_RT_USING_SPI is not set
@@ -209,10 +205,6 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_RT_USING_SAL is not set
# CONFIG_RT_USING_NETDEV is not set
# CONFIG_RT_USING_LWIP is not set
-# CONFIG_RT_USING_LWIP141 is not set
-# CONFIG_RT_USING_LWIP203 is not set
-# CONFIG_RT_USING_LWIP212 is not set
-# CONFIG_RT_USING_LWIP_LATEST is not set
# CONFIG_RT_USING_AT is not set
#
@@ -226,7 +218,11 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_RT_USING_ADT is not set
# CONFIG_RT_USING_RT_LINK is not set
# CONFIG_RT_USING_VBUS is not set
-# CONFIG_RT_USING_KTIME is not set
+
+#
+# Memory management
+#
+# CONFIG_RT_USING_MEMBLOCK is not set
#
# RT-Thread Utestcases
@@ -603,6 +599,7 @@ CONFIG_PKG_FREERTOS_WRAPPER_VER="latest"
# CONFIG_PKG_USING_BALANCE is not set
# CONFIG_PKG_USING_SHT2X is not set
# CONFIG_PKG_USING_SHT3X is not set
+# CONFIG_PKG_USING_SHT4X is not set
# CONFIG_PKG_USING_AD7746 is not set
# CONFIG_PKG_USING_ADT74XX is not set
# CONFIG_PKG_USING_MAX17048 is not set
@@ -706,6 +703,7 @@ CONFIG_PKG_ESP_IDF_VER="latest"
# CONFIG_PKG_USING_FINGERPRINT is not set
# CONFIG_PKG_USING_BT_ECB02C is not set
# CONFIG_PKG_USING_UAT is not set
+# CONFIG_PKG_USING_ST7789 is not set
# CONFIG_PKG_USING_SPI_TOOLS is not set
#
@@ -960,6 +958,7 @@ CONFIG_PKG_ESP_IDF_VER="latest"
#
# Timing
#
+# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set
# CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set
# CONFIG_PKG_USING_ARDUINO_TICKER is not set
# CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set
@@ -996,7 +995,6 @@ CONFIG_PKG_ESP_IDF_VER="latest"
#
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MFRC630 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI5351 is not set
-# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set
#
# Signal IO
diff --git a/bsp/ESP32_C3/.vscode/launch.json b/bsp/ESP32_C3/.vscode/launch.json
deleted file mode 100644
index 6d2236f737..0000000000
--- a/bsp/ESP32_C3/.vscode/launch.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "version": "0.2.0",
- "configurations": [
- {
- "type": "espidf",
- "name": "Launch",
- "request": "launch"
- }
- ]
-} \ No newline at end of file
diff --git a/bsp/ESP32_C3/.vscode/settings.json b/bsp/ESP32_C3/.vscode/settings.json
deleted file mode 100644
index 0fdac30c98..0000000000
--- a/bsp/ESP32_C3/.vscode/settings.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "C_Cpp.intelliSenseEngine": "Tag Parser",
- "idf.adapterTargetName": "esp32c3",
- "idf.openOcdConfigs": [
- "board/esp32c3-builtin.cfg"
- ],
- "idf.portWin": "COM7",
- "idf.flashType": "UART",
- "files.associations": {
- "panic_internal.h": "c",
- "rtthread.h": "c",
- "bitset": "c",
- "chrono": "c",
- "algorithm": "c",
- "rtdebug.h": "c",
- "rtservice.h": "c",
- "rtdef.h": "c",
- "rtconfig.h": "c",
- "thread": "c",
- "rthw.h": "c",
- "typeinfo": "c",
- "serial.h": "c",
- "timer.h": "c"
- },
- "RTT_Studio.Build.Parallel_Jobs": "4"
-}
diff --git a/bsp/ESP32_C3/.vscode/tasks.json b/bsp/ESP32_C3/.vscode/tasks.json
deleted file mode 100644
index 3a649a6c69..0000000000
--- a/bsp/ESP32_C3/.vscode/tasks.json
+++ /dev/null
@@ -1,300 +0,0 @@
-{
- "version": "2.0.0",
- "tasks": [
- {
- "label": "Build - Build project",
- "type": "shell",
- "command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py build",
- "windows": {
- "command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py build",
- "options": {
- "env": {
- "PATH": "${env:PATH};${config:idf.customExtraPaths}"
- }
- }
- },
- "options": {
- "env": {
- "PATH": "${env:PATH}:${config:idf.customExtraPaths}"
- }
- },
- "problemMatcher": [
- {
- "owner": "cpp",
- "fileLocation": [
- "relative",
- "${workspaceFolder}"
- ],
- "pattern": {
- "regexp": "^\\.\\.(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
- "file": 1,
- "line": 2,
- "column": 3,
- "severity": 4,
- "message": 5
- }
- },
- {
- "owner": "cpp",
- "fileLocation": "absolute",
- "pattern": {
- "regexp": "^[^\\.](.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
- "file": 1,
- "line": 2,
- "column": 3,
- "severity": 4,
- "message": 5
- }
- }
- ],
- "group": {
- "kind": "build",
- "isDefault": true
- }
- },
- {
- "label": "Set ESP-IDF Target",
- "type": "shell",
- "command": "${command:espIdf.setTarget}",
- "problemMatcher": {
- "owner": "cpp",
- "fileLocation": "absolute",
- "pattern": {
- "regexp": "^(.*):(//d+):(//d+)://s+(warning|error)://s+(.*)$",
- "file": 1,
- "line": 2,
- "column": 3,
- "severity": 4,
- "message": 5
- }
- }
- },
- {
- "label": "Clean - Clean the project",
- "type": "shell",
- "command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py fullclean",
- "windows": {
- "command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py fullclean",
- "options": {
- "env": {
- "PATH": "${env:PATH};${config:idf.customExtraPaths}"
- }
- }
- },
- "options": {
- "env": {
- "PATH": "${env:PATH}:${config:idf.customExtraPaths}"
- }
- },
- "problemMatcher": [
- {
- "owner": "cpp",
- "fileLocation": [
- "relative",
- "${workspaceFolder}"
- ],
- "pattern": {
- "regexp": "^\\.\\.(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
- "file": 1,
- "line": 2,
- "column": 3,
- "severity": 4,
- "message": 5
- }
- },
- {
- "owner": "cpp",
- "fileLocation": "absolute",
- "pattern": {
- "regexp": "^[^\\.](.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
- "file": 1,
- "line": 2,
- "column": 3,
- "severity": 4,
- "message": 5
- }
- }
- ]
- },
- {
- "label": "Flash - Flash the device",
- "type": "shell",
- "command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py -p ${config:idf.port} -b ${config:idf.flashBaudRate} flash",
- "windows": {
- "command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py flash -p ${config:idf.portWin} -b ${config:idf.flashBaudRate}",
- "options": {
- "env": {
- "PATH": "${env:PATH};${config:idf.customExtraPaths}"
- }
- }
- },
- "options": {
- "env": {
- "PATH": "${env:PATH}:${config:idf.customExtraPaths}"
- }
- },
- "problemMatcher": [
- {
- "owner": "cpp",
- "fileLocation": [
- "relative",
- "${workspaceFolder}"
- ],
- "pattern": {
- "regexp": "^\\.\\.(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
- "file": 1,
- "line": 2,
- "column": 3,
- "severity": 4,
- "message": 5
- }
- },
- {
- "owner": "cpp",
- "fileLocation": "absolute",
- "pattern": {
- "regexp": "^[^\\.](.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
- "file": 1,
- "line": 2,
- "column": 3,
- "severity": 4,
- "message": 5
- }
- }
- ]
- },
- {
- "label": "Monitor: Start the monitor",
- "type": "shell",
- "command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py -p ${config:idf.port} monitor",
- "windows": {
- "command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py -p ${config:idf.portWin} monitor",
- "options": {
- "env": {
- "PATH": "${env:PATH};${config:idf.customExtraPaths}"
- }
- }
- },
- "options": {
- "env": {
- "PATH": "${env:PATH}:${config:idf.customExtraPaths}"
- }
- },
- "problemMatcher": [
- {
- "owner": "cpp",
- "fileLocation": [
- "relative",
- "${workspaceFolder}"
- ],
- "pattern": {
- "regexp": "^\\.\\.(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
- "file": 1,
- "line": 2,
- "column": 3,
- "severity": 4,
- "message": 5
- }
- },
- {
- "owner": "cpp",
- "fileLocation": "absolute",
- "pattern": {
- "regexp": "^[^\\.](.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
- "file": 1,
- "line": 2,
- "column": 3,
- "severity": 4,
- "message": 5
- }
- }
- ],
- "dependsOn": "Flash - Flash the device"
- },
- {
- "label": "OpenOCD: Start openOCD",
- "type": "shell",
- "presentation": {
- "echo": true,
- "reveal": "never",
- "focus": false,
- "panel": "new"
- },
- "command": "openocd -s ${command:espIdf.getOpenOcdScriptValue} ${command:espIdf.getOpenOcdConfigs}",
- "windows": {
- "command": "openocd.exe -s ${command:espIdf.getOpenOcdScriptValue} ${command:espIdf.getOpenOcdConfigs}",
- "options": {
- "env": {
- "PATH": "${env:PATH};${config:idf.customExtraPaths}"
- }
- }
- },
- "options": {
- "env": {
- "PATH": "${env:PATH}:${config:idf.customExtraPaths}"
- }
- },
- "problemMatcher": {
- "owner": "cpp",
- "fileLocation": "absolute",
- "pattern": {
- "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
- "file": 1,
- "line": 2,
- "column": 3,
- "severity": 4,
- "message": 5
- }
- }
- },
- {
- "label": "adapter",
- "type": "shell",
- "command": "${config:idf.pythonBinPath}",
- "isBackground": true,
- "options": {
- "env": {
- "PATH": "${env:PATH}:${config:idf.customExtraPaths}",
- "PYTHONPATH": "${command:espIdf.getExtensionPath}/esp_debug_adapter/debug_adapter"
- }
- },
- "problemMatcher": {
- "background": {
- "beginsPattern": "\bDEBUG_ADAPTER_STARTED\b",
- "endsPattern": "DEBUG_ADAPTER_READY2CONNECT",
- "activeOnStart": true
- },
- "pattern": {
- "regexp": "(\\d+)-(\\d+)-(\\d+)\\s(\\d+):(\\d+):(\\d+),(\\d+)\\s-(.+)\\s(ERROR)",
- "file": 8,
- "line": 2,
- "column": 3,
- "severity": 4,
- "message": 9
- }
- },
- "args": [
- "${command:espIdf.getExtensionPath}/esp_debug_adapter/debug_adapter_main.py",
- "-e",
- "${workspaceFolder}/build/${command:espIdf.getProjectName}.elf",
- "-s",
- "${command:espIdf.getOpenOcdScriptValue}",
- "-ip",
- "localhost",
- "-dn",
- "${config:idf.adapterTargetName}",
- "-om",
- "connect_to_instance"
- ],
- "windows": {
- "command": "${config:idf.pythonBinPathWin}",
- "options": {
- "env": {
- "PATH": "${env:PATH};${config:idf.customExtraPaths}",
- "PYTHONPATH": "${command:espIdf.getExtensionPath}/esp_debug_adapter/debug_adapter"
- }
- }
- }
- }
- ]
-} \ No newline at end of file
diff --git a/bsp/ESP32_C3/CMakeLists.txt b/bsp/ESP32_C3/CMakeLists.txt
deleted file mode 100644
index 8e74c5b76a..0000000000
--- a/bsp/ESP32_C3/CMakeLists.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-cmake_minimum_required(VERSION 3.16)
-set(COMPONENTS esptool_py main)
-include($ENV{IDF_PATH}/tools/cmake/project.cmake)
-set(freertos_root /Users/tangyi/rt-thread/bsp/ESP32_C3/packages/FreeRTOS_Wrapper-latest/FreeRTOS)
-project(rtthread)
diff --git a/bsp/ESP32_C3/Makefile b/bsp/ESP32_C3/Makefile
deleted file mode 100644
index fdb56fa395..0000000000
--- a/bsp/ESP32_C3/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# This is a project Makefile. It is assumed the directory this Makefile resides in is a
-# project subdirectory.
-#
-
-PROJECT_NAME := rtthread
-
-include $(IDF_PATH)/make/project.mk
diff --git a/bsp/ESP32_C3/README.md b/bsp/ESP32_C3/README.md
index 054d141674..8fd8164ab1 100644
--- a/bsp/ESP32_C3/README.md
+++ b/bsp/ESP32_C3/README.md
@@ -42,13 +42,13 @@ Each peripheral supporting condition for this BSP is as follows:
| GPIO | Support | |
| UART | Support | Using LUATOS_ESP32C3 development board requires connecting serial port to USB chip UART0_TX and UART0_RX (such as CP2102) |
| JTAG debug | Support | ESP32C3 usb-linked development boards can be debugged |
-| WIFI | Partial support | There are currently some problems, such as `rt_mq_recive` cannot be used in ISR, etc., and we are still trying to solve it |
-| BLE | Partially supported | There are currently some problems, such as running errors caused by the same `PC` and `SP` pointers after `NimBLE` is started for a period of time |
+| WIFI | Partial support | There are currently some problems, such as `rt_mq_recive` cannot be used in ISR, etc. |
+| BLE | Partially supported | There are currently some problems, such as `NimBLE` running errors after starting for a while |
| GDBStub | Support | You can use the GDB provided by ESP-IDF by turning on the `BSP_ENABLE_GDBSTUB` switch, which will enter GDB mode after a chip error |
Note:
-1. WIFI and BLE cannot be enabled at the same time. When using the BLE driver, be sure to turn off the `RT_USING_WIFI` and `LWIP` switches in `menuconfig`. In addition, due to limited personal abilities and lack of debugging equipment, there are problems with the operation of WIFI and BLE drivers. If you can solve it, please contact me [[email protected]](mailto:[email protected]), I will be grateful.
+1. WIFI and BLE cannot be enabled at the same time. When using the BLE driver, be sure to turn off the `RT_USING_WIFI` and `LWIP` switches in `menuconfig`. In addition, due to limited capabilities and lack of debugging equipment, there are problems with WIFI and BLE driver operation. If it can be solved, please contact [[email protected]](mailto:[email protected]).
2. The BLE driver only supports `NimBLE` and is provided by the `bluetooth` component in `esp-idf`. To use the BLE driver, please refer to `bsp/ESP32_C3/packages/ESP-IDF-latest/examples/bluetooth/nimble` Sample program, please note that the `esp_timer_init()` function must be called to initialize the clock driver before calling the `NimBLE` related interface.
diff --git a/bsp/ESP32_C3/README_ZH.md b/bsp/ESP32_C3/README_ZH.md
index 90cc449d62..d57ea24c1c 100644
--- a/bsp/ESP32_C3/README_ZH.md
+++ b/bsp/ESP32_C3/README_ZH.md
@@ -49,13 +49,13 @@
| GPIO | 支持 | |
| UART | 支持 | 使用LUATOS_ESP32C3开发板需要在UART0_TX和UART0_RX连接串口转USB芯片(如CP2102)|
| JTAG调试 | 支持 | ESP32C3采用USB方式和PC链接的开发板可以调试 |
-| WIFI | 部分支持 | 目前存在一些问题,例如不能在ISR中使用`rt_mq_recive`等,还在尝试解决中 |
-| BLE | 部分支持 | 目前存在一些问题,例如`NimBLE`启动一段时间后`PC`和`SP`指针相同导致运行错误 |
+| WIFI | 部分支持 | 目前存在一些问题,例如不能在ISR中使用`rt_mq_recive`等 |
+| BLE | 部分支持 | 目前存在一些问题,例如`NimBLE`启动一段时间后运行错误 |
| GDBStub | 支持 | 通过开启`BSP_ENABLE_GDBSTUB`开关即可使用ESP-IDF所提供的GDB,其会在芯片出错后进入GDB模式 |
注:
-1、WIFI和BLE不能同时启用,在使用BLE驱动时注意在`menuconfig`中关闭`RT_USING_WIFI`和`LWIP`开关。另外由于个人能力有限且缺乏调试设备,WIFI和BLE驱动运行都有问题,如果可以解决联系我[[email protected]](mailto:[email protected]),本人感激不尽。
+1、WIFI和BLE不能同时启用,在使用BLE驱动时注意在`menuconfig`中关闭`RT_USING_WIFI`和`LWIP`开关。另外由于能力有限且缺乏调试设备,WIFI和BLE驱动运行都有问题,如果可以解决联系[[email protected]](mailto:[email protected])。
2、BLE驱动仅支持`NimBLE`,并且由`esp-idf`中的`bluetooth`组件提供,使用BLE驱动可以参考`bsp/ESP32_C3/packages/ESP-IDF-latest/examples/bluetooth/nimble`下的样例程序,注意在调用`NimBLE`相关接口之前要调用`esp_timer_init()`函数初始化时钟驱动。
diff --git a/bsp/ESP32_C3/images/build.png b/bsp/ESP32_C3/images/build.png
deleted file mode 100644
index 252b1129c4..0000000000
--- a/bsp/ESP32_C3/images/build.png
+++ /dev/null
Binary files differ
diff --git a/bsp/ESP32_C3/images/burn.png b/bsp/ESP32_C3/images/burn.png
deleted file mode 100644
index 8d23cc39ea..0000000000
--- a/bsp/ESP32_C3/images/burn.png
+++ /dev/null
Binary files differ
diff --git a/bsp/ESP32_C3/images/burn_en.png b/bsp/ESP32_C3/images/burn_en.png
deleted file mode 100644
index 3f8b7187dc..0000000000
--- a/bsp/ESP32_C3/images/burn_en.png
+++ /dev/null
Binary files differ
diff --git a/bsp/ESP32_C3/main/CMakeLists.txt b/bsp/ESP32_C3/main/CMakeLists.txt
deleted file mode 100644
index 143809bb18..0000000000
--- a/bsp/ESP32_C3/main/CMakeLists.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-idf_component_register(
- SRCS
- ../../../libcpu/risc-v/common/cpuport.c
- ../../../libcpu/risc-v/common/context_gcc.S
- ../../../components/drivers/ipc/completion.c
- ../../../components/drivers/ipc/dataqueue.c
- ../../../components/drivers/ipc/pipe.c
- ../../../components/drivers/ipc/ringblk_buf.c
- ../../../components/drivers/ipc/ringbuffer.c
- ../../../components/drivers/ipc/waitqueue.c
- ../../../components/drivers/ipc/workqueue.c
- ../../../components/drivers/misc/pin.c
- ../../../components/drivers/serial/serial.c
- ../drivers/drv_uart.c
- ../drivers/board.c
- ../drivers/drv_gpio.c
- ../../../components/finsh/shell.c
- ../../../components/finsh/msh.c
- ../../../components/finsh/msh_parse.c
- ../../../components/finsh/cmd.c
- ../../../src/clock.c
- ../../../src/components.c
- ../../../src/device.c
- ../../../src/idle.c
- ../../../src/ipc.c
- ../../../src/irq.c
- ../../../src/kservice.c
- ../../../src/mem.c
- ../../../src/mempool.c
- ../../../src/object.c
- ../../../src/scheduler.c
- ../../../src/thread.c
- ../../../src/timer.c
- main.c
-
- INCLUDE_DIRS
- ../../../libcpu/risc-v/common
- ../../../components/drivers/include
- ../drivers
- ../../../components/finsh
- ..
- ../../../include
-)
-
-target_link_libraries(${COMPONENT_LIB}
- INTERFACE "-u __rt_init_rt_work_sys_workqueue_init"
- INTERFACE "-u __rt_init_rt_hw_uart_init"
- INTERFACE "-u __rt_init_rt_hw_pin_init"
- INTERFACE "-u __rt_init_finsh_system_init"
-)
diff --git a/bsp/ESP32_C3/main/main.c b/bsp/ESP32_C3/main/main.c
index 6d1abff2b8..59a9c158d9 100644
--- a/bsp/ESP32_C3/main/main.c
+++ b/bsp/ESP32_C3/main/main.c
@@ -4,9 +4,10 @@
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
- * Date Author Notes
- * 2022-04-24 supperthomas first version
- * 2022-06-02 supperthomas fix version
+ * Date Author Notes
+ * 2022-04-24 supperthomas first version
+ * 2022-06-02 supperthomas fix version
+ * 2023-10-20 WCX1024979076 add wifi application
*/
#include <rtthread.h>
@@ -21,8 +22,8 @@ int main(void)
#ifdef BSP_USING_BLE
extern void app_main(void);
esp_timer_init();
- app_main(); //该函数为esp-wifi样例程序入口
-#endif
+ app_main(); //该函数为nimble样例程序入口
+#endif /* BSP_USING_BLE */
#ifdef RT_USING_WIFI
/* set wifi work mode */
diff --git a/bsp/ESP32_C3/rtconfig.h b/bsp/ESP32_C3/rtconfig.h
index 93cb8126b4..cbeb07d78e 100644
--- a/bsp/ESP32_C3/rtconfig.h
+++ b/bsp/ESP32_C3/rtconfig.h
@@ -7,6 +7,7 @@
/* RT-Thread Kernel */
#define RT_NAME_MAX 8
+#define RT_CPUS_NR 1
#define RT_ALIGN_SIZE 8
#define RT_THREAD_PRIORITY_32
#define RT_THREAD_PRIORITY_MAX 32
@@ -36,14 +37,11 @@
#define RT_USING_SMALL_MEM
#define RT_USING_SMALL_MEM_AS_HEAP
#define RT_USING_HEAP
-
-/* Kernel Device Object */
-
#define RT_USING_DEVICE
#define RT_USING_CONSOLE
#define RT_CONSOLEBUF_SIZE 256
#define RT_CONSOLE_DEVICE_NAME "uart"
-#define RT_VER_NUM 0x50002
+#define RT_VER_NUM 0x50100
/* RT-Thread Components */
@@ -110,6 +108,9 @@
/* Utilities */
+/* Memory management */
+
+
/* RT-Thread Utestcases */
diff --git a/bsp/ESP32_C3/rtt.patch b/bsp/ESP32_C3/rtt.patch
deleted file mode 100644
index 7f583abd2b..0000000000
--- a/bsp/ESP32_C3/rtt.patch
+++ /dev/null
@@ -1,600 +0,0 @@
-From 92402217b821c8da7e2a188352f095caaf0818d1 Mon Sep 17 00:00:00 2001
-From: tangzz98 <[email protected]>
-Date: Tue, 13 Sep 2022 18:05:44 -0400
-Subject: [PATCH 1/2] Add config for RT-Thread
-
----
- Kconfig | 4 +
- components/driver/deprecated/i2s_legacy.c | 4 +
- components/driver/uart.c | 4 +
- components/esp_system/crosscore_int.c | 5 +-
- .../esp_system/ld/esp32c3/sections.ld.in | 37 ++++
- .../port/arch/riscv/expression_with_stack.c | 8 +
- components/esp_system/startup.c | 9 +
- components/esp_system/task_wdt.c | 4 +
- components/esp_timer/src/esp_timer.c | 2 +
- components/freertos/CMakeLists.txt | 50 ++++-
- .../freertos_tasks_c_additions.h | 6 +-
- components/riscv/vectors.S | 179 ++++++++++++++++++
- 12 files changed, 309 insertions(+), 3 deletions(-)
-
-diff --git a/Kconfig b/Kconfig
-index c86ebeaaef..56d062b2db 100644
---- a/Kconfig
-+++ b/Kconfig
-@@ -101,6 +101,10 @@ mainmenu "Espressif IoT Development Framework Configuration"
- bool
- default "y" if IDF_TARGET="linux"
-
-+ config IDF_RTOS_RTTHREAD
-+ bool "RT-THREAD SELECT"
-+ default "n"
-+
- config IDF_FIRMWARE_CHIP_ID
- hex
- default 0x0000 if IDF_TARGET_ESP32
-diff --git a/components/driver/deprecated/i2s_legacy.c b/components/driver/deprecated/i2s_legacy.c
-index 2e36ab2608..92edf9d2bb 100644
---- a/components/driver/deprecated/i2s_legacy.c
-+++ b/components/driver/deprecated/i2s_legacy.c
-@@ -1600,7 +1600,11 @@ esp_err_t i2s_driver_install(i2s_port_t i2s_num, const i2s_config_t *i2s_config,
- i2s_obj->i2s_queue = xQueueCreate(queue_size, sizeof(i2s_event_t));
- ESP_GOTO_ON_FALSE(i2s_obj->i2s_queue, ESP_ERR_NO_MEM, err, TAG, "I2S queue create failed");
- *((QueueHandle_t *) i2s_queue) = i2s_obj->i2s_queue;
-+#if !defined CONFIG_IDF_RTOS_RTTHREAD
- ESP_LOGD(TAG, "queue free spaces: %d", uxQueueSpacesAvailable(i2s_obj->i2s_queue));
-+#else
-+ ESP_LOGD(TAG, "queue free spaces: %lu", uxQueueSpacesAvailable(i2s_obj->i2s_queue));
-+#endif
- } else {
- i2s_obj->i2s_queue = NULL;
- }
-diff --git a/components/driver/uart.c b/components/driver/uart.c
-index b68b2900e1..63c9841380 100644
---- a/components/driver/uart.c
-+++ b/components/driver/uart.c
-@@ -1603,7 +1603,11 @@ esp_err_t uart_driver_install(uart_port_t uart_num, int rx_buffer_size, int tx_b
- uart_pattern_queue_reset(uart_num, UART_PATTERN_DET_QLEN_DEFAULT);
- if (uart_queue) {
- *uart_queue = p_uart_obj[uart_num]->event_queue;
-+#if !defined CONFIG_IDF_RTOS_RTTHREAD
- ESP_LOGI(UART_TAG, "queue free spaces: %d", uxQueueSpacesAvailable(p_uart_obj[uart_num]->event_queue));
-+#else
-+ ESP_LOGI(UART_TAG, "queue free spaces: %lu", uxQueueSpacesAvailable(p_uart_obj[uart_num]->event_queue));
-+#endif
- }
- } else {
- ESP_LOGE(UART_TAG, "UART driver already installed");
-diff --git a/components/esp_system/crosscore_int.c b/components/esp_system/crosscore_int.c
-index 4aae2a2540..8a9079de64 100644
---- a/components/esp_system/crosscore_int.c
-+++ b/components/esp_system/crosscore_int.c
-@@ -95,13 +95,14 @@ static void IRAM_ATTR esp_crosscore_isr(void *arg) {
- if (my_reason_val & REASON_PRINT_BACKTRACE) {
- esp_backtrace_print(100);
- }
--
-+#ifdef CONFIG_ESP_TASK_WDT
- if (my_reason_val & REASON_TWDT_ABORT) {
- extern void task_wdt_timeout_abort_xtensa(bool);
- /* Called from a crosscore interrupt, thus, we are not the core that received
- * the TWDT interrupt, call the function with `false` as a parameter. */
- task_wdt_timeout_abort_xtensa(false);
- }
-+#endif
- #endif // CONFIG_IDF_TARGET_ARCH_XTENSA
- }
-
-@@ -171,7 +172,9 @@ void IRAM_ATTR esp_crosscore_int_send_print_backtrace(int core_id)
- esp_crosscore_int_send(core_id, REASON_PRINT_BACKTRACE);
- }
-
-+#ifdef CONFIG_ESP_TASK_WDT
- void IRAM_ATTR esp_crosscore_int_send_twdt_abort(int core_id) {
- esp_crosscore_int_send(core_id, REASON_TWDT_ABORT);
- }
- #endif
-+#endif
-diff --git a/components/esp_system/ld/esp32c3/sections.ld.in b/components/esp_system/ld/esp32c3/sections.ld.in
-index d6670bf759..1d51ffeea0 100644
---- a/components/esp_system/ld/esp32c3/sections.ld.in
-+++ b/components/esp_system/ld/esp32c3/sections.ld.in
-@@ -178,6 +178,26 @@ SECTIONS
- _noinit_end = ABSOLUTE(.);
- } > dram0_0_seg
-
-+ .stack :
-+ {
-+ . = ALIGN(8);
-+ __STACKSIZE__ = 40960;
-+ __stack_start__ = .;
-+ *(.stack*)
-+ . += __STACKSIZE__;
-+ __stack_cpu0 = .;
-+ __stack_end__ = .;
-+ } > dram0_0_seg
-+ PROVIDE( __rt_rvstack = __stack_end__);
-+
-+ .heap :
-+ {
-+ . = ALIGN(8);
-+ __HEAPSIZE__ = 40960;
-+ __heap_start__ = .;
-+ . += __HEAPSIZE__;
-+ __heap_end__ = .;
-+ } > dram0_0_seg
-+
- /* Shared RAM */
- .dram0.bss (NOLOAD) :
- {
-@@ -218,6 +238,17 @@ SECTIONS
- *(.fini)
- *(.gnu.version)
-
-+ /* section information for finsh shell */
-+ . = ALIGN(8);
-+ __fsymtab_start = .;
-+ KEEP(*(FSymTab))
-+ __fsymtab_end = .;
-+ . = ALIGN(8);
-+ __vsymtab_start = .;
-+ KEEP(*(VSymTab))
-+ __vsymtab_end = .;
-+ . = ALIGN(8);
-+
- /** CPU will try to prefetch up to 16 bytes of
- * of instructions. This means that any configuration (e.g. MMU, PMS) must allow
- * safe access to up to 16 bytes after the last real instruction, add
-@@ -318,6 +349,12 @@ SECTIONS
- _esp_system_init_fn_array_start = ABSOLUTE(.);
- KEEP (*(SORT_BY_INIT_PRIORITY(.esp_system_init_fn.*)))
- _esp_system_init_fn_array_end = ABSOLUTE(.);
-+ /* section information for initial. */
-+ . = ALIGN(4);
-+ __rt_init_start = .;
-+ KEEP(*(SORT(.rti_fn*)))
-+ __rt_init_end = .;
-+ . = ALIGN(4);
- _rodata_end = ABSOLUTE(.);
- /* Literals are also RO data. */
- _lit4_start = ABSOLUTE(.);
-diff --git a/components/esp_system/port/arch/riscv/expression_with_stack.c b/components/esp_system/port/arch/riscv/expression_with_stack.c
-index 07d22bf3aa..5eac5a88f8 100644
---- a/components/esp_system/port/arch/riscv/expression_with_stack.c
-+++ b/components/esp_system/port/arch/riscv/expression_with_stack.c
-@@ -18,6 +18,8 @@
- #include "freertos/FreeRTOS.h"
- #include "freertos/portmacro.h"
-
-+#if !defined CONFIG_IDF_RTOS_RTTHREAD
-+
- static portMUX_TYPE shared_stack_spinlock = portMUX_INITIALIZER_UNLOCKED;
- static void *current_task_stack = NULL;
-
-@@ -46,9 +48,12 @@ static StackType_t *esp_switch_stack_setup(StackType_t *stack, size_t stack_size
- return ((StackType_t *)adjusted_top_of_stack);
- }
-
-+#endif
-+
-
- void esp_execute_shared_stack_function(SemaphoreHandle_t lock, void *stack, size_t stack_size, shared_stack_function function)
- {
-+#if !defined CONFIG_IDF_RTOS_RTTHREAD
- assert(lock);
- assert(stack);
- assert(stack_size > 0 && stack_size >= CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE);
-@@ -70,4 +75,7 @@ void esp_execute_shared_stack_function(SemaphoreHandle_t lock, void *stack, size
- portEXIT_CRITICAL(&shared_stack_spinlock);
-
- xSemaphoreGive(lock);
-+#else
-+ function();
-+#endif
- }
-diff --git a/components/esp_system/startup.c b/components/esp_system/startup.c
-index 0feda4e9f5..b1752d91a0 100644
---- a/components/esp_system/startup.c
-+++ b/components/esp_system/startup.c
-@@ -72,6 +72,10 @@
- #include "esp_psram.h"
- #include "esp_private/esp_psram_extram.h"
- #endif
-+
-+#if CONFIG_IDF_RTOS_RTTHREAD
-+#include "rtthread.h"
-+#endif
- /***********************************************/
-
- #include "esp_private/startup_internal.h"
-@@ -266,6 +270,11 @@ static void do_core_init(void)
- app CPU, and when that is not up yet, the memory will be inaccessible and heap_caps_init may
- fail initializing it properly. */
- heap_caps_init();
-+#if CONFIG_IDF_RTOS_RTTHREAD && defined RT_USING_HEAP
-+ extern int __heap_start__;
-+ extern int __heap_end__;
-+ rt_system_heap_init((void *)&__heap_start__, (void *)&__heap_end__);
-+#endif
-
- // When apptrace module is enabled, there will be SEGGER_SYSVIEW calls in the newlib init.
- // SEGGER_SYSVIEW relies on apptrace module
-diff --git a/components/esp_system/task_wdt.c b/components/esp_system/task_wdt.c
-index 58d1247bf0..60330edf8a 100644
---- a/components/esp_system/task_wdt.c
-+++ b/components/esp_system/task_wdt.c
-@@ -29,6 +29,8 @@
- #include "esp_private/eh_frame_parser.h"
- #endif // CONFIG_ESP_SYSTEM_USE_EH_FRAME
-
-+#if CONFIG_ESP_TASK_WDT
-+
- #if CONFIG_IDF_TARGET_ARCH_RISCV && !CONFIG_ESP_SYSTEM_USE_EH_FRAME
- /* Function used to print all the registers pointed by the given frame .*/
- extern void panic_print_registers(const void *frame, int core);
-@@ -784,3 +786,5 @@ esp_err_t esp_task_wdt_status(TaskHandle_t task_handle)
-
- return ret;
- }
-+
-+#endif
-diff --git a/components/esp_timer/src/esp_timer.c b/components/esp_timer/src/esp_timer.c
-index 3ca19f642f..78779a08b3 100644
---- a/components/esp_timer/src/esp_timer.c
-+++ b/components/esp_timer/src/esp_timer.c
-@@ -460,10 +460,12 @@ out:
- return ESP_ERR_NO_MEM;
- }
-
-+#if !defined CONFIG_IDF_RTOS_RTTHREAD
- ESP_SYSTEM_INIT_FN(esp_timer_startup_init, BIT(0), 100)
- {
- return esp_timer_init();
- }
-+#endif
-
- esp_err_t esp_timer_deinit(void)
- {
-diff --git a/components/freertos/CMakeLists.txt b/components/freertos/CMakeLists.txt
-index 78a8e4ae4e..5cd54494f6 100644
---- a/components/freertos/CMakeLists.txt
-+++ b/components/freertos/CMakeLists.txt
-@@ -6,7 +6,36 @@ endif()
-
- idf_build_get_property(target IDF_TARGET)
-
--if(CONFIG_FREERTOS_SMP)
-+if(CONFIG_IDF_RTOS_RTTHREAD)
-+ set(freertos_root "../../../FreeRTOS_Wrapper-latest/FreeRTOS")
-+ set(srcs
-+ "${freertos_root}/portable/esp-idf/riscv/port.c")
-+
-+ set(include_dirs
-+ "${freertos_root}/include"
-+ esp_additions/include
-+ esp_additions/include/freertos
-+ "${freertos_root}/portable/esp-idf/riscv/include")
-+
-+ set(private_include_dirs
-+ "${freertos_root}/portable/esp-idf/riscv/include/freertos")
-+
-+ list(APPEND srcs
-+ "${freertos_root}/portable/esp-idf/port_common.c"
-+ "${freertos_root}/portable/esp-idf/port_rt.c"
-+ "${freertos_root}/event_groups.c"
-+ "${freertos_root}/queue.c"
-+ "${freertos_root}/tasks.c"
-+ "${freertos_root}/timers.c"
-+ "${freertos_root}/list.c"
-+ "FreeRTOS-openocd.c"
-+ "esp_additions/freertos_v8_compat.c")
-+
-+ list(APPEND private_include_dirs
-+ "${freertos_root}/include/freertos"
-+ "esp_additions/private_include")
-+
-+elseif(CONFIG_FREERTOS_SMP)
- set(ldfragments linker_smp.lf)
- if(CONFIG_IDF_TARGET_ARCH_XTENSA)
- set(srcs
-@@ -133,11 +162,19 @@ else()
- endif()
- endif()
-
-+if(CONFIG_IDF_RTOS_RTTHREAD)
-+idf_component_register(SRCS "${srcs}"
-+ INCLUDE_DIRS ${include_dirs}
-+ PRIV_INCLUDE_DIRS ${private_include_dirs}
-+ PRIV_REQUIRES soc esp_pm)
-+else()
- idf_component_register(SRCS "${srcs}"
- INCLUDE_DIRS ${include_dirs}
- PRIV_INCLUDE_DIRS ${private_include_dirs}
- LDFRAGMENTS "${ldfragments}"
-+ REQUIRES main
- PRIV_REQUIRES soc esp_pm)
-+endif()
-
- idf_component_get_property(COMPONENT_DIR freertos COMPONENT_DIR)
-
-@@ -153,6 +190,16 @@ if(CONFIG_FREERTOS_DEBUG_OCDAWARE)
- idf_build_set_property(COMPILE_OPTIONS "-DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1" APPEND)
- endif()
-
-+if(CONFIG_IDF_RTOS_RTTHREAD)
-+set_source_files_properties(
-+ tasks.c
-+ event_groups.c
-+ timers.c
-+ queue.c
-+ PROPERTIES COMPILE_DEFINITIONS
-+ _ESP_FREERTOS_INTERNAL
-+ )
-+else()
- set_source_files_properties(
- tasks.c
- event_groups.c
-@@ -162,6 +209,7 @@ set_source_files_properties(
- PROPERTIES COMPILE_DEFINITIONS
- _ESP_FREERTOS_INTERNAL
- )
-+endif()
-
- # The freertos component provides the `start_app` and `start_app_other_cores`
- # if it is included in the build. It then calls `app_main`
-diff --git a/components/freertos/esp_additions/private_include/freertos_tasks_c_additions.h b/components/freertos/esp_additions/private_include/freertos_tasks_c_additions.h
-index f5ecdbb5a9..96fc4f73ce 100644
---- a/components/freertos/esp_additions/private_include/freertos_tasks_c_additions.h
-+++ b/components/freertos/esp_additions/private_include/freertos_tasks_c_additions.h
-@@ -34,8 +34,9 @@
- struct _reent *__getreent(void)
- {
- // No lock needed because if this changes, we won't be running anymore.
-- TCB_t *pxCurTask = xTaskGetCurrentTaskHandle();
- struct _reent *ret;
-+#if !defined CONFIG_IDF_RTOS_RTTHREAD
-+ TCB_t *pxCurTask = xTaskGetCurrentTaskHandle();
- if (pxCurTask == NULL) {
- // No task running. Return global struct.
- ret = _GLOBAL_REENT;
-@@ -43,6 +44,9 @@ struct _reent *__getreent(void)
- // We have a task; return its reentrant struct.
- ret = &pxCurTask->xNewLib_reent;
- }
-+#else
-+ ret = _GLOBAL_REENT;
-+#endif
- return ret;
- }
- #endif // configUSE_NEWLIB_REENTRANT == 1
-diff --git a/components/riscv/vectors.S b/components/riscv/vectors.S
-index 9b868280db..23236f3d8d 100644
---- a/components/riscv/vectors.S
-+++ b/components/riscv/vectors.S
-@@ -10,6 +10,9 @@
- #include "soc/soc_caps.h"
- #include "sdkconfig.h"
-
-+#define STORE sw
-+#define LOAD lw
-+#define REGBYTES 4
-
- .equ SAVE_REGS, 32
- .equ CONTEXT_SIZE, (SAVE_REGS * 4)
-@@ -210,6 +213,8 @@ _return_from_exception:
- */
- .global _interrupt_handler
- .type _interrupt_handler, @function
-+#ifndef CONFIG_IDF_RTOS_RTTHREAD
-+
- _interrupt_handler:
- /* Start by saving the general purpose registers and the PC value before
- * the interrupt happened. */
-@@ -308,3 +313,177 @@ _interrupt_handler:
- /* exit, this will also re-enable the interrupts */
- mret
- .size _interrupt_handler, .-_interrupt_handler
-+#else
-+_interrupt_handler:
-+ /* 此时CPU的sp = from_thread->sp */
-+ /* 注意: 在这里,并没有将mepc的值赋值为from_thread栈中的epc,但后面会赋值 */
-+ addi sp, sp, -32 * REGBYTES /* sp = sp - 32 * 4 栈指针向下偏移32个寄存器长度,用来将CPU的寄存器保存到from_thread的栈中*/
-+ STORE x1, 1 * REGBYTES(sp) /* 将CPU的x1寄存器,即ra寄存器,保存到from_thread->栈中 */
-+
-+ li t0, 0x80 /* t0 = 0x80 */
-+ STORE t0, 2 * REGBYTES(sp) /* mstatus = t0, 即关闭全局中断 */
-+
-+ /* 将 CPU 的其他寄存器的值,保存到from_thread的任务栈中 */
-+ STORE x4, 4 * REGBYTES(sp)
-+ STORE x5, 5 * REGBYTES(sp)
-+ STORE x6, 6 * REGBYTES(sp)
-+ STORE x7, 7 * REGBYTES(sp)
-+ STORE x8, 8 * REGBYTES(sp)
-+ STORE x9, 9 * REGBYTES(sp)
-+ STORE x10, 10 * REGBYTES(sp)
-+ STORE x11, 11 * REGBYTES(sp)
-+ STORE x12, 12 * REGBYTES(sp)
-+ STORE x13, 13 * REGBYTES(sp)
-+ STORE x14, 14 * REGBYTES(sp)
-+ STORE x15, 15 * REGBYTES(sp)
-+ STORE x16, 16 * REGBYTES(sp)
-+ STORE x17, 17 * REGBYTES(sp)
-+ STORE x18, 18 * REGBYTES(sp)
-+ STORE x19, 19 * REGBYTES(sp)
-+ STORE x20, 20 * REGBYTES(sp)
-+ STORE x21, 21 * REGBYTES(sp)
-+ STORE x22, 22 * REGBYTES(sp)
-+ STORE x23, 23 * REGBYTES(sp)
-+ STORE x24, 24 * REGBYTES(sp)
-+ STORE x25, 25 * REGBYTES(sp)
-+ STORE x26, 26 * REGBYTES(sp)
-+ STORE x27, 27 * REGBYTES(sp)
-+ STORE x28, 28 * REGBYTES(sp)
-+ STORE x29, 29 * REGBYTES(sp)
-+ STORE x30, 30 * REGBYTES(sp)
-+ STORE x31, 31 * REGBYTES(sp)
-+
-+ /* 备份 CPU 的 sp (这时,CPU的sp其实就是from thread的sp指针) 寄存器的值到 s0 寄存器中,下面会使用s0,恢复 CPU 的寄存器 */
-+ move s0, sp /* s0 = sp */
-+
-+ /* 在中断函数中,中断函数中调用的C函数,需要使用 sp, 这里,在中断函数中,使用的 sp 为,系统的栈资源 */
-+ /* switch to interrupt stack */
-+ la sp, __stack_end__ /* sp = _sp */
-+
-+ /* interrupt handle */
-+ /* 注意: 在调用C函数之前,比如sp的值为0x30001000, 在执行完C函数后,sp的值还是会变成 0x30001000 */
-+ call rt_interrupt_enter /* 执行所有的中断函数前,调用该函数 */
-+
-+ csrr s1, mcause
-+ csrr s2, mstatus
-+
-+ /* Save the interrupt threshold level */
-+ la t0, INTERRUPT_CORE0_CPU_INT_THRESH_REG
-+ lw s3, 0(t0)
-+
-+ li t2, 0x7fffffff
-+ and t1, s1, t2 /* t1 = mcause & mask */
-+ slli t1, t1, 2 /* t1 = mcause * 4 */
-+ la t2, INTC_INT_PRIO_REG(0)
-+ add t1, t2, t1 /* t1 = INTC_INT_PRIO_REG + 4 * mcause */
-+ lw t2, 0(t1) /* t2 = INTC_INT_PRIO_REG[mcause] */
-+ addi t2, t2, 1 /* t2 = t2 +1 */
-+ sw t2, 0(t0) /* INTERRUPT_CORE0_CPU_INT_THRESH_REG = t2 */
-+ fence
-+
-+ li t0, 0x8
-+ csrrs t0, mstatus, t0
-+
-+ /* call the C dispatcher */
-+ mv a0, sp /* argument 1, stack pointer */
-+ mv a1, s1 /* argument 2, interrupt number (mcause) */
-+ /* mask off the interrupt flag of mcause */
-+ li t0, 0x7fffffff
-+ and a1, a1, t0
-+ jal _global_interrupt_handler
-+
-+ li t0, 0x8
-+ csrrc t0, mstatus, t0
-+
-+ /* restore the interrupt threshold level */
-+ la t0, INTERRUPT_CORE0_CPU_INT_THRESH_REG
-+ sw s3, 0(t0)
-+ fence
-+
-+ call rt_interrupt_leave /* 执行所有的中断函数后,调用该函数 */
-+
-+ /* 上面,将保存执行中断服务函数之前的CPU的sp寄存器到了s0所指向的位置处,当执行完中断服务函数,需要将之前的CPU寄存器,恢复一下,此时sp又变成了from thread的sp了 */
-+ move sp, s0 /* sp = s0 */
-+
-+ /* 下面两句话,相当于将 rt_thread_switch_interrupt_flag 值,赋值给了s2 */
-+ /* 将 rt_thread_switch_interrupt_flag 的地址值,赋值给 s0 寄存器*/
-+ la s0, rt_thread_switch_interrupt_flag /* s0 = &rt_thread_switch_interrupt_flag */
-+ /* 将 s0 所指向的地址处的内容,取出来,赋值给 s2 寄存器,其实就是将 rt_thread_switch_interrupt_flag 的值,赋值给了 s2 寄存器*/
-+ lw s2, 0(s0) /* s2 = *s0 = rt_thread_switch_interrupt_flag */
-+
-+ /* 如果 s2的值,即 rt_thread_switch_interrupt_flag 值,如果不为0,则需要继续执行下一条指令,如果为0,则需要跳转到 spurious_interrupt 标号处 执行 */
-+ /* 如果 s2的值等于0,rt_thread_switch_interrupt_flag等于0, 则不需要在中断处理函数中,进行上下文切换,反之则需要 */
-+ /* 如果不需要上下文切换, */
-+
-+ /* 在这里,跳转到 spurious_interrupt的话,是不会进行上下文切换的,因为,此时CPU的sp指针还是from线程的*/
-+ beqz s2, spurious_interrupt /* if (s2 == 0) goto spurious_interrupt; else 执行下一条语句*/
-+
-+ /* 需要上下文切换: 主要目的是将CPU的sp指针,赋值为to_thread的sp */
-+
-+ /* 将 s0 所执向的地址的内容设置为0, 也就是,将变量 rt_thread_switch_interrupt_flag 赋值为了 0 */
-+ /* s0存放的值是 rt_thread_switch_interrupt_flag 变量的地址*/
-+ sw zero, 0(s0) /* *s0 = 0; 也就是 rt_thread_switch_interrupt_flag = 0 */
-+ /* 将 mepc 的值,赋值给 a0 寄存器,mepc 的值是,跳转到中断函数执行之前的 PC 指针 */
-+ /* 这时的mpec其实,还是from线程,在跳转到中断执行前的一个PC地址 */
-+ csrr a0, mepc /* a0 = mepc */
-+
-+ /* 将 mpec 的值写回到freom thread任务栈中的 epc 中,待后续,恢复from线程时,使用 */
-+ STORE a0, 0 * REGBYTES(sp) /* from_thread->sp->epc = a0 ,中断入口处*/
-+
-+ /* 将from_thread的sp指针,赋值为CPU的sp指针 */
-+ la s0, rt_interrupt_from_thread /* s0 = &rt_interrupt_from_thread 注意: rt_interrupt_from_thread = &(from_thread->sp) */
-+ LOAD s1, 0(s0) /* s1 = rt_interrupt_from_thread,也就是s1 = &(from_thread->sp) */
-+ STORE sp, 0(s1) /* from_thread->sp = sp*/
-+
-+ /* 接下来,需要开始恢复CPU的sp为to_thread的sp了 */
-+ la s0, rt_interrupt_to_thread /* s0 = &rt_interrupt_to_thread 注意: rt_interrupt_to_thread = &(to_thred->sp)*/
-+ LOAD s1, 0(s0) /* s1 = rt_interrupt_to_thread, 也就是s1 = &(to_thred->sp) */
-+ LOAD sp, 0(s1) /* sp = (to_thred->sp)*/
-+
-+ /* 将CPU的 mepc设置为to_thred的mepc,待中断退出,执行mret指令后,将从该地址开始执行 */
-+ LOAD a0, 0 * REGBYTES(sp) /* a0 = to_thread的mepc的值*/
-+ csrw mepc, a0 /* mepc = a0 */
-+
-+
-+spurious_interrupt:
-+ LOAD x1, 1 * REGBYTES(sp)
-+
-+ /* Remain in M-mode after mret */
-+ li t0, 0x00001800
-+ csrs mstatus, t0
-+ LOAD t0, 2 * REGBYTES(sp)
-+ csrs mstatus, t0
-+
-+ LOAD x4, 4 * REGBYTES(sp)
-+ LOAD x5, 5 * REGBYTES(sp)
-+ LOAD x6, 6 * REGBYTES(sp)
-+ LOAD x7, 7 * REGBYTES(sp)
-+ LOAD x8, 8 * REGBYTES(sp)
-+ LOAD x9, 9 * REGBYTES(sp)
-+ LOAD x10, 10 * REGBYTES(sp)
-+ LOAD x11, 11 * REGBYTES(sp)
-+ LOAD x12, 12 * REGBYTES(sp)
-+ LOAD x13, 13 * REGBYTES(sp)
-+ LOAD x14, 14 * REGBYTES(sp)
-+ LOAD x15, 15 * REGBYTES(sp)
-+ LOAD x16, 16 * REGBYTES(sp)
-+ LOAD x17, 17 * REGBYTES(sp)
-+ LOAD x18, 18 * REGBYTES(sp)
-+ LOAD x19, 19 * REGBYTES(sp)
-+ LOAD x20, 20 * REGBYTES(sp)
-+ LOAD x21, 21 * REGBYTES(sp)
-+ LOAD x22, 22 * REGBYTES(sp)
-+ LOAD x23, 23 * REGBYTES(sp)
-+ LOAD x24, 24 * REGBYTES(sp)
-+ LOAD x25, 25 * REGBYTES(sp)
-+ LOAD x26, 26 * REGBYTES(sp)
-+ LOAD x27, 27 * REGBYTES(sp)
-+ LOAD x28, 28 * REGBYTES(sp)
-+ LOAD x29, 29 * REGBYTES(sp)
-+ LOAD x30, 30 * REGBYTES(sp)
-+ LOAD x31, 31 * REGBYTES(sp)
-+
-+ addi sp, sp, 32 * REGBYTES
-+ mret
-+ .size _interrupt_handler, .-_interrupt_handler
-+#endif
-\ No newline at end of file
---
-2.32.0 (Apple Git-132)
-
-
-From 394259fb2164e513abd4f0d23d88da92c2a2ac9e Mon Sep 17 00:00:00 2001
-From: tangzz98 <[email protected]>
-Date: Fri, 23 Sep 2022 00:12:13 -0400
-Subject: [PATCH 2/2] Specify freertos_root in project CMakeLists.txt
-
----
- components/freertos/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/components/freertos/CMakeLists.txt b/components/freertos/CMakeLists.txt
-index 5cd54494f6..33c901c187 100644
---- a/components/freertos/CMakeLists.txt
-+++ b/components/freertos/CMakeLists.txt
-@@ -7,7 +7,7 @@ endif()
- idf_build_get_property(target IDF_TARGET)
-
- if(CONFIG_IDF_RTOS_RTTHREAD)
-- set(freertos_root "../../../FreeRTOS_Wrapper-latest/FreeRTOS")
-+ message(${freertos_root})
- set(srcs
- "${freertos_root}/portable/esp-idf/riscv/port.c")
-
---
-2.32.0 (Apple Git-132)
-
diff --git a/bsp/ESP32_C3/sdkconfig b/bsp/ESP32_C3/sdkconfig
deleted file mode 100644
index dd189b63cf..0000000000
--- a/bsp/ESP32_C3/sdkconfig
+++ /dev/null
@@ -1,1017 +0,0 @@
-#
-# Automatically generated file. DO NOT EDIT.
-# Espressif IoT Development Framework (ESP-IDF) Project Configuration
-#
-CONFIG_SOC_ADC_SUPPORTED=y
-CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y
-CONFIG_SOC_GDMA_SUPPORTED=y
-CONFIG_SOC_TWAI_SUPPORTED=y
-CONFIG_SOC_BT_SUPPORTED=y
-CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y
-CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y
-CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y
-CONFIG_SOC_XT_WDT_SUPPORTED=y
-CONFIG_SOC_WIFI_SUPPORTED=y
-CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y
-CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y
-CONFIG_SOC_EFUSE_HAS_EFUSE_RST_BUG=y
-CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
-CONFIG_SOC_RTC_MEM_SUPPORTED=y
-CONFIG_SOC_I2S_SUPPORTED=y
-CONFIG_SOC_RMT_SUPPORTED=y
-CONFIG_SOC_SDM_SUPPORTED=y
-CONFIG_SOC_SYSTIMER_SUPPORTED=y
-CONFIG_SOC_SUPPORT_COEXISTENCE=y
-CONFIG_SOC_AES_SUPPORTED=y
-CONFIG_SOC_MPI_SUPPORTED=y
-CONFIG_SOC_SHA_SUPPORTED=y
-CONFIG_SOC_HMAC_SUPPORTED=y
-CONFIG_SOC_DIG_SIGN_SUPPORTED=y
-CONFIG_SOC_FLASH_ENC_SUPPORTED=y
-CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
-CONFIG_SOC_MEMPROT_SUPPORTED=y
-CONFIG_SOC_XTAL_SUPPORT_40M=y
-CONFIG_SOC_AES_SUPPORT_DMA=y
-CONFIG_SOC_AES_GDMA=y
-CONFIG_SOC_AES_SUPPORT_AES_128=y
-CONFIG_SOC_AES_SUPPORT_AES_256=y
-CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
-CONFIG_SOC_ADC_ARBITER_SUPPORTED=y
-CONFIG_SOC_ADC_FILTER_SUPPORTED=y
-CONFIG_SOC_ADC_MONITOR_SUPPORTED=y
-CONFIG_SOC_ADC_DMA_SUPPORTED=y
-CONFIG_SOC_ADC_PERIPH_NUM=2
-CONFIG_SOC_ADC_MAX_CHANNEL_NUM=5
-CONFIG_SOC_ADC_ATTEN_NUM=4
-CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=1
-CONFIG_SOC_ADC_PATT_LEN_MAX=8
-CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12
-CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12
-CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4
-CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4
-CONFIG_SOC_ADC_DIGI_FILTER_NUM=2
-CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2
-CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333
-CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611
-CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12
-CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12
-CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y
-CONFIG_SOC_APB_BACKUP_DMA=y
-CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y
-CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y
-CONFIG_SOC_CACHE_MEMORY_IBANK_SIZE=0x4000
-CONFIG_SOC_CPU_CORES_NUM=1
-CONFIG_SOC_CPU_INTR_NUM=32
-CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC=y
-CONFIG_SOC_CPU_BREAKPOINTS_NUM=8
-CONFIG_SOC_CPU_WATCHPOINTS_NUM=8
-CONFIG_SOC_CPU_WATCHPOINT_SIZE=0x80000000
-CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=3072
-CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16
-CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100
-CONFIG_SOC_GDMA_GROUPS=1
-CONFIG_SOC_GDMA_PAIRS_PER_GROUP=3
-CONFIG_SOC_GDMA_TX_RX_SHARE_INTERRUPT=y
-CONFIG_SOC_GPIO_PORT=1
-CONFIG_SOC_GPIO_PIN_COUNT=22
-CONFIG_SOC_GPIO_SUPPORTS_RTC_INDEPENDENT=y
-CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y
-CONFIG_SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP=y
-CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK=0
-CONFIG_SOC_GPIO_SUPPORT_SLP_SWITCH=y
-CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8
-CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8
-CONFIG_SOC_DEDIC_PERIPH_ALWAYS_ENABLE=y
-CONFIG_SOC_I2C_NUM=1
-CONFIG_SOC_I2C_FIFO_LEN=32
-CONFIG_SOC_I2C_SUPPORT_SLAVE=y
-CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y
-CONFIG_SOC_I2C_SUPPORT_XTAL=y
-CONFIG_SOC_I2C_SUPPORT_RTC=y
-CONFIG_SOC_I2S_NUM=y
-CONFIG_SOC_I2S_HW_VERSION_2=y
-CONFIG_SOC_I2S_SUPPORTS_PCM=y
-CONFIG_SOC_I2S_SUPPORTS_PDM=y
-CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y
-CONFIG_SOC_I2S_SUPPORTS_PDM_CODEC=y
-CONFIG_SOC_I2S_SUPPORTS_TDM=y
-CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y
-CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y
-CONFIG_SOC_LEDC_CHANNEL_NUM=6
-CONFIG_SOC_LEDC_TIMER_BIT_WIDE_NUM=14
-CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y
-CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000
-CONFIG_SOC_MPU_REGIONS_MAX_NUM=8
-CONFIG_SOC_RMT_GROUPS=1
-CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=2
-CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=2
-CONFIG_SOC_RMT_CHANNELS_PER_GROUP=4
-CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48
-CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y
-CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y
-CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y
-CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y
-CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y
-CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y
-CONFIG_SOC_RMT_SUPPORT_XTAL=y
-CONFIG_SOC_RMT_SUPPORT_APB=y
-CONFIG_SOC_RMT_SUPPORT_RC_FAST=y
-CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128
-CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=108
-CONFIG_SOC_RTC_SLOW_CLOCK_SUPPORT_8MD256=y
-CONFIG_SOC_RTCIO_PIN_COUNT=0
-CONFIG_SOC_RSA_MAX_BIT_LEN=3072
-CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968
-CONFIG_SOC_SHA_SUPPORT_DMA=y
-CONFIG_SOC_SHA_SUPPORT_RESUME=y
-CONFIG_SOC_SHA_GDMA=y
-CONFIG_SOC_SHA_SUPPORT_SHA1=y
-CONFIG_SOC_SHA_SUPPORT_SHA224=y
-CONFIG_SOC_SHA_SUPPORT_SHA256=y
-CONFIG_SOC_SDM_GROUPS=1
-CONFIG_SOC_SDM_CHANNELS_PER_GROUP=4
-CONFIG_SOC_SPI_PERIPH_NUM=2
-CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64
-CONFIG_SOC_SPI_SUPPORT_DDRCLK=y
-CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y
-CONFIG_SOC_SPI_SUPPORT_CD_SIG=y
-CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y
-CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y
-CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y
-CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y
-CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16
-CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y
-CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y
-CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y
-CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR=y
-CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y
-CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS=y
-CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y
-CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y
-CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y
-CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y
-CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y
-CONFIG_SOC_SYSTIMER_COUNTER_NUM=2
-CONFIG_SOC_SYSTIMER_ALARM_NUM=3
-CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32
-CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20
-CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y
-CONFIG_SOC_SYSTIMER_INT_LEVEL=y
-CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y
-CONFIG_SOC_TIMER_GROUPS=2
-CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=1
-CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54
-CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y
-CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y
-CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=2
-CONFIG_SOC_TWAI_BRP_MIN=2
-CONFIG_SOC_TWAI_BRP_MAX=16384
-CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y
-CONFIG_SOC_SECURE_BOOT_V2_RSA=y
-CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3
-CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y
-CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y
-CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32
-CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y
-CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y
-CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16
-CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=512
-CONFIG_SOC_UART_NUM=2
-CONFIG_SOC_UART_FIFO_LEN=128
-CONFIG_SOC_UART_BITRATE_MAX=5000000
-CONFIG_SOC_UART_SUPPORT_APB_CLK=y
-CONFIG_SOC_UART_SUPPORT_RTC_CLK=y
-CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y
-CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y
-CONFIG_SOC_UART_REQUIRE_CORE_RESET=y
-CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y
-CONFIG_SOC_COEX_HW_PTI=y
-CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
-CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192
-CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12
-CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y
-CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y
-CONFIG_SOC_PM_SUPPORT_CPU_PD=y
-CONFIG_SOC_PM_SUPPORT_WIFI_PD=y
-CONFIG_SOC_PM_SUPPORT_BT_PD=y
-CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y
-CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y
-CONFIG_SOC_WIFI_HW_TSF=y
-CONFIG_SOC_WIFI_FTM_SUPPORT=y
-CONFIG_SOC_WIFI_GCMP_SUPPORT=y
-CONFIG_SOC_WIFI_WAPI_SUPPORT=y
-CONFIG_SOC_WIFI_CSI_SUPPORT=y
-CONFIG_SOC_WIFI_MESH_SUPPORT=y
-CONFIG_SOC_BLE_SUPPORTED=y
-CONFIG_IDF_CMAKE=y
-CONFIG_IDF_TARGET_ARCH_RISCV=y
-CONFIG_IDF_TARGET_ARCH="riscv"
-CONFIG_IDF_TARGET="esp32c3"
-CONFIG_IDF_TARGET_ESP32C3=y
-CONFIG_IDF_RTOS_RTTHREAD=y
-CONFIG_IDF_FIRMWARE_CHIP_ID=0x0005
-
-#
-# Build type
-#
-CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y
-# CONFIG_APP_BUILD_TYPE_ELF_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
-CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
-# 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
-CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
-# 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
-CONFIG_SECURE_ROM_DL_MODE_ENABLED=y
-# 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_JPEG_DECODE=y
-CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y
-CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=3
-CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y
-CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y
-CONFIG_ESP_ROM_GET_CLK_FREQ=y
-CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=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_26M 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=y
-# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set
-# CONFIG_PARTITION_TABLE_TWO_OTA is not set
-# CONFIG_PARTITION_TABLE_CUSTOM is not set
-CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
-CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv"
-CONFIG_PARTITION_TABLE_OFFSET=0x8000
-CONFIG_PARTITION_TABLE_MD5=y
-# end of Partition Table
-
-#
-# Compiler options
-#
-CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y
-# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
-# CONFIG_COMPILER_OPTIMIZATION_PERF is not set
-# 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_FLOAT_LIB_FROM_GCCLIB=y
-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_DUMP_RTL_FILES is not set
-# end of Compiler options
-
-#
-# Component config
-#
-
-#
-# 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
-# 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 is not set
-# 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_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_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
-# 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
-
-#
-# Common ESP-related
-#
-CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
-# end of Common ESP-related
-
-#
-# Hardware Settings
-#
-
-#
-# 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_ESP32C3_UNIVERSAL_MAC_ADDRESSES_TWO is not set
-CONFIG_ESP32C3_UNIVERSAL_MAC_ADDRESSES_FOUR=y
-CONFIG_ESP32C3_UNIVERSAL_MAC_ADDRESSES=4
-# end of MAC Config
-
-#
-# Sleep Config
-#
-CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
-CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y
-# CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND is not set
-# 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
-CONFIG_RTC_CLOCK_BBPLL_POWER_ON_WITH_USB=y
-# end of RTC Clock Config
-
-#
-# Peripheral Control
-#
-# CONFIG_PERIPH_CTRL_FUNC_IN_IRAM is not set
-# end of Peripheral Control
-
-#
-# MMU Config
-#
-CONFIG_MMU_PAGE_SIZE_64KB=y
-CONFIG_MMU_PAGE_MODE="64KB"
-CONFIG_MMU_PAGE_SIZE=0x10000
-# end of MMU Config
-
-# CONFIG_ESP32C3_REV_MIN_0 is not set
-# CONFIG_ESP32C3_REV_MIN_1 is not set
-# CONFIG_ESP32C3_REV_MIN_2 is not set
-CONFIG_ESP32C3_REV_MIN_3=y
-# CONFIG_ESP32C3_REV_MIN_4 is not set
-CONFIG_ESP32C3_REV_MIN=3
-
-#
-# GDMA Configuration
-#
-# CONFIG_GDMA_CTRL_FUNC_IN_IRAM is not set
-# CONFIG_GDMA_ISR_IRAM_SAFE 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
-
-#
-# Power Management
-#
-# CONFIG_PM_ENABLE is not set
-CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y
-# end of Power Management
-
-#
-# ESP Ringbuf
-#
-# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set
-# CONFIG_RINGBUF_PLACE_ISR_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_GDBSTUB_RUNTIME is not set
-CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y
-CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y
-CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y
-# CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set
-
-#
-# 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_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_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_UART=y
-CONFIG_ESP_CONSOLE_UART_NUM=0
-CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
-# CONFIG_ESP_INT_WDT is not set
-# CONFIG_ESP_TASK_WDT is not set
-# CONFIG_ESP_PANIC_HANDLER_IRAM is not set
-# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set
-# CONFIG_ESP_DEBUG_OCDAWARE is not set
-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
-# end of ESP System Settings
-
-#
-# IPC (Inter-Processor Call)
-#
-CONFIG_ESP_IPC_TASK_STACK_SIZE=1536
-# 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)
-
-#
-# FreeRTOS
-#
-
-#
-# Kernel
-#
-# CONFIG_FREERTOS_SMP is not set
-CONFIG_FREERTOS_UNICORE=y
-CONFIG_FREERTOS_HZ=1000
-CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y
-CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE=y
-# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set
-# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY is not set
-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_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
-# end of Kernel
-
-#
-# Port
-#
-CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y
-# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
-# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set
-CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
-CONFIG_FREERTOS_ISR_STACKSIZE=1536
-CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
-CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y
-CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y
-# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set
-CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y
-# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set
-# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
-CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y
-# CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT is not set
-# end of Port
-
-CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
-CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=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
-# 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_ABORT_WHEN_ALLOCATION_FAILS 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_COLORS=y
-CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
-# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set
-# end of Log output
-
-#
-# 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
-# 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 is not set
-CONFIG_MBEDTLS_HARDWARE_AES=y
-CONFIG_MBEDTLS_AES_USE_INTERRUPT=y
-CONFIG_MBEDTLS_HARDWARE_MPI=y
-CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y
-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_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=y
-# CONFIG_MBEDTLS_SECURITY_RISKS is not set
-# end of mbedTLS
-
-#
-# 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
-
-#
-# 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
-
-#
-# 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_HAS_ROM_IMPL=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_SHARE_SPI1_BUS 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_AUTO_SUSPEND is not set
-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
-
-#
-# 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
-
-#
-# 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
-# end of Component config
-
-# Deprecated options for backward compatibility
-# CONFIG_NO_BLOBS is not set
-# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set
-# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set
-# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set
-CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y
-# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set
-# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set
-CONFIG_LOG_BOOTLOADER_LEVEL=3
-# CONFIG_APP_ROLLBACK_ENABLE is not set
-# CONFIG_FLASH_ENCRYPTION_ENABLED is not set
-# CONFIG_FLASHMODE_QIO is not set
-# CONFIG_FLASHMODE_QOUT is not set
-CONFIG_FLASHMODE_DIO=y
-# CONFIG_FLASHMODE_DOUT is not set
-CONFIG_MONITOR_BAUD=115200
-CONFIG_OPTIMIZATION_LEVEL_DEBUG=y
-CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y
-# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set
-# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set
-CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
-# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set
-# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set
-CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2
-# CONFIG_CXX_EXCEPTIONS is not set
-CONFIG_STACK_CHECK_NONE=y
-# CONFIG_STACK_CHECK_NORM is not set
-# CONFIG_STACK_CHECK_STRONG is not set
-# CONFIG_STACK_CHECK_ALL is not set
-# CONFIG_WARN_WRITE_STRINGS is not set
-CONFIG_ESP_SYSTEM_PD_FLASH=y
-CONFIG_ESP32C3_LIGHTSLEEP_GPIO_RESET_WORKAROUND=y
-CONFIG_ESP32C3_RTC_CLK_SRC_INT_RC=y
-# CONFIG_ESP32C3_RTC_CLK_SRC_EXT_CRYS is not set
-# CONFIG_ESP32C3_RTC_CLK_SRC_EXT_OSC is not set
-# CONFIG_ESP32C3_RTC_CLK_SRC_INT_8MD256 is not set
-CONFIG_ESP32C3_RTC_CLK_CAL_CYCLES=1024
-CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y
-# CONFIG_ESP32C3_DEFAULT_CPU_FREQ_80 is not set
-CONFIG_ESP32C3_DEFAULT_CPU_FREQ_160=y
-CONFIG_ESP32C3_DEFAULT_CPU_FREQ_MHZ=160
-CONFIG_ESP32C3_MEMPROT_FEATURE=y
-CONFIG_ESP32C3_MEMPROT_FEATURE_LOCK=y
-CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
-CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304
-CONFIG_MAIN_TASK_STACK_SIZE=3584
-CONFIG_CONSOLE_UART_DEFAULT=y
-# CONFIG_CONSOLE_UART_CUSTOM is not set
-# CONFIG_CONSOLE_UART_NONE is not set
-# CONFIG_ESP_CONSOLE_UART_NONE is not set
-CONFIG_CONSOLE_UART=y
-CONFIG_CONSOLE_UART_NUM=0
-CONFIG_CONSOLE_UART_BAUDRATE=115200
-# CONFIG_INT_WDT is not set
-# CONFIG_TASK_WDT is not set
-# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set
-# CONFIG_ESP32C3_DEBUG_OCDAWARE is not set
-CONFIG_BROWNOUT_DET=y
-CONFIG_ESP32C3_BROWNOUT_DET=y
-CONFIG_ESP32C3_BROWNOUT_DET=y
-CONFIG_BROWNOUT_DET_LVL_SEL_7=y
-CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_7=y
-# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set
-# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_6 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set
-# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_5 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set
-# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_4 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set
-# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_3 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set
-# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_2 is not set
-CONFIG_BROWNOUT_DET_LVL=7
-CONFIG_ESP32C3_BROWNOUT_DET_LVL=7
-CONFIG_IPC_TASK_STACK_SIZE=1536
-CONFIG_TIMER_TASK_STACK_SIZE=3584
-CONFIG_TIMER_TASK_PRIORITY=1
-CONFIG_TIMER_TASK_STACK_DEPTH=2048
-CONFIG_TIMER_QUEUE_LENGTH=10
-# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set
-# CONFIG_HAL_ASSERTION_SILIENT is not set
-CONFIG_ESP32C3_TIME_SYSCALL_USE_RTC_SYSTIMER=y
-# CONFIG_ESP32C3_TIME_SYSCALL_USE_RTC is not set
-# CONFIG_ESP32C3_TIME_SYSCALL_USE_SYSTIMER is not set
-# CONFIG_ESP32C3_TIME_SYSCALL_USE_NONE is not set
-CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5
-CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
-CONFIG_ESP32_PTHREAD_STACK_MIN=768
-CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1
-CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread"
-CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y
-# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set
-# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set
-# End of deprecated options