{"id":14963203,"url":"https://github.com/espressif/idf-eclipse-plugin","last_synced_at":"2026-02-06T08:19:55.969Z","repository":{"id":37935090,"uuid":"208691865","full_name":"espressif/idf-eclipse-plugin","owner":"espressif","description":"Espressif-IDE (ESP-IDF Eclipse Plugin) for ESP-IDF CMake based projects 5.x and above","archived":false,"fork":false,"pushed_at":"2025-04-02T16:34:12.000Z","size":155192,"stargazers_count":330,"open_issues_count":138,"forks_count":126,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-04-02T23:13:31.469Z","etag":null,"topics":["esp-idf","espressif-ide"],"latest_commit_sha":null,"homepage":"https://docs.espressif.com/projects/espressif-ide/en/latest/index.html","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/espressif.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-16T02:21:43.000Z","updated_at":"2025-04-02T08:51:36.000Z","dependencies_parsed_at":"2023-12-26T12:59:09.218Z","dependency_job_id":"e5b577ca-eeeb-4288-927c-39f8cde61ffe","html_url":"https://github.com/espressif/idf-eclipse-plugin","commit_stats":{"total_commits":1034,"total_committers":14,"mean_commits":73.85714285714286,"dds":"0.31818181818181823","last_synced_commit":"0917e352f13eabe895ff2a329faa54e83ad09c6a"},"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/espressif%2Fidf-eclipse-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/espressif%2Fidf-eclipse-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/espressif%2Fidf-eclipse-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/espressif%2Fidf-eclipse-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/espressif","download_url":"https://codeload.github.com/espressif/idf-eclipse-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247809962,"owners_count":20999816,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esp-idf","espressif-ide"],"created_at":"2024-09-24T13:31:10.189Z","updated_at":"2026-02-06T08:19:55.907Z","avatar_url":"https://github.com/espressif.png","language":"Java","readme":"[![GitHub release](https://img.shields.io/github/release/espressif/idf-eclipse-plugin.svg)](https://github.com/espressif/idf-eclipse-plugin/releases/latest)\n\n[中文](./README_CN.md)\n\n# ESP-IDF Eclipse Plugin (Espressif-IDE)\n\nESP-IDF Eclipse Plugin brings developers an easy-to-use Eclipse-based development environment for developing ESP32-based IoT applications.\nIt provides better tooling capabilities, which simplifies and enhances standard Eclipse CDT for developing and debugging ESP32 IoT applications. It offers advanced editing, compiling, flashing and debugging features with the addition of Installing the tools, SDK configuration and CMake editors.\n\nThe plug-in runs on `macOS`, `Windows` and `Linux` platforms.\n\n![](docs_readme/images/macos-logo.png)\n![](docs_readme/images/windows-logo.png)\n![](docs_readme/images/linux-logo.png)\n\n\n\u003e **Note:** It supports ESP-IDF CMake based projects (4.x and above).\n\nTo get a quick understanding of ESP-IDF and Eclipse plugin features, check our session which was presented in \u003ca href= \"https://youtu.be/CbPX3q7LeBc\"\u003eEclipseCon 2020\u003c/a\u003e.\n\n# Table Of Contents\n\u003cdetails open\u003e\n  \u003csummary\u003eGet Started\u003c/summary\u003e\n\n* [ Installation](#Installation) \u003cbr\u003e\n* [ Creating a new Project ](#NewProjectUsingDefault)\u003cbr\u003e\n* [ Configuring Launch Target ](#ConfigureLaunchTarget)\u003cbr\u003e\n* [ Compiling the Project ](#BuildApplication)\u003cbr\u003e\n* [ Flashing the Project ](#FlashApplication)\u003cbr\u003e\n* [ Viewing Serial Output ](#ConfigureLaunchTerminal)\u003cbr\u003e\n* [ Debugging the Project ](#debugging)\u003cbr\u003e\n* [ Troubleshooting Guide](#troubleshooting)\u003cbr\u003e\n* \u003ca href =\"https://github.com/espressif/idf-eclipse-plugin/blob/master/FAQ.md#FAQ\"\u003eFAQ\u003c/a\u003e\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n  \u003csummary\u003eOther IDE Features\u003c/summary\u003e\n\n* [ Configuring the Project using sdkconfig Editor](#projectconfigure)\u003cbr\u003e\n* [ CMake Editor](#cmakeproject)\u003cbr\u003e\n* [ ESP-IDF Application Size Analysis Editor](#sizeanalysiseditor)\u003cbr\u003e\n* [ Installing ESP-IDF Components](#espidfcomponents)\u003cbr\u003e\n* [ ESP-IDF Terminal](#idfterminal)\u003cbr\u003e\n* [ Configuring Build Environment Variables ](#configureEnvironmentVariables)\u003cbr\u003e\n* [ Configuring Core Build Toolchain ](#ConfigureToolchains)\u003cbr\u003e\n* [ Configuring CMake Toolchain ](#ConfigureCMakeToolchain)\u003cbr\u003e\n* [ Selecting Clang Toolchain](#SelectDifferentToolchain)\u003cbr\u003e\n* [ Configuring the flash arguments ](#customizeLaunchConfig)\u003cbr\u003e\n* [ Installing IDF Eclipse Plugin from Eclipse Market Place](#installPluginsFromMarketPlace) \u003cbr\u003e\n* [ Installing IDF Eclipse Plugin using local archive ](#installPluginsUsingLocalFile) \u003cbr\u003e\n* [ Upgrading IDF Eclipse Plugin ](#upgradePlugins)\u003cbr\u003e\n* [ Importing an existing IDF Project ](#ImportProject)\u003cbr\u003e\n* [ Importing an existing Debug launch configuration ](#importDebugLaunchConfig)\u003cbr\u003e\n* [ Device Firmware Upgrade (DFU) through USB ](#deviceFirmwareUpgrade)\u003cbr\u003e\n* [ GDBStub Debugging ](#gdbStubDebugging)\u003cbr\u003e\n* [ Core Dump Debugging ](#coreDumpDebugging)\u003cbr\u003e\n* [ Application Level Tracing ](#appLvlTracing)\u003cbr\n* [ Partition Table Editor UI for ESP-IDF](#partitionTableEditor)\u003cbr\u003e\n* [ NVS Table Editor](#nvsTableEditor)\u003cbr\u003e\n* [ Write Binary Data to Flash](#writeFlashBinary)\u003cbr\u003e\n* [ Changing Language ](#changeLanguage)\u003cbr\u003e\n* [ Wokwi Simulator](#wokwisimulator)\u003cbr\u003e\n\u003c/details\u003e\n\n\u003ca name=\"Installation\"\u003e\u003c/a\u003e\n\n# Installation\nWe recommend using the Espressif-IDE instead of the Eclipse CDT + IEP Plugin update approach to avoid the hassles of updating.\n\n## Espressif-IDE for Windows\n* Download the [Espressif-IDE with ESP-IDF Offline Windows Installer](https://dl.espressif.com/dl/esp-idf/) and follow the instructions provided [here](https://github.com/espressif/idf-eclipse-plugin/blob/master/docs_readme/Espressif-IDE-Windows-Installer.md). This guide will walk you through the installation process for Java, Git, CMake, ESP-IDF, IDF Tools, Device Drivers, and Espressif-IDE to help you get started.\n\n## Espressif-IDE for macOS and Linux\n* To begin, download the [Espressif-IDE](https://github.com/espressif/idf-eclipse-plugin/blob/master/docs_readme/Espressif-IDE.md#downloads) for your respective operating system. Following this, launch the IDE and proceed to install the necessary ESP-IDF and related tools. Please note that prior to launching the IDE, you must ensure that Java, Python, and Git are installed as [prerequisites](#Prerequisites). and available in the system path.\n\nIf you plan to use Eclipse CDT and update it through the IDF Eclipse plugin, please ensure that you download the supported version for your operating system from \u003ca href= \"https://www.eclipse.org/downloads/packages/release/2023-12/r/eclipse-ide-cc-developers\"\u003ehere \u003c/a\u003e.\n\n\u003ca name=\"Prerequisites\"\u003e\u003c/a\u003e\n## Prerequisites\n\nThe minimum requirements for running the Espressif-IDE are below.\n* **Java 17 and above** : Download and install Java SE from \u003ca href= \"https://www.oracle.com/technetwork/java/javase/downloads/index.html\"\u003ehere\u003c/a\u003e.\n* **Python 3.8 and above** : Download and install Python from \u003ca href=\"https://www.python.org/downloads/\"\u003ehere\u003c/a\u003e.\n* **Git** : Get the latest git from \u003ca href =\"https://git-scm.com/downloads\"\u003ehere\u003c/a\u003e.\n\n\u003e **Note:** Make sure Java, Python and Git are available on the system environment PATH.\n\n\u003ca name=\"GettingStarted\"\u003e\u003c/a\u003e\n\n# Installing IDF Plugin using update site URL\n\nYou can install the IDF Eclipse plugin into an existing IDE using the update site URL. First, add the release repository URL as follows:\n\n1. Go to `Help` \u003e `Install New Software`.\n1. Click `Add…`, and in the pop-up window:\n\t* Enter `Name` as `Espressif IDF Plugin for Eclipse`\n\t* Enter `Location` of the repository:\n\t\t* Stable release: https://dl.espressif.com/dl/idf-eclipse-plugin/updates/latest/\n\t* Click `Add`.\n1. Select `Espressif IDF` from the list and proceed with the installation.\n\nFor adding beta and nightly builds, you can use the following update site urls.\n   * Beta version: https://dl.espressif.com/dl/idf-eclipse-plugin/updates/beta/\n   * Nightly build: https://dl.espressif.com/dl/idf-eclipse-plugin/updates/nightly/\n\n\u003e **Note:** While the screenshots are captured on macOS, the installation instructions are applicable to Windows, Linux, and macOS.\n\n![](docs_readme/images/idf_update_site_install.png)\n\n\u003ca name=\"InstallTools\"\u003e\u003c/a\u003e\n# Installing ESP-IDF\n\nPlease follow the instructions below for installing ESP-IDF in the Espressif-IDE.\n\n1. Go to `Espressif` \u003e `ESP-IDF Manager`. The following editor will open\n![](docs_readme/images/ToolsManager/ESP-IDF_Manager_Editor_Screen.png)\n\n1. Click on `Add ESP-IDF` button.\n![](docs_readme/images/ToolsManager/ESP-IDF_Configuration_Download_or_Use_ESP-IDF.png)\nFrom the screen shown above you can choose an already downloaded ESP-IDF Directory or you can select and download directly from the given dialog. The `Git` and `Python` must be installed and if it is configured in system PATH it will be preloaded in the given view. If not you can Browse to the directory and select the proper executables.\n\n1. Click on `Finish` which will be enabled after all the paths and executables are properly configured.\n\n\u003e **Note** Please note that the python executable is not the one from the virtual environment created from the installation of the ESP-IDF via other means like from CLI. If you are selecting an already installed ESP-IDF directory IDE will automatically pick up the python once you have installed the tools.\nTo configure an existing ESP-IDF:\n\nAfter you have clicked `Finish` you will see the progress on console for the tools getting installed. Once the installation is done and this is the very first set of ESP-IDF installed in the IDE it will be activated as well and you will see a similar entry in the editor for ESP-IDF Manager\n![](docs_readme/images/ToolsManager/Tool_installed_and_activated.png)\n\nYou can add as many version of ESP-IDF as you want but only one of the version can be set active and that will be used to compile and index projects in your workspace. This new feature can help you in swithcing between versions in the workspace easily.\n\nLets take a look at how the multiple versions will look like. You have to follow the same steps as done previously to add another ESP-IDF version to the IDE.\n![](docs_readme/images/ToolsManager/ESP-IDF_Manager_Multiple_versions.png)\n\nTo activate any specific version simply click on the radio button next to it in the `Active` column.\n\nThe refresh button in last column for the active ESP-IDF version can be used to reload any changes in the directory you made. \n\n\u003e **Note** Please note that you can not delete an active ESP-IDF Version you need to activate another version before deleting that.\n\n\u003ca name=\"NewProjectUsingDefault\"\u003e\u003c/a\u003e\n# Create a new Project\n\n1. Make sure you are in `C/C++ Perspective`.\n1. Go to `File` \u003e `New` \u003e `Espressif IDF Project`\n1. Provide the `Project name` (The ESP-IDF build system does not support spaces in the project path).\n1. Click `Finish`.\n\nTo create a project using existing ESP-IDF templates, please refer to [this](#NewProjectUsingTemplates).\n\n\u003e **Note:** You may see numerous unresolved headers and symbols errors in the editor, and these will only be resolved after the build process.\n\n![](docs_readme/images/3_new_project_default.png)\n\n\u003ca name=\"ConfigureLaunchTarget\"\u003e\u003c/a\u003e\n# Configuring build target\n\nNext, you should select the ESP target for your project. By default, the launch target drop-down will display all the supported targets by the plugin.\n\n\u003cimg width=\"769\" alt=\"target\" src=\"https://github.com/espressif/idf-eclipse-plugin/assets/8463287/8d85c547-5cd3-4c10-8ca2-9bb5d69b4bce\"\u003e\n\nHowever, if you would like to add a target that is not available in the launch target drop-down, please follow the instructions below.\n1. Click on the launch target dropdown.\n1. Select `New Launch Target`.\n1. Select `ESP Target`.\n1. Provide properties for the target where you would like to launch the application. Enter a `Name` for the target and select the `Serial Port` your ESP device is connected to on your machine.\n\n![](docs_readme/images/8_launch_target.png)\n\n\u003ca name=\"BuildApplication\"\u003e\u003c/a\u003e\n# Compiling the Project\n\n1. Select a project from the `Project Explorer`.\n1. Select `Run` from the first drop-down, which is called `Launch Mode`.\n1. Select your application from the second drop-down, which is called `Launch Configuration`(Auto-detected).\n1. Select a target from the third drop-down, which is called `Launch Target`.\n1. Now click on the `Build` ![](docs_readme/images/icons/build.png) button to start with a build process.\n\n![](docs_readme/images/9_cmake_build.png)\n\n\u003ca name=\"FlashApplication\"\u003e\u003c/a\u003e\n# Flashing the Project\n\nFlash operation can be initiated with just a click of a launch button ![](docs_readme/images/icons/run.png) and it's auto-configured to flash the application with the default flash command i.e, `idf.py -p PORT flash`.\n\n\u003cimg width=\"767\" alt=\"flash\" src=\"https://github.com/espressif/idf-eclipse-plugin/assets/8463287/3249c01b-af23-4863-811f-c3959008f257\"\u003e\n\nTo provide the customized flash arguments, please follow [this](#customizeLaunchConfig) link for further instructions.\n\nTo configure flashing via JTAG, please refer to this \u003ca href=\"https://github.com/espressif/idf-eclipse-plugin/tree/master/docs_readme/JTAG%20Flashing.md\"\u003e JTAG Flashing guide\u003c/a\u003e.\n\n\u003ca name=\"ConfigureLaunchTerminal\"\u003e\u003c/a\u003e\n# Viewing Serial Output\n\nTo see the serial output in Eclipse, we need to configure the `ESP-IDF Serial Monitor` to connect to the serial port. This is integrated with the `IDF Monitor`. Please check more details \u003ca href=\"https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-monitor.html#idf-monitor\"\u003ehere\u003c/a\u003e.\n\n\u003cimg width=\"279\" alt=\"monitor\" src=\"https://github.com/espressif/idf-eclipse-plugin/assets/8463287/993a1fa2-9c6e-4b0e-a245-713df30331e7\"\u003e\n\n1. Click on the `Open a Terminal` icon from the toolbar.\n1. Choose `ESP-IDF Serial Monitor` from the terminal drop-down.\n1. Select `Serial Port` for your board if it's not detected.\n1. Configure serial monitor filter options for output filtering.\n1. Click on `OK` to launch the terminal, which will listen to the USB port.\n\n![](docs_readme/images/10_serial_terminal.png)\n\n### ESP-IDF Serial Monitor Settings\n\nESP-IDF Serial Monitor will allow you to configure the default settings of the serial monitor character limit and number of lines.\n\n1. Navigate to `Espressif` from the Eclipse Preferences.\n1. Click on `ESP-IDF Serial Monitor Settings`.\n1. Provide `Console Line Width` and `Limit Console Output`.\n\n\u003ca name=\"debugging\"\u003e\u003c/a\u003e\n# Debugging the Project\nIn most cases, only two things are required to start debugging an esp-idf project:\n1) Create a debug configuration\n2) Check whether the board in the created configuration corresponds to the board in use.\n\u003e **Note:** If you're using Windows, you may need to install drivers using Zadig to run a debug session successfully. For detailed instructions, please refer to this [guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/jtag-debugging/configure-ft2232h-jtag.html#configure-usb-drivers).\n\nThe fastest way to create a debug configuration is to expand the configuration list in the launch bar and click `New Launch Configuration...`. Then select `ESP-IDF GDB OpenOCD Debugging` -\u003e Double Click or `Next`. After that, the preview for the new debug configuration will open where it's necessary to check the board.\n\nAfter creating the debug configuration, you can go ahead and debug the project. Select the configuration you just created, select debug mode, and click on the \"Debug\" icon ![](docs_readme/images/icons/debug.png) to start debugging:\n\n![Debugging_process](https://github.com/espressif/idf-eclipse-plugin/assets/24419842/1fb0fb9b-a02a-4ed1-bdba-b4b4d36d100f)\n\n\nTo learn more about the debug configuration, please refer to \u003ca href=\"https://github.com/espressif/idf-eclipse-plugin/tree/master/docs_readme/OpenOCD%20Debugging.md\"\u003eGDB OpenOCD Debugging\u003c/a\u003e.\n\n# Other IDE Features\n\n\u003ca name=\"NewProjectUsingTemplates\"\u003e\u003c/a\u003e\n## Create a new project using ESP-IDF Templates\n\n1. Make sure you're in `C/C++ Perspective`.\n1. Go to `File` \u003e `New` \u003e `Espressif IDF Project` (If you don't see this, please reset the perspective from `Window` \u003e `Perspective` \u003e `Reset Perspective..`).\n1. Provide the `Project name`.\n1. Click `Next`.\n1. Check `Create a project using one of the templates`.\n1. Select the required template from the tree.\n1. Click `Finish`.\n\n\u003e **Note:** You will see a lot of unresolved inclusion errors in the editor and those will be resolved only after the build.\n\n![](docs_readme/images/4_new_project_templates.png)\n\n\n\u003ca name=\"projectconfigure\"\u003e\u003c/a\u003e\n# SDK Configuration editor\n\nProject configuration is held in a single file called `sdkconfig` in the root directory of the project. This configuration file can be modified using `SDK Configuration Editor`\n\nTo launch the SDK Configuration editor:\n\n1. Navigate to `sdkconfig` file.\n1. Double-click on the file to launch the SDK configuration editor.\n1. Use `Ctrl+S` or  `Command+S` based on the OS environment to save the changes. You can also use Eclipse `Save` button from the toolbar.\n1. To revert the sdkconfig editor changes, you can either close the editor without saving them or you can right-click on the `sdkconfig` file and select `Load sdkconfig` menu option to revert the changes from the editor.\n\n![](docs_readme/images/13_sdkconfig_editor.png)\n\n\u003ca name=\"cmakeproject\"\u003e\u003c/a\u003e\n# CMake Editor\n\nCMake Editor Plug-in is integrated with IDF Plugin for editing CMake files such as CMakeLists.txt. It provides syntax coloring, CMake command content assist, and code templates.\n\n![](docs_readme/images/cmake_editor_ca.png)\n\nCMake editor preferences can be controlled using `Eclipse` \u003e `Preferences` \u003e `CMakeEd`.\n\n![](docs_readme/images/cmake_editor_preferences.png)\n\n\u003ca name=\"sizeanalysiseditor\"\u003e\u003c/a\u003e\n# ESP-IDF Application Size Analysis\n\nThe Application Size Analysis editor provides a way to analyze the static memory footprint of your application. It has two sections:\n- The **Overview** section provides a summary of the application's memory usage;\n- The **Details** section will have in-depth details about components and per-symbol level memory information.\n\n**Details** table viewer also provides you with searching and sorting capabilities on various columns.\n\nTo launch the Application Size Analysis editor:\n\n1. Right-click on the project.\n1. Select `ESP-IDF` \u003e `Application Size Analysis` menu option to launch the editor.\n\n**Application Size Analysis - Overview**\n\n![](docs_readme/images/sizeanalysis_overview.png)\n\n**Application Size Analysis - Details**\n\n![](docs_readme/images/sizeanalysis_details.png)\n\n\u003ca name=\"idfterminal\"\u003e\u003c/a\u003e\n# ESP-IDF Terminal\n\nThis would launch a local terminal with all the environment variables which are set under `Preferences` \u003e `C/C++` \u003e `Build` \u003e `Environment`. The default working directory would be either the currently selected project or IDF_PATH if there is no project selected.\n\nThe terminal PATH is also configured with `esptool`, `espcoredump`, `partition_table`, and `app_update` component paths so that it will be handy to access them directly from the ESP-IDF terminal.\n\nTo launch the ESP-IDF Terminal:\n\n* Click on the `Open a Terminal` icon from the toolbar.\n* Choose `ESP-IDF Terminal` from the terminal drop-down and click `OK` to launch a terminal.\n\n![](docs_readme/images/idf_terminal.png)\n\n\u003ca name=\"espidfcomponents\"\u003e\u003c/a\u003e\n# Installing ESP-IDF Components\n\nYou can install the ESP-IDF Components directly into your project from the available components online. Follow the steps below:\n\n* Right-click on the project from `Project Explorer` in which you want to add the component to and Select `Install ESP-IDF Components`.\n\n  ![](docs_readme/images/ESP-IDF_Components/install_components.png)\n\n  A new window will open up showing all the available component to be installed.\n\n* From the window, you can click on `Install` button to add that component to the project. To get to the readme file for that component you can click on `More Info` which will open the browser link to the readme file of that component.\n  ![](docs_readme/images/ESP-IDF_Components/components_window.png)\n\nAlready added components are also shown but the `Install` button changes text to `Already Added` and is disabled.\n\n\u003ca name=\"configureEnvironmentVariables\"\u003e\u003c/a\u003e\n# Configuring Environment Variables\n\nAll the required environment variables are automatically configured by the IDE during the ESP-IDF and Tools installation process (Espressif \u003e ESP-IDF Manager \u003e Add ESP-IDF). You can verify them in the Preferences page under `C/C++` \u003e `Build` \u003e `Environment`.\n\n![](docs_readme/images/2_environment_pref.png)\n\n# Configuring Toolchains\n\nWe need to tell Eclipse CDT what core build toolchain and CMake toolchain to use to build the project. However, this will be auto-detected if you've installed the tools using the `Espressif` \u003e `ESP-IDF Manager` \u003e `Add ESP-IDF` option from IDE.\n\nIf these toolchains are not detected for any reason, please follow the step-by-step instructions below to add a new toolchain.\n\n\u003ca name=\"ConfigureToolchains\"\u003e\u003c/a\u003e\n# Configuring Core Build Toolchains\n\n1. Open Eclipse Preferences.\n1. Navigate to `C/C++` \u003e `Core Build Toolchains` preference page.\n1. Click on `Add..` from the user-defined toolchains tables.\n1. Select `GCC` as a toolchain type.\n1. Click on `Next`.\n1. Provide the GCC toolchain settings:\n\n\t* **Compiler:** /Users/user-name/esp/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc,\n\t* **Operating System:** esp32,\n\t* **CPU Architecture:** xtensa\n\n![](docs_readme/images/6_core_build_toolchains.png)\n\n\u003ca name=\"ConfigureCMakeToolchain\"\u003e\u003c/a\u003e\n# Configuring CMake Toolchain\n\nWe now need to tell CDT which toolchain to use when building the project. This will pass the required arguments to CMake when generating the Ninja files.\n\n1. Navigate to `C/C++` \u003e `CMake` preference page.\n1. Click `Add...` and this will launch the New CMake toolchain configuration dialog.\n1. Browse CMake toolchain `Path`. Example: `/Users/user-name/esp/esp-idf/tools/cmake/toolchain-esp32.cmake`.\n1. Select GCC Xtensa toolchain compiler from the drop-down list. Example: `esp32 xtensa /Users/user-name/esp/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc`.\n\n\u003e **Note:**  Eclipse CDT has a bug in saving the toolchain preferences, hence it's recommended to restart Eclipse before we move further configuring the launch target.\n\n![](docs_readme/images/7_cmake_toolchain.png)\n\n\u003ca name=\"SelectDifferentToolchain\"\u003e\u003c/a\u003e\n# Selecting Clang Toolchain\n\n1. After creating a new project, edit the project configuration\n![image](https://user-images.githubusercontent.com/24419842/194882285-9faadb5d-0fe2-4012-bb6e-bc23dedbdbd2.png)\n1. Go to the `Build Settings` tab and select clang toolchain there:\n![image](https://user-images.githubusercontent.com/24419842/194882462-3c0fd660-b223-4caf-964d-58224d91b518.png)\n\n\u003e **Note:** Clang toolchain now is an experimental feature and you may face some build issues due to the incompatibility of esp-idf. Below is a description of how to fix the most common build issue on the current ESP-IDF master (ESP-IDF v5.1-dev-992-gaf28c1fa21-dirty). To work around clang build errors please refer to [this](https://github.com/espressif/idf-eclipse-plugin/blob/master/WORKAROUNDS.md#clang-toolchain-buid-errors).\n\n\u003ca name=\"customizeLaunchConfig\"\u003e\u003c/a\u003e\n# Launch Configuration\n\nTo provide the customized launch configuration and flash arguments, please follow the step-by-step instructions below.\n\n1. Click on the `Launch Configuration` edit button.\n1. Switch to the `Main` tab.\n1. Specify the `Location` where this application has to run. Since `idf.py` is a Python file, will configure the Python system path. Example:`${system_path:python}`.\n1. Specify the `Working directory` of the application. Example: `${workspace_loc:/hello_world}`.\n1. In additional arguments, provide a flashing command which will run in the specified working directory.\n1. Flash command looks like this: `/Users/user-name/esp/esp-idf/tools/idf.py -p /dev/cu.SLAB_USBtoUART flash`.\n1. Click OK to save the settings.\n1. Click on the `Launch` icon to flash the application to the selected board.\n\n![](docs_readme/images/11_launch_configuration.png)\n\n![](docs_readme/images/12_flashing.png)\n\n\u003ca name=\"changeLanguage\"\u003e\u003c/a\u003e\n# Changing Language\n\nTo change the plugin language a menu is provided to show the list of available languages for the plugin.\n\n1. Click on the `Espressif` menu from the menu bar.\n1. Select the `Change Language` from the drop-down menu.\n1. From the sub menu select the language you want.\n1. IDE will restart with the selected language.\n\n![](docs_readme/images/change_language.png)\n\nRemember this will only change the language of the Eclipse if the required language bundles for the selected language are installed or else only the plugin interfaces will be changed.\n\n\u003ca name=\"troubleshooting\"\u003e\u003c/a\u003e\n# Troubleshooting\n\n## Suggestions for Solving Errors from ESP-IDF by Hints Viewer\n\nIf you run into a problem during a build, chances are that there is a hint for this error in the ESP-IDF hint database, which is stored in `tools/idf_py_actions/hints.yml` of ESP-IDF. The ESP-IDF Eclipse plugin provides a hint viewer where you can type an error message and find a hint for it.\nPrerequisites for it is to have `hints.yml`, which is available from ESP-IDF v5.0 and higher. If you are using lower versions of ESP-IDF, you can still use the hints viewer. To do it, you have to manually download the hints.yml file from [here](https://github.com/espressif/esp-idf/blob/master/tools/idf_py_actions/hints.yml) and put it to your `esp-idf/tools/idf_py_actions/` path. To download a file from GitHub, right-click the `Raw` button and then `Save as...`.\n\nTo open the hints viewer go to `Windows` -\u003e `Show View` -\u003e `Other...` -\u003e `Espressif` -\u003e `Hints`. You will see the following view:\n![image](https://user-images.githubusercontent.com/24419842/189666994-78cc8b24-b934-426f-9df5-79af28c50c55.png)\n\nNow you can type or copy paste some error from the build log, for example:\n`ccache error: Failed to create temporary file for esp-idf/libsodium/CMakeFiles/..../....: No such file or directory`\n\n![image](https://user-images.githubusercontent.com/24419842/189672552-994624f3-c0c5-48e6-aa2c-61e4ed8915e5.png)\n\nDouble-clicking on the row will give you a hint message, so you can clearly see it if it doesn't fit on your screen in the table view.\n\n![image](https://user-images.githubusercontent.com/24419842/189673174-8ce40cda-6933-4dc4-a555-5d2ca617256e.png)\n\n## Error Log\n\nThe Error Log view captures all the warnings and errors logged by plug-ins. The underlying log file is a .log file stored in the .metadata subdirectory of the workspace.\n\nThe Error Log view is available in `Window` \u003e `Show View` \u003e `Error Log`.\n\nTo export the current log view content into a file, press the Export Log toolbar button or select `Export Log...` from the context menu. Then, enter a file name.\n\nAlways provide an error log when reporting an issue.\n\n![](docs_readme/images/export_log.png)\n\n## Console View Log\n\nThe Console View provides all the warnings and errors related to the current running process or build. To access the console view.\n\nFrom the menu bar, `Window` \u003e `Show View` \u003e `Console`.\n\n![](docs_readme/images/CDT_Build_Console.png)\n\n## CDT Global Build Log\n\nGo to `Preferences \u003e C/C++ \u003e Build \u003e Logging`\n\n## Espressif IDF Tools Console\n\nThe Espressif IDF Tools Console is part of the Console view, this will be opened only during the installation of IDF tools from the Eclipse.\n\nIf you encounter any issue while installing the IDF tools using `Espressif` \u003e `ESP-IDF Tools Manager` \u003e `Install tools`, please check the Espressif IDF Tools Console to see the errors reported.\n\nIf this is not active, it can be switched by clicking on the `Display Selected Console` icon from the console view.\n\n![](docs_readme/images/IDF_tools_console.png)\n\n## Heap Tracing\n\nPlease refer to \u003ca href=\"https://github.com/espressif/idf-eclipse-plugin/tree/master/docs_readme/HeapTracing.md\"\u003ethis\u003c/a\u003e doc.\n\n\u003ca name=\"installPluginsFromMarketPlace\"\u003e\u003c/a\u003e\n# Installing IDF Eclipse Plugin from Eclipse Market Place\n\nPlease follow the steps below to install IDF Eclipse Plugin from the Eclipse Market Place.\n\n1. In Eclipse, choose `Help` \u003e `Eclipse Market Place...`.\n1. Enter `ESP-IDF Eclipse Plugin` in the search box to find the plugin.\n1. Click on `Install` to follow the installation instructions.\n1. Restart the Eclipse.\n\n![](docs_readme/images/market_place.png)\n\n\u003ca name=\"installPluginsUsingLocalFile\"\u003e\u003c/a\u003e\n# Installing IDF Eclipse Plugin from Local Archive\n\n1. Download the latest update site archive for IDF Eclipse Plugin here - https://github.com/espressif/idf-eclipse-plugin/releases.\n1. In Eclipse, choose `Help` \u003e `Install New Software`.\n1. Click `Add…` button.\n1. Select `Archive` from Add repository dialog and select the file `com.espressif.idf.update-vxxxxxxx.zip`.\n1. Click `Add`.\n1. Select `Espressif IDF` from the list and proceed with the installation.\n1. Restart the Eclipse.\n\n![](docs_readme/images/1_idffeature_install.png)\n\n\u003ca name=\"upgradePlugins\"\u003e\u003c/a\u003e\n# How do I upgrade my existing IDF Eclipse Plugin?\n\nIf you are installing IDF Eclipse Plugin into your Eclipse for the first time, you first need to add the new release's repository as follows:\n\n1. `Window` \u003e `Preferences` \u003e `Install/Update` \u003e `Available Software Sites`.\n1. Click `Add`.\n1. Enter the URL of the new repository https://dl.espressif.com/dl/idf-eclipse-plugin/updates/latest/.\n1. Click `Ok`.\n\nIf you've already installed IDF Eclipse Plugin using `update site URL`, you can get the latest changes by following the steps below:\n\n1. `Help` \u003e `Check for Updates`.\n1. If updates are found, select `Espressif IDF Plugins for Eclipse` and deselect all other items.\n1. Click `Next` to proceed with the installation.\n\n![](docs_readme/images/Update_plugins.png)\n\n\u003ca name=\"ImportProject\"\u003e\u003c/a\u003e\n# Importing an existing IDF Project\n\n1. Make sure you're in `C/C++ Perspective`.\n1. Right-click in the `Project Explorer`.\n1. Select `Import..` Menu.\n1. Select `Existing IDF Project` from `Espressif` import wizard menu list.\n1. Click `Next`.\n1. Click on `Browse...` to choose an existing project location directory.\n1. Provide `Project name` if you wish you have a different name.\n1. Click `Finish` to import the selected project into Eclipse workspace as a CMake project.\n\n![](docs_readme/images/5_import_project.png)\n\n\u003ca name=\"importDebugLaunchConfig\"\u003e\u003c/a\u003e\n# Importing an existing Debug launch configuration\n\nTo import an existing launch configuration into Eclipse:\n\n1. Select `Import...` from the `File` menu.\n1. In the Import dialog box, expand the `Run/Debug` group and select `Launch Configurations`.\n1. Click on `Next`.\n1. Click on `Browse...` to select the required location in the local file system.\n1. Select the folder containing the launch files and then click `OK`.\n1. Select the checkboxes for the required folder and launch file.\n1. If you are replacing an existing configuration with the same name then select `Overwrite existing launch configurations without warning`.\n1. Click on `Finish`.\n\n\u003ca name=\"gdbStubDebugging\"\u003e\u003c/a\u003e\n# GDBStub Debugging\n\nYou can now use the GDBStub debugging inside our Eclipse plugin to help you diagnose and debug issues on chips via Eclipse when it is in panic mode.\n\nTo enable GDBStub debugging for a project:\n\n1. Launch the `sdkconfig` in project root by double-clicking on it which will open the configuration editor.\n![](docs_readme/images/GDBStubDebugging/sdkconfig_editor.png)\n\n1. Expand the `Component Config` section and select `ESP System Settings`. From the settings on the right for `Panic Handler behaviour` select the `GDBStub on Panic option` from the list.\n![](docs_readme/images/GDBStubDebugging/sdkconfig_editor_panic_behavior.png)\n\nNow you will be taken to the GDBStub debugger automatically when you connect the serial monitor and there is a panic for this example.\n\nTo use the GDBStub debugging for a project:\n\n1. Create a template `hello_world` project and add the following lines in the main c file.\n\n\t```\n\tThis is a global variable\u003cbr/\u003e\n\tCOREDUMP_DRAM_ATTR uint8_t global_var;\n\t```\n\n1. Now add these two lines just above the `esp_restart()` function\n\n\t```\n\tglobal_var = 25;\n\tassert(0);\n\t```\n\nThe final file should be something like this:\n![](docs_readme/images/GDBStubDebugging/code_example.png)\n\nBuild and flash the project and launch the serial monitor. On line number 45, we are signaling for a failing assert which will put the chip in panic mode and when that line reaches, you will be prompted to switch the perspective to debug mode and the chip will be halted.\n\nRemember that this is a panic mode and you cannot continue the execution from here, you will have to stop and restart the chip through IDF commands or simply restart the serial monitor.\n\n![](docs_readme/images/GDBStubDebugging/debug_panic_mode.png)\n\nYou can view the registers stack trace and even view the value of variables in the stack frame.\n\nTo exit the debug session simply press `stop` button.\n\n\u003ca name=\"coreDumpDebugging\"\u003e\u003c/a\u003e\n\n# Core Dump Debugging\n\nThe IDF-Eclipse plugin allows you to debug the core dump if any crash occurs on the chip and the configurations are set. Currently only the UART core dump capture and debugging is supported.\n\nTo enable core dump debugging for a project:\n\n1. You need to enable it first in `sdkconfig`. Launch the `sdkconfig` in the project root by double-clicking on it which will open the configuration editor\n\n1. Click on the `Core Dump` from the settings on the left and select `Data Destination` as `UART`.\n![](docs_readme/images/CoreDumpDebugging/sdkconfig_editor.png)\n\nThis will enable the core dump debugging and whenever you connect a serial monitor for that project if any crash occurs it will load the dump and open a debug perspective in Eclipse to let you diagnose the dump where you can view all the information in the core dump.\n\nYou can view the registers stack trace and even view the value of variables in stack frame.\n\nTo exit the debug session: simply press stop button.\n\n\u003ca name=\"deviceFirmwareUpgrade\"\u003e\u003c/a\u003e\n# Device Firmware Upgrade (DFU) through USB\n\nDevice Firmware Upgrade (DFU) is a mechanism for upgrading the firmware of devices through Universal Serial Bus (USB). There are a few requirements that need to be met:\n\n- DFU is supported by ESP32-S2 and ESP32-S3 chips.\n- You will need to do some electrical connection work (Here is a [guide](https://blog.espressif.com/dfu-using-the-native-usb-on-esp32-s2-for-flashing-the-firmware-b2c4af3335f1) for the ESP32-S2 board). The necessary connections for the USB peripheral are shown in the following table.\n\n| GPIO | USB         |\n| -----| ------------|\n| 20   |  D+ (green) |\n| 19   |  D- (white) |\n| GND  |  GND (black)|\n| +5V  |  +5V (red)  |\n\nAfter meeting the above requirements:\n\n1. The chip needs to be in bootloader mode for the detection as a DFU device and flashing. This can be achieved by pulling GPIO0 down (e.g. pressing the BOOT button), pulsing RESET down for a moment and releasing GPIO0.\n\u003ca name=\"driversInstallation\"\u003e\u003c/a\u003e \n1. Install USB drivers (Windows only). The drivers can be installed by the [Zadig tool](https://zadig.akeo.ie/).\n\t- Please make sure that the device is in download mode before running the tool and that it detects the device before installing the drivers.\n\t- The Zadig tool might detect several USB interfaces of the target. Please install the WinUSB driver for only that interface for which there is no driver installed (probably it is Interface 2) and don't re-install the driver for the other interface.\n\t- The manual installation of the driver in Device Manager of Windows is not recommended because the flashing might not work properly.\n\nAfter meeting the above requirements, you are free to build and flash via DFU. How to use DFU:\n\n1. Edit the active launch configuration.\n1. In the main tab, select the `Flash over DFU` option.\n1. Select a suitable IDF target for DFU\n1. Now, if you use the build command, an extra file (dfu.bin) will be created, which can be used later for flashing.\n\n![DFU actions](https://user-images.githubusercontent.com/24419842/226182180-286099d3-9c1c-4394-abb0-212d43054529.png)\n\nAdditional information, including common errors and known issues, is mentioned in this [guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-guides/dfu.html#usb-drivers-windows-only).\n\n\u003ca name=\"appLvlTracing\"\u003e\u003c/a\u003e\n# Application Level Tracing\n\nESP-IDF provides a useful feature for program behavior analysis called [Application Level Tracing](https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/api-guides/app_trace.html?). IDF-Eclipse plugin has UI, that allows the use of start, and stop tracing commands and process received data. To familiarize yourself with this library, you can use the [app_trace_to_host](https://github.com/espressif/esp-idf/tree/release/v5.0/examples/system/app_trace_to_host) project or the [app_trace_basic](https://github.com/espressif/esp-idf/tree/release/v5.1/examples/system/app_trace_basic) project if you are using esp-idf 5.1 and higher. These projects can be created from the plugin itself:\n![](docs_readme/images/AppLvlTracing_1.png)\n\nBefore you start using application-level tracing, it is important to create a debug configuration for the project where you must select the board you are using in order to successfully start the OpenOCD server.\n\n![](docs_readme/images/AppLvlTracing_3.png)\n\nAfter the debug configuration is created, right-click on the project in the Project Explorer and click on `ESP-IDF` \u003e `Application Level Tracing`:\n\n![](docs_readme/images/AppLvlTracing_2.png)\n\nIt can take a while to open the application level tracing dialog because the OpenOCD server starts first, so you don't need to start it externally. At the very top of the application-level trace dialog, there are auto-configured fields that you can change for the trace start command.\n\nStart command:\n\n* Syntax: `start \u003coutfile\u003e [poll_period [trace_size [stop_tmo [wait4halt [skip_size]]]]`\n* Argument:\n\t* `outfile`: Path to file to save data from both CPUs. This argument should have the following format: ``file://path/to/file``.\n\t* `poll_period`: Data polling period (in ms) for available trace data. If greater than 0 then command runs in non-blocking mode. By default, 1 ms.\n\t* `trace_size`: Maximum size of data to collect (in bytes). Tracing is stopped after specified amount of data is received. By default -1 (trace size stop trigger is disabled).\n\t* `stop_tmo`: Idle timeout (in sec). Tracing is stopped if there is no data for a specified period of time. By default -1 (disable this stop trigger). Optionally set it to a value longer than the longest pause between tracing commands from the target.\n\t* `wait4halt`: If 0 start tracing immediately, otherwise command waits for the target to be halted (after reset, by breakpoint etc.) and then automatically resumes it and starts tracing. By default, 0.\n\t* `skip_size`: Number of bytes to skip at the start. By default, 0.\n\nAdditional information can be found [here](https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/api-guides/app_trace.html?).\n\n![](docs_readme/images/AppLvlTracing_4.png)\n\nThe next two fields `Trace Processing Script` and `Start Parsing Command` are used to parse the output file.\n\n* `Trace Processing Script` is used to provide the path to the parsing script, by default it is logtrace_proc.py from esp-idf.\n* `Start Parsing Command` allows you to check the resulting parsing command and edit it if it's necessary. By default, this field is automatically configured to match `$IDF_PATH/tools/esp_app_trace/logtrace_proc.py/path/to/trace/file/path/to/program/elf/file`.\n\nNote the `Start parse` button is disabled until a dump file is available. To generate it, click the `Start` button at the bottom of the dialog box. After you click, the button changes to Stop so that you can stop tracking.\n\nWhen the output file is generated, you can click on `Start parse` button, and you will see the parsed script output in the Eclipse console:\n\n![](docs_readme/images/AppLvlTracing_5.png)\n\n\u003ca name =\"partitionTableEditor\"\u003e\u003c/a\u003e\n# Partition Table Editor UI for ESP-IDF\n\nThe Partition Table Editor command allows you to edit your [partition table](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/partition-tables.html) in a more convenient way, where you can see the supported types and subtypes and monitor the correctness of the entered data.\n\nSteps:\n\n1. Go to `Project Explorer`, open any IDF Project where you want to have a customized partition table.\n2. In `Project Explorer`, right-click on the project and click on `ESP-IDF` \u003e `Partition Table Editor` menu:\n\n\t![partition_table_editor_3](https://user-images.githubusercontent.com/24419842/216105408-ca2e73ce-5df3-4bdd-ac61-b7265deb9b44.png)\n\n\tWhen opening the partition table editor for the selected project, you will see the standard editable content. Errors (if any) will be highlighted. You can hover your mouse over it to get a hint of what it is about:\n\n\t![partition_table_editor_4](https://user-images.githubusercontent.com/24419842/216106804-703b2eb4-b141-48de-8559-0599f072219f.png)\n\n3. Click \"Save\" or \"Save and Quit\" to save your changes.\n\nTo use a customized partition table:\n\n1. Go to `sdkconfig` and set `Custom partition table CSV` like below:\n\n\t![partition_table_editor](https://user-images.githubusercontent.com/24419842/216104107-2844068b-8412-468b-931f-b4778af4417c.png)\n\n\u003ca name =\"nvsTableEditor\"\u003e\u003c/a\u003e\n# NVS Table Editor\n\nThe NVS Table Editor helps to create a binary file based on key-value pairs provided in a CSV file. The resulting binary file is compatible with NVS architecture defined in [ESP_IDF Non Volatile Storage](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/storage/nvs_flash.html). The expected CSV format is:\n\n```\n\tkey,type,encoding,value     \u003c-- column header (must be the first line)\n\tnamespace_name,namespace,,  \u003c-- First entry must be of type \"namespace\"\n\tkey1,data,u8,1\n\tkey2,file,string,/path/to/file\n```\n\u003e Note: This is based on ESP-IDF [NVS Partition Generator Utility](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/storage/nvs_partition_gen.html).\n\nSteps:\n\n1. Right-click on a project in the `Project Explorer`\n2. Click on the `ESP-IDF` \u003e `NVS Table Editor` menu option:\n\n\t![NVS Table Editor](https://user-images.githubusercontent.com/24419842/216114697-9f231211-f5dd-431b-9432-93ecc656cfec.png)\n\n3. Make desired changes to CSV data\n4. Save changes by clicking the `Save` button. If everything is ok, you will see an information message at the top of the dialog:\n\n\t![NVS_TABLE_EDITOR_2png](https://user-images.githubusercontent.com/24419842/216115906-9bb4fe55-293b-4c6b-8d22-0aa3520581ab.png)\n\n5. Generate the partition binary (Choose `encrypt` to encrypt the binary and disable the generate key option to use your own key if desired). You will see an information message at the top of the dialog about the result of generated binaries. You can hover your mouse over it to read the whole message if it's too long:\n\n\t![NVS_Table_Editor_4](https://user-images.githubusercontent.com/24419842/216117261-9bee798a-3a9e-4be5-9466-fc9d3847834b.png)\n\n\t\u003e Note: If there are any errors, you will see them highlight, hover on the error icon to read more about the error. Also, you will see an error message at the top of the dialog if saving the CSV file is not successful:\n\n\t![NVS_Table_editor_5](https://user-images.githubusercontent.com/24419842/216118486-69f819fa-7a95-49ae-805e-473cd2c424e8.png)\n\nAfter all these steps, you should see `nvs.csv` and `nvs.bin` files in the project directory.\n\n\u003ca name =\"writeFlashBinary\"\u003e\u003c/a\u003e \n# Write Binary to Flash\n\nBinary data can be written to the ESP’s flash chip via `ESP-IDF` \u003e `Write Binary Data to Flash` command accessible by right click on the project in the project explorer:\n\n\u003cimg width=\"344\" alt=\"Screenshot 2023-10-16 at 10 51 52\" src=\"https://github.com/espressif/idf-eclipse-plugin/assets/24419842/186c8498-d779-4771-af53-e5bf09e29502\"\u003e\n\nAfter clicking this command, the `Write Binary Data to Flash` dialog box will open. Editable default values ​​are provided for binary path and offset. The correct offset can be checked by looking at the partition table via `ESP-IDF` \u003e `Partition Table Editor` or manually by opening the partitions.csv file\n\n\u003cimg width=\"591\" alt=\"Screenshot 2023-10-16 at 10 51 27\" src=\"https://github.com/espressif/idf-eclipse-plugin/assets/24419842/46e24e89-a1ed-4169-8c92-1ba0b0089ea7\"\u003e\n\nAfter clicking on the `Flash` button the result of the flash command will be printed inside of this dialog.\n\n# How to build locally\n\n1. Install prerequisites Java 11+ and Maven.\n2. Run the below commands to clone and build.\n\n\t```\n\tgit clone https://github.com/espressif/idf-eclipse-plugin.git\n\tcd idf-eclipse-plugin\n\tmvn clean verify -Djarsigner.skip=true\n\t```\n\nThis will generate p2 update site artifact:\n\n* Name: `com.espressif.idf.update-*`\n* Location: `releng/com.espressif.idf.update/target`\n\nThis artifact can be installed using the mechanism mentioned \u003ca href=\"https://github.com/espressif/idf-eclipse-plugin#installPluginsUsingLocalFile\"\u003ehere\u003c/a\u003e\n\n# How do I get the latest development build\n\n1. Go to the last commit of the master branch \u003ca href=\"https://github.com/espressif/idf-eclipse-plugin/commits/master\"\u003ehere\u003c/a\u003e.\n1. Click on a :white_check_mark: green tick mark.\n1. Click on `Details`.\n1. Click on `Summary` on the left.\n1. Scroll down to see the `Artifacts` section.\n1. Download `com.espressif.idf.update` p2 update site archive and install as per the instructions mentioned \u003ca\nhref=\"https://github.com/espressif/idf-eclipse-plugin#installPluginsUsingLocalFile\"\u003ehere\u003c/a\u003e.\n\n# Custom IDE Configuration\n## Custom build directory\n\nIDE allows configuring a custom build directory to the project:\n\n1. Select a project and click on a launch configuration `Edit` button from the top toolbar and this will the launch `Edit Configuration` window.\n2. Navigate to the `Build Settings` tab.\n3. In the `Additional CMake Arguments` section, provide a custom build directory with arguments `-B \u003ccustom build path\u003e` with an absolute path. Customized build directory path could be within the project or a path from the file system. For example: `-B /Users/myUser/esp/generated`.\n4. Click on `Ok` and build the project.\n\nNote this configuration changes where all the project build artifacts will be generated.\n\n![](docs_readme/images/custombuilddir.png)\n\n\u003ca name =\"wokwisimulator\"\u003e\u003c/a\u003e\n# Wokwi Simulator\n\n1. Install `wokwi-server` as mentioned [here](https://github.com/MabezDev/wokwi-server/)\n1. In the Eclipse CDT build environment variables, configure `WOKWI_SERVER_PATH` with the wokwi-server executable path (`Preferences` \u003e `C/C++` \u003e `Build` \u003e `Environment`).\n1. Create a new `Run launch configuration` with the `Wokwi Simulator`.\n1. Choose a project and add the project ID of the Wokwi project. The ID of a Wokwi project can be found in the URL. E.g., the URL of project ESP32 Rust Blinky is [https://wokwi.com/projects/345932416223806035](https://wokwi.com/projects/345932416223806035) and the project ID is 345932416223806035.\n1. Click `Finish` to save the changes.\n1. From the IDE Toolbar, click on the `Launch` button to launch the Wokwi simulator.\n1. Wokwi Simulator will be launched in the external browser. The serial monitor output is also displayed in the Eclipse CDT build console.\n1. To kill a Wokwi simulator, click on the `Stop` button from the toolbar.\n\n# ESP-IDF Eclipse Plugin Compatibility Matrix\n\n| IEP | Eclipse | Java | Installer | Description |\n| ------ | ------ | ------ |------ | ------ |\n| IEP 2.12.1 | Eclipse 2023-03 to Eclipse 2023-12 |Java 17 and above |[espressif-ide-setup-2.12.1-with-esp-idf-5.2.exe](https://github.com/espressif/idf-installer/releases/download/espressif-ide-2.12.1-esp-idf-5.2/espressif-ide-setup-2.12.1-with-esp-idf-5.2.exe) |\n| IEP 2.12.0 | Eclipse 2023-03, Eclipse 2023-06, Eclipse 2023-09 |Java 17 and above | [espressif-ide-setup-2.12.0-with-esp-idf-5.1.2](https://github.com/espressif/idf-installer/releases/download/espressif-ide-2.12.0-esp-idf-5.1.2/espressif-ide-setup-2.12.0-with-esp-idf-5.1.2.exe) |\n| IEP 2.11.0 | Eclipse 2023-03, Eclipse 2023-06, Eclipse 2023-09 |Java 17 and above |[espressif-ide-setup-2.11.0-with-esp-idf-5.1.1.exe](https://github.com/espressif/idf-installer/releases/download/espressif-ide-2.11.0-esp-idf-5.1.1/espressif-ide-setup-2.11.0-with-esp-idf-5.1.1.exe) |\n| IEP 2.10.0 | Eclipse 2022-09,2022-12,2023-03 |Java 17 and above | [espressif-ide-setup-2.10.0-with-esp-idf-5.0.1.exe](https://github.com/espressif/idf-installer/releases/download/untagged-52aeb689780472c126c1/espressif-ide-setup-2.10.0-with-esp-idf-5.0.1.exe)|\n| IEP 2.9.1 | Eclipse 2022-09 and Eclipse  2022-12 |Java 17 and above | [espressif-ide-setup-2.9.0-with-esp-idf-5.0.1.exe](https://github.com/espressif/idf-installer/releases/download/espressif-ide-2.9.0-esp-idf-5.0.1/espressif-ide-setup-2.9.0-with-esp-idf-5.0.1.exe) | For Windows Users, it's recommended to use the Windows Offline Installer and upgrade to the latest IEP v2.9.1 plugin|\n| IEP 2.9.0 | Eclipse 2022-09 |Java 17 and above | [espressif-ide-setup-2.9.0-with-esp-idf-5.0.1.exe](https://github.com/espressif/idf-installer/releases/download/espressif-ide-2.9.0-esp-idf-5.0.1/espressif-ide-setup-2.9.0-with-esp-idf-5.0.1.exe) | For Windows, it's recommended to use the Windows Offline Installer|\n\n\n\u003ca name=\"Support\"\u003e\u003c/a\u003e\n# How to raise bugs\n\nPlease raise the issues [here](https://github.com/espressif/idf-eclipse-plugin/issues) with the complete environment details and log.\n","funding_links":[],"categories":["IoT"],"sub_categories":["Nextcloud"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fespressif%2Fidf-eclipse-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fespressif%2Fidf-eclipse-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fespressif%2Fidf-eclipse-plugin/lists"}