├── .gitignore ├── .vscode ├── c_cpp_properties.json ├── launch.json └── tasks.json ├── CMakeLists.txt ├── Esp32_debug_template.code-workspace ├── LICENSE ├── Makefile ├── README.md ├── img ├── DeviceManager1.PNG ├── Esp32_win_gdb_debug.jpg ├── IDF_PATH.jpg ├── InstallExtensions.jpg ├── OpenProject.jpg ├── OpenWorkspace.jpg ├── VsCode_extensions.jpg ├── bar.jpg ├── env1.jpg ├── env2.jpg ├── idf_py_path.jpg ├── menuconfig.jpg ├── vcp.PNG ├── win_path.jpg ├── wrover_ft2232.PNG ├── zadig1.png └── zadig2.PNG ├── main ├── CMakeLists.txt ├── Kconfig.projbuild ├── component.mk └── main.c └── sdkconfig.defaults /.gitignore: -------------------------------------------------------------------------------- 1 | # ESP-IDF library 2 | build 3 | .browse.* 4 | ipch 5 | *.old 6 | sdkconfig -------------------------------------------------------------------------------- /.vscode/c_cpp_properties.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "name": "Win32", 5 | "includePath": [ 6 | "${workspaceFolder}/**", 7 | "${workspaceFolder}/build/config/*", 8 | "${env:IDF_PATH}/components/**" 9 | 10 | ], 11 | "defines": [ 12 | "_DEBUG", 13 | "UNICODE", 14 | "_UNICODE" 15 | ], 16 | "cStandard": "c11", 17 | "cppStandard": "c++17", 18 | "compilerPath": "c:/Program Files/Espressif/ESP-IDF Tools/tools/bin/xtensa-esp32-elf-gcc.exe", 19 | "compileCommands": "${workspaceFolder}/build/compile_commands.json" 20 | } 21 | ], 22 | "version": 4 23 | } -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.1.0", 3 | "configurations": [ 4 | { 5 | "name": "Flash + Debug", 6 | "type": "gdb", 7 | "request": "launch", 8 | "target": "./build/${workspaceFolderBasename}.elf", 9 | "cwd": "${workspaceFolder}", 10 | "gdbpath": "xtensa-esp32-elf-gdb", 11 | "preLaunchTask": "OpenOCD", 12 | "autorun": [ 13 | "target remote :3333", 14 | "mon reset halt", 15 | "mon program_esp32 ./build/${workspaceFolderBasename}.bin 0x10000", 16 | "mon reset halt", 17 | "flushregs", 18 | "thb app_main", 19 | "c" 20 | ], 21 | }, 22 | { 23 | "name": "Debug", 24 | "type": "gdb", 25 | "request": "launch", 26 | "target": "./build/${workspaceFolderBasename}.elf", 27 | "cwd": "${workspaceFolder}", 28 | "gdbpath": "xtensa-esp32-elf-gdb", 29 | "preLaunchTask": "OpenOCD", 30 | "autorun": [ 31 | "target remote :3333", 32 | "mon reset halt", 33 | "flushregs", 34 | "thb app_main", 35 | "c" 36 | ], 37 | } 38 | ] 39 | } -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | { 5 | "label": "OpenOCD", 6 | "type": "shell", 7 | "isBackground": true, 8 | "command": "openocd -f interface/ftdi/esp32_devkitj_v1.cfg -f board/esp-wroom-32.cfg", 9 | "problemMatcher": [ 10 | { 11 | "pattern": [ 12 | { 13 | "regexp": ".", 14 | "file": 1, 15 | "location": 2, 16 | "message": 3 17 | } 18 | ], 19 | "background": { 20 | "activeOnStart": true, 21 | "beginsPattern": ".", 22 | "endsPattern": ".", 23 | } 24 | } 25 | ] 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following five lines of boilerplate have to be in your project's 2 | # CMakeLists in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.5) 4 | 5 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 6 | get_filename_component(ProjectId ${CMAKE_CURRENT_LIST_DIR} NAME) 7 | string(REPLACE " " "_" ProjectId ${ProjectId}) 8 | project(${ProjectId}) 9 | -------------------------------------------------------------------------------- /Esp32_debug_template.code-workspace: -------------------------------------------------------------------------------- 1 | { 2 | "folders": [ 3 | { 4 | "path": "." 5 | } 6 | ], 7 | "extensions": { 8 | "recommendations": [ 9 | "ms-vscode.cpptools", 10 | "twxs.cmake", 11 | "eamodio.gitlens", 12 | "mhutchie.git-graph", 13 | "donjayamanne.githistory", 14 | "seunlanlege.action-buttons", 15 | "vscode-icons-team.vscode-icons", 16 | "webfreak.debug" 17 | ] 18 | }, 19 | "settings": { 20 | "actionButtons": { 21 | "defaultColor": "#ff0034", 22 | "commands": [ 23 | { 24 | "name": "Py Menu", 25 | "color": "lime", 26 | "command": "powershell idf.py menuconfig" 27 | }, 28 | { 29 | "name": "Py Build", 30 | "color": "orange", 31 | "command": "idf.py build" 32 | }, 33 | { 34 | "name": "Py Flash", 35 | "color": "lime", 36 | "command": "idf.py flash" 37 | }, 38 | { 39 | "name": "Py Monitor", 40 | "color": "orange", 41 | "command": "idf.py monitor" 42 | }, 43 | { 44 | "name": "Py clean", 45 | "color": "white", 46 | "command": "idf.py clean" 47 | } 48 | ] 49 | }, 50 | "terminal.integrated.shell.windows": "C:/Windows/System32/cmd.exe", 51 | "workbench.iconTheme": "vscode-icons" 52 | } 53 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # This is a project Makefile. It is assumed the directory this Makefile resides in is a 3 | # project subdirectory. 4 | # 5 | 6 | PROJECT_NAME := $(notdir $(CURDIR)) 7 | 8 | include $(IDF_PATH)/make/project.mk 9 | 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ESP32 VsCode Setup & Debug 2 | This is a tutorial for ESP32 Visual Studio Code setup 3 | Also contain a template project with settings for ESP32 Visual Studio Code debug 4 | for ESP-IDF projects. 5 | 6 | If you are looking for ESP32 Arduino debugging, check out PlatformIO or VisualGDB. 7 | 8 | ### Feel free to use this template as a base for new esp-idf projects 9 | 10 | ## Get the tools ## 11 | 1. Install git from https://git-scm.com/download/win 12 | 2. Clone the esp-idf v3.2 branch using command: 13 | `git clone --recursive -b release/v3.2 https://github.com/espressif/esp-idf.git` 14 | 3. Add IDF_PATH and path to esp-idf\tools to system "path" environment variables: 15 | 16 | - Right click on "This PC" -> Properties 17 | 18 | ![image](img/env1.jpg) 19 | 20 | - Go to "Advanced System Settings" 21 | 22 | ![image](img/env2.jpg) 23 | 24 | - Add a new environment variable called `IDF_PATH` pointing to esp-idf repository folder on your pc 25 | 26 | ![image](img/IDF_PATH.jpg) 27 | 28 | - go to `Path` variable and click Edit 29 | 30 | ![image](img/win_path.jpg) 31 | 32 | - Add a new value: `%IDF_PATH%\tools` 33 | 34 | ![image](img/idf_py_path.jpg) 35 | 36 | 4. Install https://dl.espressif.com/dl/esp-idf-tools-setup-1.2.exe 37 | to get the cmake, ninja build, openocd and all other tools needed to build, flash and debug the esp32 38 | 39 | ## Set the drivers ## 40 | 1. Connect the Wrover Kit (or some other ft2232 debugger) o PC USB 41 | 2. Install the FTDI drivers from https://www.ftdichip.com/Drivers/VCP.htm 42 | 43 | ![image](img/DeviceManager1.PNG) 44 | 45 | 3. Download Zadig tool from https://zadig.akeo.ie/ 46 | 4. Open Zadig Tool and go to Options->List All Devices 47 | 48 | ![image](img/zadig1.png) 49 | 50 | 5. Select the FT2232 channel you want to use as Jtag. 51 | In case of Wrover-Kit, is channel 0: “Dual RS232-HS (interface 0)”, according to Wrover-Kit schematic: 52 | 53 | ![image](img/wrover_ft2232.PNG) 54 | 55 | 56 | 6. Select WinUSB -> Click Replace Driver 57 | 58 | ![image](img/zadig2.PNG) 59 | 60 | 7. After operation completed, disconnect and reconnect the device to USB port 61 | 8. In case that other channel (channel 1 in case of wrover-kit) is not detected as com port (used by esptool for flashing), 62 | you must enable the VCP mode on channel 1, this way: 63 | - On device manager, right click on “USB Serial Converter B” - >Properties ->Advanced 64 | Select “Load VCP” then click OK. 65 | 66 | ![image](img/vcp.PNG) 67 | 68 | ## Open the project, build, debug ## 69 | ## Get the IDE ## 70 | 1. Install Visual Studio code from https://code.visualstudio.com/docs/?dv=win 71 | 72 | 2. Open this project in VsCode: Right click on the project folder->Open with Code 73 | 74 | ![image](img/OpenProject.jpg) 75 | 76 | 3. Open project Workspace 77 | 78 | ![image](img/OpenWorkspace.jpg) 79 | 80 | 4. Install required extensions Allow VsCode to install the required extensions 81 | 82 | ![image](img/InstallExtensions.jpg) 83 | 84 | 5. Once the VsCode extensions are installed properly, you should see the command buttons on the lower bar: 85 | 86 | ![image](img/bar.jpg) 87 | 88 | - `Py Menu` : Run Menuconfig 89 | Will open menuconfig on VsCode console window. 90 | Note: Allow VSCode to use cmd.exe when asked. 91 | After this permision is granted, the menuconfig and build output will be shown on VsCode console window. 92 | Resize the VsCode console window to fit the menuconfig, otherwise the menuconfig will complain... 93 | 94 | ![image](img/menuconfig.jpg) 95 | 96 | - `Py Build` : Build the project using Cmake and ninja build (faster than "make") 97 | Note: Allow VSCode to use cmd.exe when asked to get the output on VsCode console. 98 | - `Py Flash` : Flash the compiled file to target board. 99 | Note: Flasher will open the first disponible com port for flashing. 100 | If you have more than 1 com port on device manager, make sure the ESP32 download port has the lowest com number. 101 | - `Py Monitor` : Open serial monitor. 102 | Note: Use CTRL+C to close the monitor 103 | - `Py Clean` : Clean the project. 104 | 105 | 6. To debug the project, follow this steps to start the debugger: 106 | 107 | !["image"](img/Esp32_win_gdb_debug.jpg) 108 | 109 | ##Happy Debugging -------------------------------------------------------------------------------- /img/DeviceManager1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botofancalin/Esp32_debug_template/0d4152657db4f0d8bb244e1d0ad78019fa94b76b/img/DeviceManager1.PNG -------------------------------------------------------------------------------- /img/Esp32_win_gdb_debug.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botofancalin/Esp32_debug_template/0d4152657db4f0d8bb244e1d0ad78019fa94b76b/img/Esp32_win_gdb_debug.jpg -------------------------------------------------------------------------------- /img/IDF_PATH.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botofancalin/Esp32_debug_template/0d4152657db4f0d8bb244e1d0ad78019fa94b76b/img/IDF_PATH.jpg -------------------------------------------------------------------------------- /img/InstallExtensions.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botofancalin/Esp32_debug_template/0d4152657db4f0d8bb244e1d0ad78019fa94b76b/img/InstallExtensions.jpg -------------------------------------------------------------------------------- /img/OpenProject.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botofancalin/Esp32_debug_template/0d4152657db4f0d8bb244e1d0ad78019fa94b76b/img/OpenProject.jpg -------------------------------------------------------------------------------- /img/OpenWorkspace.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botofancalin/Esp32_debug_template/0d4152657db4f0d8bb244e1d0ad78019fa94b76b/img/OpenWorkspace.jpg -------------------------------------------------------------------------------- /img/VsCode_extensions.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botofancalin/Esp32_debug_template/0d4152657db4f0d8bb244e1d0ad78019fa94b76b/img/VsCode_extensions.jpg -------------------------------------------------------------------------------- /img/bar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botofancalin/Esp32_debug_template/0d4152657db4f0d8bb244e1d0ad78019fa94b76b/img/bar.jpg -------------------------------------------------------------------------------- /img/env1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botofancalin/Esp32_debug_template/0d4152657db4f0d8bb244e1d0ad78019fa94b76b/img/env1.jpg -------------------------------------------------------------------------------- /img/env2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botofancalin/Esp32_debug_template/0d4152657db4f0d8bb244e1d0ad78019fa94b76b/img/env2.jpg -------------------------------------------------------------------------------- /img/idf_py_path.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botofancalin/Esp32_debug_template/0d4152657db4f0d8bb244e1d0ad78019fa94b76b/img/idf_py_path.jpg -------------------------------------------------------------------------------- /img/menuconfig.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botofancalin/Esp32_debug_template/0d4152657db4f0d8bb244e1d0ad78019fa94b76b/img/menuconfig.jpg -------------------------------------------------------------------------------- /img/vcp.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botofancalin/Esp32_debug_template/0d4152657db4f0d8bb244e1d0ad78019fa94b76b/img/vcp.PNG -------------------------------------------------------------------------------- /img/win_path.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botofancalin/Esp32_debug_template/0d4152657db4f0d8bb244e1d0ad78019fa94b76b/img/win_path.jpg -------------------------------------------------------------------------------- /img/wrover_ft2232.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botofancalin/Esp32_debug_template/0d4152657db4f0d8bb244e1d0ad78019fa94b76b/img/wrover_ft2232.PNG -------------------------------------------------------------------------------- /img/zadig1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botofancalin/Esp32_debug_template/0d4152657db4f0d8bb244e1d0ad78019fa94b76b/img/zadig1.png -------------------------------------------------------------------------------- /img/zadig2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/botofancalin/Esp32_debug_template/0d4152657db4f0d8bb244e1d0ad78019fa94b76b/img/zadig2.PNG -------------------------------------------------------------------------------- /main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | file(GLOB template_sources ./*.cpp ./*.c) 2 | set(COMPONENT_SRCS ${template_sources}) 3 | set(COMPONENT_ADD_INCLUDEDIRS ".") 4 | 5 | register_component() 6 | -------------------------------------------------------------------------------- /main/Kconfig.projbuild: -------------------------------------------------------------------------------- 1 | menu "Example Configuration" 2 | 3 | config BLINK_GPIO 4 | int "Blink GPIO number" 5 | range 0 34 6 | default 5 7 | help 8 | GPIO number (IOxx) to blink on and off. 9 | 10 | Some GPIOs are used for other purposes (flash connections, etc.) and cannot be used to blink. 11 | 12 | GPIOs 35-39 are input-only so cannot be used as outputs. 13 | 14 | endmenu 15 | -------------------------------------------------------------------------------- /main/component.mk: -------------------------------------------------------------------------------- 1 | # 2 | # "main" pseudo-component makefile. 3 | # 4 | # (Uses default behaviour of compiling all source files in directory, adding 'include' to include path.) 5 | -------------------------------------------------------------------------------- /main/main.c: -------------------------------------------------------------------------------- 1 | /* Blink Example 2 | 3 | This example code is in the Public Domain (or CC0 licensed, at your option.) 4 | 5 | Unless required by applicable law or agreed to in writing, this 6 | software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 7 | CONDITIONS OF ANY KIND, either express or implied. 8 | */ 9 | #include 10 | #include "freertos/FreeRTOS.h" 11 | #include "freertos/task.h" 12 | #include "driver/gpio.h" 13 | #include "sdkconfig.h" 14 | 15 | /* Can run 'make menuconfig' to choose the GPIO to blink, 16 | or you can edit the following line and set a number here. 17 | */ 18 | #define BLINK_GPIO CONFIG_BLINK_GPIO 19 | 20 | void app_main() 21 | { 22 | /* Configure the IOMUX register for pad BLINK_GPIO (some pads are 23 | muxed to GPIO on reset already, but some default to other 24 | functions and need to be switched to GPIO. Consult the 25 | Technical Reference for a list of pads and their default 26 | functions.) 27 | */ 28 | gpio_pad_select_gpio(BLINK_GPIO); 29 | /* Set the GPIO as a push/pull output */ 30 | gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); 31 | while (1) 32 | { 33 | /* Blink off (output low) */ 34 | printf("Turning off the LED\n"); 35 | gpio_set_level(BLINK_GPIO, 0); 36 | vTaskDelay(1000 / portTICK_PERIOD_MS); 37 | /* Blink on (output high) */ 38 | printf("Turning on the LED\n"); 39 | gpio_set_level(BLINK_GPIO, 1); 40 | vTaskDelay(1000 / portTICK_PERIOD_MS); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated file; DO NOT EDIT. 3 | # Espressif IoT Development Framework Configuration 4 | # 5 | 6 | # 7 | # SDK tool configuration 8 | # 9 | CONFIG_TOOLPREFIX="xtensa-esp32-elf-" 10 | CONFIG_MAKE_WARN_UNDEFINED_VARIABLES=y 11 | 12 | # 13 | # Example Configuration 14 | # 15 | CONFIG_BLINK_GPIO=5 16 | 17 | # 18 | # Serial flasher config 19 | # 20 | CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200 21 | CONFIG_FLASHMODE_QIO= 22 | CONFIG_FLASHMODE_QOUT= 23 | CONFIG_FLASHMODE_DIO=y 24 | CONFIG_FLASHMODE_DOUT= 25 | CONFIG_ESPTOOLPY_FLASHMODE="dio" 26 | CONFIG_ESPTOOLPY_FLASHFREQ_80M=y 27 | CONFIG_ESPTOOLPY_FLASHFREQ_40M= 28 | CONFIG_ESPTOOLPY_FLASHFREQ_26M= 29 | CONFIG_ESPTOOLPY_FLASHFREQ_20M= 30 | CONFIG_ESPTOOLPY_FLASHFREQ="80m" 31 | CONFIG_ESPTOOLPY_FLASHSIZE_1MB= 32 | CONFIG_ESPTOOLPY_FLASHSIZE_2MB= 33 | CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y 34 | CONFIG_ESPTOOLPY_FLASHSIZE_8MB= 35 | CONFIG_ESPTOOLPY_FLASHSIZE_16MB= 36 | CONFIG_ESPTOOLPY_FLASHSIZE="4MB" 37 | CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y 38 | CONFIG_ESPTOOLPY_BEFORE_RESET=y 39 | CONFIG_ESPTOOLPY_BEFORE_NORESET= 40 | CONFIG_ESPTOOLPY_BEFORE="default_reset" 41 | CONFIG_ESPTOOLPY_AFTER_RESET=y 42 | CONFIG_ESPTOOLPY_AFTER_NORESET= 43 | CONFIG_ESPTOOLPY_AFTER="hard_reset" 44 | CONFIG_MONITOR_BAUD_9600B= 45 | CONFIG_MONITOR_BAUD_57600B= 46 | CONFIG_MONITOR_BAUD_115200B=y 47 | CONFIG_MONITOR_BAUD_230400B= 48 | CONFIG_MONITOR_BAUD_921600B= 49 | CONFIG_MONITOR_BAUD_2MB= 50 | CONFIG_MONITOR_BAUD_OTHER= 51 | CONFIG_MONITOR_BAUD_OTHER_VAL=115200 52 | CONFIG_MONITOR_BAUD=115200 53 | 54 | # 55 | # Bootloader config 56 | # 57 | CONFIG_LOG_BOOTLOADER_LEVEL_NONE= 58 | CONFIG_LOG_BOOTLOADER_LEVEL_ERROR= 59 | CONFIG_LOG_BOOTLOADER_LEVEL_WARN= 60 | CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y 61 | CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG= 62 | CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE= 63 | CONFIG_LOG_BOOTLOADER_LEVEL=3 64 | CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V= 65 | CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y 66 | CONFIG_BOOTLOADER_FACTORY_RESET= 67 | CONFIG_BOOTLOADER_APP_TEST= 68 | CONFIG_BOOTLOADER_WDT_ENABLE=y 69 | CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE= 70 | CONFIG_BOOTLOADER_WDT_TIME_MS=9000 71 | 72 | # 73 | # Security features 74 | # 75 | CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT= 76 | CONFIG_SECURE_BOOT_ENABLED= 77 | CONFIG_FLASH_ENCRYPTION_ENABLED= 78 | 79 | # 80 | # Partition Table 81 | # 82 | CONFIG_PARTITION_TABLE_SINGLE_APP=y 83 | CONFIG_PARTITION_TABLE_TWO_OTA= 84 | CONFIG_PARTITION_TABLE_CUSTOM= 85 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" 86 | CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" 87 | CONFIG_PARTITION_TABLE_OFFSET=0x8000 88 | CONFIG_PARTITION_TABLE_MD5=y 89 | 90 | # 91 | # Compiler options 92 | # 93 | CONFIG_OPTIMIZATION_LEVEL_DEBUG=y 94 | CONFIG_OPTIMIZATION_LEVEL_RELEASE= 95 | CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y 96 | CONFIG_OPTIMIZATION_ASSERTIONS_SILENT= 97 | CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED= 98 | CONFIG_CXX_EXCEPTIONS= 99 | CONFIG_STACK_CHECK_NONE=y 100 | CONFIG_STACK_CHECK_NORM= 101 | CONFIG_STACK_CHECK_STRONG= 102 | CONFIG_STACK_CHECK_ALL= 103 | CONFIG_STACK_CHECK= 104 | CONFIG_WARN_WRITE_STRINGS= 105 | CONFIG_DISABLE_GCC8_WARNINGS= 106 | 107 | # 108 | # Component config 109 | # 110 | 111 | # 112 | # SPIFFS Configuration 113 | # 114 | CONFIG_SPIFFS_MAX_PARTITIONS=3 115 | 116 | # 117 | # SPIFFS Cache Configuration 118 | # 119 | CONFIG_SPIFFS_CACHE=y 120 | CONFIG_SPIFFS_CACHE_WR=y 121 | CONFIG_SPIFFS_CACHE_STATS= 122 | CONFIG_SPIFFS_PAGE_CHECK=y 123 | CONFIG_SPIFFS_GC_MAX_RUNS=10 124 | CONFIG_SPIFFS_GC_STATS= 125 | CONFIG_SPIFFS_PAGE_SIZE=256 126 | CONFIG_SPIFFS_OBJ_NAME_LEN=32 127 | CONFIG_SPIFFS_USE_MAGIC=y 128 | CONFIG_SPIFFS_USE_MAGIC_LENGTH=y 129 | CONFIG_SPIFFS_META_LENGTH=4 130 | CONFIG_SPIFFS_USE_MTIME=y 131 | 132 | # 133 | # Debug Configuration 134 | # 135 | CONFIG_SPIFFS_DBG= 136 | CONFIG_SPIFFS_API_DBG= 137 | CONFIG_SPIFFS_GC_DBG= 138 | CONFIG_SPIFFS_CACHE_DBG= 139 | CONFIG_SPIFFS_CHECK_DBG= 140 | CONFIG_SPIFFS_TEST_VISUALISATION= 141 | 142 | # 143 | # OpenSSL 144 | # 145 | CONFIG_OPENSSL_DEBUG= 146 | CONFIG_OPENSSL_ASSERT_DO_NOTHING=y 147 | CONFIG_OPENSSL_ASSERT_EXIT= 148 | 149 | # 150 | # ESP-MQTT Configurations 151 | # 152 | CONFIG_MQTT_PROTOCOL_311=y 153 | CONFIG_MQTT_TRANSPORT_SSL=y 154 | CONFIG_MQTT_TRANSPORT_WEBSOCKET=y 155 | CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y 156 | CONFIG_MQTT_USE_CUSTOM_CONFIG= 157 | CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED= 158 | CONFIG_MQTT_CUSTOM_OUTBOX= 159 | 160 | # 161 | # mDNS 162 | # 163 | CONFIG_MDNS_MAX_SERVICES=10 164 | 165 | # 166 | # libsodium 167 | # 168 | CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y 169 | 170 | # 171 | # Modbus configuration 172 | # 173 | CONFIG_MB_QUEUE_LENGTH=20 174 | CONFIG_MB_SERIAL_TASK_STACK_SIZE=2048 175 | CONFIG_MB_SERIAL_BUF_SIZE=256 176 | CONFIG_MB_SERIAL_TASK_PRIO=10 177 | CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT= 178 | CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 179 | CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 180 | CONFIG_MB_CONTROLLER_STACK_SIZE=4096 181 | CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 182 | CONFIG_MB_TIMER_PORT_ENABLED=y 183 | CONFIG_MB_TIMER_GROUP=0 184 | CONFIG_MB_TIMER_INDEX=0 185 | 186 | # 187 | # FAT Filesystem support 188 | # 189 | CONFIG_FATFS_CODEPAGE_DYNAMIC= 190 | CONFIG_FATFS_CODEPAGE_437=y 191 | CONFIG_FATFS_CODEPAGE_720= 192 | CONFIG_FATFS_CODEPAGE_737= 193 | CONFIG_FATFS_CODEPAGE_771= 194 | CONFIG_FATFS_CODEPAGE_775= 195 | CONFIG_FATFS_CODEPAGE_850= 196 | CONFIG_FATFS_CODEPAGE_852= 197 | CONFIG_FATFS_CODEPAGE_855= 198 | CONFIG_FATFS_CODEPAGE_857= 199 | CONFIG_FATFS_CODEPAGE_860= 200 | CONFIG_FATFS_CODEPAGE_861= 201 | CONFIG_FATFS_CODEPAGE_862= 202 | CONFIG_FATFS_CODEPAGE_863= 203 | CONFIG_FATFS_CODEPAGE_864= 204 | CONFIG_FATFS_CODEPAGE_865= 205 | CONFIG_FATFS_CODEPAGE_866= 206 | CONFIG_FATFS_CODEPAGE_869= 207 | CONFIG_FATFS_CODEPAGE_932= 208 | CONFIG_FATFS_CODEPAGE_936= 209 | CONFIG_FATFS_CODEPAGE_949= 210 | CONFIG_FATFS_CODEPAGE_950= 211 | CONFIG_FATFS_CODEPAGE=437 212 | CONFIG_FATFS_LFN_NONE=y 213 | CONFIG_FATFS_LFN_HEAP= 214 | CONFIG_FATFS_LFN_STACK= 215 | CONFIG_FATFS_FS_LOCK=0 216 | CONFIG_FATFS_TIMEOUT_MS=10000 217 | CONFIG_FATFS_PER_FILE_CACHE=y 218 | 219 | # 220 | # Wear Levelling 221 | # 222 | CONFIG_WL_SECTOR_SIZE_512= 223 | CONFIG_WL_SECTOR_SIZE_4096=y 224 | CONFIG_WL_SECTOR_SIZE=4096 225 | 226 | # 227 | # HTTP Server 228 | # 229 | CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 230 | CONFIG_HTTPD_MAX_URI_LEN=512 231 | CONFIG_HTTPD_PURGE_BUF_LEN=32 232 | CONFIG_HTTPD_LOG_PURGE_DATA= 233 | 234 | # 235 | # ESP HTTP client 236 | # 237 | CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y 238 | 239 | # 240 | # ADC-Calibration 241 | # 242 | CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y 243 | CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y 244 | CONFIG_ADC_CAL_LUT_ENABLE=y 245 | 246 | # 247 | # Bluetooth 248 | # 249 | CONFIG_BT_ENABLED= 250 | CONFIG_BTDM_CONTROLLER_BR_EDR_SCO_DATA_PATH_EFF=0 251 | CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=0 252 | CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0 253 | CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0 254 | CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 255 | CONFIG_BT_RESERVE_DRAM=0 256 | CONFIG_AWS_IOT_SDK= 257 | 258 | # 259 | # Application Level Tracing 260 | # 261 | CONFIG_ESP32_APPTRACE_DEST_TRAX= 262 | CONFIG_ESP32_APPTRACE_DEST_NONE=y 263 | CONFIG_ESP32_APPTRACE_ENABLE= 264 | CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y 265 | 266 | # 267 | # ESP32-specific 268 | # 269 | CONFIG_ESP32_DEFAULT_CPU_FREQ_80= 270 | CONFIG_ESP32_DEFAULT_CPU_FREQ_160= 271 | CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y 272 | CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 273 | CONFIG_SPIRAM_SUPPORT=y 274 | 275 | # 276 | # SPI RAM config 277 | # 278 | CONFIG_SPIRAM_BOOT_INIT=y 279 | CONFIG_SPIRAM_IGNORE_NOTFOUND=y 280 | CONFIG_SPIRAM_USE_MEMMAP= 281 | CONFIG_SPIRAM_USE_CAPS_ALLOC= 282 | CONFIG_SPIRAM_USE_MALLOC=y 283 | CONFIG_SPIRAM_TYPE_AUTO=y 284 | CONFIG_SPIRAM_TYPE_ESPPSRAM32= 285 | CONFIG_SPIRAM_TYPE_ESPPSRAM64= 286 | CONFIG_SPIRAM_SIZE=-1 287 | CONFIG_SPIRAM_SPEED_40M= 288 | CONFIG_SPIRAM_SPEED_80M=y 289 | CONFIG_SPIRAM_MEMTEST=y 290 | CONFIG_SPIRAM_CACHE_WORKAROUND=y 291 | CONFIG_SPIRAM_BANKSWITCH_ENABLE=y 292 | CONFIG_SPIRAM_BANKSWITCH_RESERVE=8 293 | CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 294 | CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST= 295 | CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 296 | CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY= 297 | CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY= 298 | CONFIG_SPIRAM_OCCUPY_HSPI_HOST= 299 | CONFIG_SPIRAM_OCCUPY_VSPI_HOST=y 300 | 301 | # 302 | # PSRAM clock and cs IO for ESP32-DOWD 303 | # 304 | CONFIG_D0WD_PSRAM_CLK_IO=17 305 | CONFIG_D0WD_PSRAM_CS_IO=16 306 | 307 | # 308 | # PSRAM clock and cs IO for ESP32-D2WD 309 | # 310 | CONFIG_D2WD_PSRAM_CLK_IO=9 311 | CONFIG_D2WD_PSRAM_CS_IO=10 312 | 313 | # 314 | # PSRAM clock and cs IO for ESP32-PICO 315 | # 316 | CONFIG_PICO_PSRAM_CS_IO=10 317 | CONFIG_SPIRAM_SPIWP_SD3_PIN=7 318 | CONFIG_MEMMAP_TRACEMEM= 319 | CONFIG_MEMMAP_TRACEMEM_TWOBANKS= 320 | CONFIG_ESP32_TRAX= 321 | CONFIG_TRACEMEM_RESERVE_DRAM=0x0 322 | CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH= 323 | CONFIG_ESP32_ENABLE_COREDUMP_TO_UART= 324 | CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y 325 | CONFIG_ESP32_ENABLE_COREDUMP= 326 | CONFIG_TWO_UNIVERSAL_MAC_ADDRESS= 327 | CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y 328 | CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 329 | CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 330 | CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 331 | CONFIG_MAIN_TASK_STACK_SIZE=3584 332 | CONFIG_IPC_TASK_STACK_SIZE=1024 333 | CONFIG_TIMER_TASK_STACK_SIZE=3584 334 | CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y 335 | CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF= 336 | CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR= 337 | CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF= 338 | CONFIG_NEWLIB_STDIN_LINE_ENDING_LF= 339 | CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y 340 | CONFIG_NEWLIB_NANO_FORMAT= 341 | CONFIG_CONSOLE_UART_DEFAULT=y 342 | CONFIG_CONSOLE_UART_CUSTOM= 343 | CONFIG_CONSOLE_UART_NONE= 344 | CONFIG_CONSOLE_UART_NUM=0 345 | CONFIG_CONSOLE_UART_BAUDRATE=115200 346 | CONFIG_ULP_COPROC_ENABLED= 347 | CONFIG_ULP_COPROC_RESERVE_MEM=0 348 | CONFIG_ESP32_PANIC_PRINT_HALT= 349 | CONFIG_ESP32_PANIC_PRINT_REBOOT=y 350 | CONFIG_ESP32_PANIC_SILENT_REBOOT= 351 | CONFIG_ESP32_PANIC_GDBSTUB= 352 | CONFIG_ESP32_DEBUG_OCDAWARE=y 353 | CONFIG_ESP32_DEBUG_STUBS_ENABLE=y 354 | CONFIG_INT_WDT=y 355 | CONFIG_INT_WDT_TIMEOUT_MS=300 356 | CONFIG_INT_WDT_CHECK_CPU1=y 357 | CONFIG_TASK_WDT=y 358 | CONFIG_TASK_WDT_PANIC= 359 | CONFIG_TASK_WDT_TIMEOUT_S=5 360 | CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y 361 | CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y 362 | CONFIG_BROWNOUT_DET=y 363 | CONFIG_BROWNOUT_DET_LVL_SEL_0=y 364 | CONFIG_BROWNOUT_DET_LVL_SEL_1= 365 | CONFIG_BROWNOUT_DET_LVL_SEL_2= 366 | CONFIG_BROWNOUT_DET_LVL_SEL_3= 367 | CONFIG_BROWNOUT_DET_LVL_SEL_4= 368 | CONFIG_BROWNOUT_DET_LVL_SEL_5= 369 | CONFIG_BROWNOUT_DET_LVL_SEL_6= 370 | CONFIG_BROWNOUT_DET_LVL_SEL_7= 371 | CONFIG_BROWNOUT_DET_LVL=0 372 | CONFIG_REDUCE_PHY_TX_POWER=y 373 | CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y 374 | CONFIG_ESP32_TIME_SYSCALL_USE_RTC= 375 | CONFIG_ESP32_TIME_SYSCALL_USE_FRC1= 376 | CONFIG_ESP32_TIME_SYSCALL_USE_NONE= 377 | CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y 378 | CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL= 379 | CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC= 380 | CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256= 381 | CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 382 | CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 383 | CONFIG_ESP32_XTAL_FREQ_40=y 384 | CONFIG_ESP32_XTAL_FREQ_26= 385 | CONFIG_ESP32_XTAL_FREQ_AUTO= 386 | CONFIG_ESP32_XTAL_FREQ=40 387 | CONFIG_DISABLE_BASIC_ROM_CONSOLE= 388 | CONFIG_NO_BLOBS= 389 | CONFIG_ESP_TIMER_PROFILING= 390 | CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS= 391 | CONFIG_ESP_ERR_TO_NAME_LOOKUP=y 392 | 393 | # 394 | # Wi-Fi 395 | # 396 | CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 397 | CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 398 | CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y 399 | CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER= 400 | CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 401 | CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 402 | CONFIG_ESP32_WIFI_CSI_ENABLED= 403 | CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y 404 | CONFIG_ESP32_WIFI_TX_BA_WIN=6 405 | CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y 406 | CONFIG_ESP32_WIFI_RX_BA_WIN=6 407 | CONFIG_ESP32_WIFI_NVS_ENABLED=y 408 | CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y 409 | CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1= 410 | CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 411 | CONFIG_ESP32_WIFI_IRAM_OPT=y 412 | CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 413 | 414 | # 415 | # PHY 416 | # 417 | CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y 418 | CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION= 419 | CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 420 | CONFIG_ESP32_PHY_MAX_TX_POWER=20 421 | 422 | # 423 | # Power Management 424 | # 425 | CONFIG_PM_ENABLE= 426 | 427 | # 428 | # PThreads 429 | # 430 | CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 431 | CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 432 | CONFIG_PTHREAD_STACK_MIN=768 433 | 434 | # 435 | # NVS 436 | # 437 | 438 | # 439 | # mbedTLS 440 | # 441 | CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y 442 | CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC= 443 | CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC= 444 | CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC= 445 | CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=16384 446 | CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN= 447 | CONFIG_MBEDTLS_DEBUG= 448 | CONFIG_MBEDTLS_HARDWARE_AES=y 449 | CONFIG_MBEDTLS_HARDWARE_MPI= 450 | CONFIG_MBEDTLS_HARDWARE_SHA= 451 | CONFIG_MBEDTLS_HAVE_TIME=y 452 | CONFIG_MBEDTLS_HAVE_TIME_DATE= 453 | CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y 454 | CONFIG_MBEDTLS_TLS_SERVER_ONLY= 455 | CONFIG_MBEDTLS_TLS_CLIENT_ONLY= 456 | CONFIG_MBEDTLS_TLS_DISABLED= 457 | CONFIG_MBEDTLS_TLS_SERVER=y 458 | CONFIG_MBEDTLS_TLS_CLIENT=y 459 | CONFIG_MBEDTLS_TLS_ENABLED=y 460 | 461 | # 462 | # TLS Key Exchange Methods 463 | # 464 | CONFIG_MBEDTLS_PSK_MODES= 465 | CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y 466 | CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y 467 | CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y 468 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y 469 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y 470 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y 471 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y 472 | CONFIG_MBEDTLS_SSL_RENEGOTIATION=y 473 | CONFIG_MBEDTLS_SSL_PROTO_SSL3= 474 | CONFIG_MBEDTLS_SSL_PROTO_TLS1=y 475 | CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y 476 | CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y 477 | CONFIG_MBEDTLS_SSL_PROTO_DTLS= 478 | CONFIG_MBEDTLS_SSL_ALPN=y 479 | CONFIG_MBEDTLS_SSL_SESSION_TICKETS=y 480 | 481 | # 482 | # Symmetric Ciphers 483 | # 484 | CONFIG_MBEDTLS_AES_C=y 485 | CONFIG_MBEDTLS_CAMELLIA_C= 486 | CONFIG_MBEDTLS_DES_C= 487 | CONFIG_MBEDTLS_RC4_DISABLED=y 488 | CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT= 489 | CONFIG_MBEDTLS_RC4_ENABLED= 490 | CONFIG_MBEDTLS_BLOWFISH_C= 491 | CONFIG_MBEDTLS_XTEA_C= 492 | CONFIG_MBEDTLS_CCM_C=y 493 | CONFIG_MBEDTLS_GCM_C=y 494 | CONFIG_MBEDTLS_RIPEMD160_C= 495 | 496 | # 497 | # Certificates 498 | # 499 | CONFIG_MBEDTLS_PEM_PARSE_C=y 500 | CONFIG_MBEDTLS_PEM_WRITE_C=y 501 | CONFIG_MBEDTLS_X509_CRL_PARSE_C=y 502 | CONFIG_MBEDTLS_X509_CSR_PARSE_C=y 503 | CONFIG_MBEDTLS_ECP_C=y 504 | CONFIG_MBEDTLS_ECDH_C=y 505 | CONFIG_MBEDTLS_ECDSA_C=y 506 | CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y 507 | CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y 508 | CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y 509 | CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y 510 | CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y 511 | CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y 512 | CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y 513 | CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y 514 | CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y 515 | CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y 516 | CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y 517 | CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y 518 | CONFIG_MBEDTLS_ECP_NIST_OPTIM=y 519 | 520 | # 521 | # SPI Flash driver 522 | # 523 | CONFIG_SPI_FLASH_VERIFY_WRITE= 524 | CONFIG_SPI_FLASH_ENABLE_COUNTERS= 525 | CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y 526 | CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y 527 | CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS= 528 | CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED= 529 | CONFIG_SPI_FLASH_YIELD_DURING_ERASE= 530 | 531 | # 532 | # TCP/IP Adapter 533 | # 534 | CONFIG_IP_LOST_TIMER_INTERVAL=120 535 | CONFIG_TCPIP_LWIP=y 536 | 537 | # 538 | # LWIP 539 | # 540 | CONFIG_L2_TO_L3_COPY= 541 | CONFIG_LWIP_IRAM_OPTIMIZATION= 542 | CONFIG_LWIP_MAX_SOCKETS=10 543 | CONFIG_USE_ONLY_LWIP_SELECT= 544 | CONFIG_LWIP_SO_REUSE=y 545 | CONFIG_LWIP_SO_REUSE_RXTOALL=y 546 | CONFIG_LWIP_SO_RCVBUF= 547 | CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1 548 | CONFIG_LWIP_IP_FRAG= 549 | CONFIG_LWIP_IP_REASSEMBLY= 550 | CONFIG_LWIP_STATS= 551 | CONFIG_LWIP_ETHARP_TRUST_IP_MAC= 552 | CONFIG_ESP_GRATUITOUS_ARP=y 553 | CONFIG_GARP_TMR_INTERVAL=60 554 | CONFIG_TCPIP_RECVMBOX_SIZE=32 555 | CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y 556 | CONFIG_LWIP_DHCP_RESTORE_LAST_IP= 557 | 558 | # 559 | # DHCP server 560 | # 561 | CONFIG_LWIP_DHCPS_LEASE_UNIT=60 562 | CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 563 | CONFIG_LWIP_AUTOIP= 564 | CONFIG_LWIP_NETIF_LOOPBACK=y 565 | CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 566 | 567 | # 568 | # TCP 569 | # 570 | CONFIG_LWIP_MAX_ACTIVE_TCP=16 571 | CONFIG_LWIP_MAX_LISTENING_TCP=16 572 | CONFIG_TCP_MAXRTX=12 573 | CONFIG_TCP_SYNMAXRTX=6 574 | CONFIG_TCP_MSS=1436 575 | CONFIG_TCP_MSL=60000 576 | CONFIG_TCP_SND_BUF_DEFAULT=5744 577 | CONFIG_TCP_WND_DEFAULT=5744 578 | CONFIG_TCP_RECVMBOX_SIZE=6 579 | CONFIG_TCP_QUEUE_OOSEQ=y 580 | CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES= 581 | CONFIG_TCP_OVERSIZE_MSS=y 582 | CONFIG_TCP_OVERSIZE_QUARTER_MSS= 583 | CONFIG_TCP_OVERSIZE_DISABLE= 584 | 585 | # 586 | # UDP 587 | # 588 | CONFIG_LWIP_MAX_UDP_PCBS=16 589 | CONFIG_UDP_RECVMBOX_SIZE=6 590 | CONFIG_TCPIP_TASK_STACK_SIZE=3072 591 | CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y 592 | CONFIG_TCPIP_TASK_AFFINITY_CPU0= 593 | CONFIG_TCPIP_TASK_AFFINITY_CPU1= 594 | CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF 595 | CONFIG_PPP_SUPPORT= 596 | 597 | # 598 | # ICMP 599 | # 600 | CONFIG_LWIP_MULTICAST_PING= 601 | CONFIG_LWIP_BROADCAST_PING= 602 | 603 | # 604 | # LWIP RAW API 605 | # 606 | CONFIG_LWIP_MAX_RAW_PCBS=16 607 | 608 | # 609 | # Ethernet 610 | # 611 | CONFIG_DMA_RX_BUF_NUM=10 612 | CONFIG_DMA_TX_BUF_NUM=10 613 | CONFIG_EMAC_L2_TO_L3_RX_BUF_MODE=y 614 | CONFIG_EMAC_CHECK_LINK_PERIOD_MS=2000 615 | CONFIG_EMAC_TASK_PRIORITY=20 616 | CONFIG_EMAC_TASK_STACK_SIZE=3072 617 | 618 | # 619 | # Event Loop Library 620 | # 621 | CONFIG_EVENT_LOOP_PROFILING= 622 | 623 | # 624 | # Driver configurations 625 | # 626 | 627 | # 628 | # ADC configuration 629 | # 630 | CONFIG_ADC_FORCE_XPD_FSM= 631 | CONFIG_ADC2_DISABLE_DAC=y 632 | 633 | # 634 | # SPI configuration 635 | # 636 | CONFIG_SPI_MASTER_IN_IRAM= 637 | CONFIG_SPI_MASTER_ISR_IN_IRAM=y 638 | CONFIG_SPI_SLAVE_IN_IRAM= 639 | CONFIG_SPI_SLAVE_ISR_IN_IRAM=y 640 | 641 | # 642 | # Virtual file system 643 | # 644 | CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y 645 | CONFIG_SUPPORT_TERMIOS=y 646 | 647 | # 648 | # FreeRTOS 649 | # 650 | CONFIG_FREERTOS_UNICORE= 651 | CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF 652 | CONFIG_FREERTOS_CORETIMER_0=y 653 | CONFIG_FREERTOS_CORETIMER_1= 654 | CONFIG_FREERTOS_HZ=1000 655 | CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y 656 | CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE= 657 | CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL= 658 | CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y 659 | CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK= 660 | CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y 661 | CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 662 | CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y 663 | CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE= 664 | CONFIG_FREERTOS_ASSERT_DISABLE= 665 | CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 666 | CONFIG_FREERTOS_ISR_STACKSIZE=1536 667 | CONFIG_FREERTOS_LEGACY_HOOKS= 668 | CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 669 | CONFIG_SUPPORT_STATIC_ALLOCATION=y 670 | CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK= 671 | CONFIG_TIMER_TASK_PRIORITY=1 672 | CONFIG_TIMER_TASK_STACK_DEPTH=2048 673 | CONFIG_TIMER_QUEUE_LENGTH=10 674 | CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 675 | CONFIG_FREERTOS_USE_TRACE_FACILITY= 676 | CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS= 677 | CONFIG_FREERTOS_DEBUG_INTERNALS= 678 | CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y 679 | 680 | # 681 | # Heap memory debugging 682 | # 683 | CONFIG_HEAP_POISONING_DISABLED=y 684 | CONFIG_HEAP_POISONING_LIGHT= 685 | CONFIG_HEAP_POISONING_COMPREHENSIVE= 686 | CONFIG_HEAP_TRACING= 687 | 688 | # 689 | # Log output 690 | # 691 | CONFIG_LOG_DEFAULT_LEVEL_NONE= 692 | CONFIG_LOG_DEFAULT_LEVEL_ERROR= 693 | CONFIG_LOG_DEFAULT_LEVEL_WARN= 694 | CONFIG_LOG_DEFAULT_LEVEL_INFO=y 695 | CONFIG_LOG_DEFAULT_LEVEL_DEBUG= 696 | CONFIG_LOG_DEFAULT_LEVEL_VERBOSE= 697 | CONFIG_LOG_DEFAULT_LEVEL=3 698 | CONFIG_LOG_COLORS=y 699 | --------------------------------------------------------------------------------