Java 11 and above. We suggest to use the latest LTS version. Check the plugin Prerequisites. Also check why we recommend Java 11 while using the IDF Eclipse plugin
Eclipse 2020-12 CDT and above (Eclipse IDE for C/C++ Developers). Check the plugin Prerequisites
You can check using java -version command from the terminal
Help > About Eclipse > Installation Details > Configuration- Look for
-vmargument
- Windows
- macOSX
- Linux
Help > About Eclipse > Installation Details > Configuration > Copy to Clipboard
- You can check using the menu
Eclipse > About Eclipse > Installation Details > Installed Software - Search for
Espressif
Eclipse > About Eclipse > Installation Details > Installed Software- Search for
Espressif - Select the Espressif IDF Feature
Uninstall..
Please check the error log from the main menu, select Window > Show View > Other. Then select General > Error Log
- Make sure you have installed Java 8 and above and Eclipse in the C/C++ perspective
- Reset the perspective using
Window > Perspective > Reset Perspective..
Yes, you can create IDF CMake project using File > New > Espressif IDF Project
Yes, you can import using Import Menu. Import... > Espressif > Existing IDF Project
Default directory is $HOME/.espressif for Linux/MacOS users or %USER_PROFILE%.espressif for Windows users
- You need to uncheck the preference recorder. This can be performed by following. Eclipse
Preferences > Oomph > Setup Tasks > Preference Recorder - Uncheck
Record into
Unresolved inclusion errors will be resolved only after the build. Make sure you select the ESP Launch Target before you trigger the build so that CDT will correctly identify the toolchain to build and index the sources. Check Configure Launch Target for more details.
If you still see the errors, please try Project > C/C++ Index > Rebuild and see if it helps.
You need to make sure you run the Install Tools from the Eclipse. This will take care of configuring the required paths in the CDT build environment along with installing the tools.
Check Configuring core build toolchains
You see this error when you're trying a compile a project without selecting an ESP launch target. Check this
- Open Eclipse IDE and Uninstall the esp-idf plugin
- Restart Eclipse IDE
- Download the previous version of the ESP Eclipse Plugin using this link
- Goto
Help > Install New Software - Press the
Addbutton, a window will open with the name ofAdd Repository - Press the
Archivebutton and select the file downloaded - Proceed with the installation
- Restart Eclipse
/projectName/build/compile_commands.json
compile_commands.json containing the exact compiler calls for all translation units of the project in machine-readable form which is used by the Eclipse CDT indexing for parsing and resovling headers
Please follow this menu. Project > C/C++ Index > Create Parser Log
To view the Eclipse error log: From the main menu, select Window > Show View > Other. Then select General > Error Log
Check more details here
You can find the detailed instructions here https://wiki.eclipse.org/How_to_report_a_deadlock
- On command line, use
jps -vto find the PIDs of Java processes and jstack to show the stack trace of Java processes.
$ jps -v
32308 org.eclipse.equinox.launcher_1.5.0.v20180119-0753.jar -Dosgi.requiredJavaVersion=1.8 -Dosgi.instance.area.default=@user.home/eclipse-workspace -XX:+UseG1GC -XX:+UseStringDeduplication -Dosgi.requiredJavaVersion=1.8 -Dosgi.dataAreaRequiresExplicitInit=true -Xms256m -Xmx1024m -Dswt.dbus.init
8824 Jps -Dapplication.home=/usr/lib/jvm/java-8-oracle -Xms8m
$ jstack 32308 > /tmp/jstack.txt
Here 32308 and 8824 are PIDs of Java processes. 8824 is jps itself and is of no interest for us. 32308 is and Eclipse process judging from presence of org.eclipse.equinox.launcher in its command line. Jstack command saves stack trace of Eclipse process in a file /tmp/jstack.txt, attach the file to bug report.
sun.security.validator.ValidatorException: PKIX path building failed: error while installing the plugins through update site
This would have caused by the Java version or Java certificates. Please make sure you've installed Java 11 and later to fix this error.
Check below links:
- https://esp32.com/viewtopic.php?f=13&t=12327&start=10#p50137
- https://stackoverflow.com/questions/6908948/java-sun-security-provider-certpath-suncertpathbuilderexception-unable-to-find
We recommend using Java 11(that's the latest LTS version from Oracle) and above while working with IDF Eclipse Plugin considering Eclipse 2020-06 has a requirement for Java 11 to work with the CDT. Here are some important pointers from Eclipse.
Check this - https://wiki.eclipse.org/CDT/User/NewIn911#Release
CDT 9.11 only requires Java 8 to run. However, a new feature in Eclipse 2020-06 and later means that the install wizard may prevent installation. The workaround is to disable "Verify provisioning operation is compatible with currently running JRE" in Windows -> Preferences -> Install/Update. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=564407#c1
Check this - https://wiki.eclipse.org/CDT/User/NewIn100
Starting with CDT 10.0 Java 11 or later is required to run CDT. This aligns with requirements of Eclipse IDE which also requires Java 11 to run starting in 2020-09.
There is no UI option to delete launch targets directly from the eclipse, however this can be achieved by following the below instructions.
- Go to the Eclipse workspace directory. For example: In my case /Users/myName/myTesteclipseWorkspace
- Navigate to
.metadata/.plugins/org.eclipse.core.runtime/.settingsfolder in the workspace directory - Look for
org.eclipse.launchbar.core.prefsfile and open it in the editor - Search for the launch target name you want to delete and remove all those entries from the file
- Save the file
- Restart the eclipse
- To enable logging navigate to
Preferences > Project > C/C++ > Build > Logging - Check
Enable global build logging - Build the project
- Export
global-build.log. This is the same build console log which appears in the CDT build console but the build console usually have limited buffer size hence it won't display everything.
IDF Eclipse plugin uses CMake commands to build the project so it's possible to pass cmake arguments from the build configuration wizard. To configure this.
- Click on the editor configuration wizard
- Navigate to
Build Settingstab - Add
--debug-outputor other verbose arguments in theAdditional CMake argumentstext field - Click on Ok and compile the project to start in the debug output mode. Please refer to https://cmake.org/cmake/help/v3.5/manual/cmake.1.html
- Navigate to
Espressif > Product Information
Eclipse launch fails with Java was started but returned exit code=13 when directory path contains special characters
Eclipse will fail to launch if installed in a directory whose path contains certain invalid characters, including :%#<>"!. The workaround is to install Eclipse in a directory whose path does not contain invalid characters.
- Open the project OpenOCD
Edit Configurationdialog - Navigate to the
Debuggertab - Add
-d3 -l oocd.login theConfig Optionssection of theDebuggertab - Click
Okand start the debugging process. This generatesoocd.logfile your project
esp_idf_components folder is introduced with v2.4.0 release to achieve source code navigation for the function definitions((Press F3 or Ctrl+Click on the functional call) and to fix unresolved header problems with the indexer. It will be created immediately after the build based on the build/compile_commands.json file list. secondly, it also helps the users who want to check source of esp-idf components directly from the IDE. The files created under esp_idf_componenets are virtual folders for /esp-idf/components and these will be re-generated everytime after the build.
This could be disabled by adding the -Dskip.idf.components=true VM argument in the eclipse.ini(espressif-ide.ini) file but this might create inconsistency issues with the indexer where it's unable to resovle headers properly and you might not be able to navigate to the function definitions from the code editors.
If you are a windows user, always prefer ESP-IDF Windows Installer for installing pre-requisites and required drivers
To install it manually refer to this
To installation of the USB drivers for Libusb and FTDI D2XX drivers for your devices, you could refer to this tool
This thread and subsequent discussion could help you understand this.