Eclipse

The Eclipse CDT (C/C++ Development Tooling) Project provides a fully functional C and C++ Integrated Development Environment based on the Eclipse platform. Features include: support for project creation and managed build for various toolchains, standard make build, source navigation, various source knowledge tools, such as type hierarchy, call graph, include browser, macro definition browser, code editor with syntax highlighting, folding and hyperlink navigation, source code refactoring and code generation, visual debugging tools, including memory, registers, and disassembly viewers.

Refer to the CDT Documentation page for more detailed information.

../../_images/ide-platformio-eclipse.png

Integration

Integration process consists of these steps:

  1. Open system Terminal and install PlatformIO Core (CLI)

  2. Create new folder for your project and change directory (cd) to it

  3. Generate a project using PlatformIO Core Project Generator (pio project init --ide)

  4. Import project in IDE.


Choose board ID using pio boards or Embedded Boards Explorer command and generate project via pio project init --ide command:

pio project init --ide eclipse --board <ID>

# For example, generate project for Arduino UNO
pio project init --ide eclipse --board uno

Then:

  1. Import this project via Menu: File > Import... > General > Existing Projects into Workspace > Next and specify root directory where is located “platformio.ini” (Project Configuration File)

  2. Open source file from src directory (*.c, *.cpp, *.ino, etc.)

  3. Build project using Menu: Project > Build Project or pre-configured Make Targets (see screenshot below):

    • PlatformIO: Build - Build project without auto-uploading

    • PlatformIO: Clean - Clean compiled objects.

    • PlatformIO: Test - Unit Testing

    • PlatformIO: Upload - Build and upload (if no errors)

    • PlatformIO: Upload using Programmer see Upload using Programmer

    • PlatformIO: Upload SPIFFS image see Using Filesystem

    • PlatformIO: Update platforms and libraries - Update installed platforms and libraries via pio update

    • PlatformIO: Rebuild C/C++ Project Index - Rebuild C/C++ Index for the Project. Allows one to fix code completion and code linting issues.

If you have some problems with unresolved includes, defines, etc., then

  1. Rebuild PlatformIO Project Index: PlatformIO: Rebuild C/C++ Project Index target

  2. Rebuild Eclipse Project Index: Menu: Project > C/C++ Index > Rebuild

  3. Refresh Project, right click on the project Project > Refresh (F5) or restart Eclipse IDE.

Warning

The libraries which are added, installed or used in the project after generating process won’t be reflected in IDE. To fix it please run PlatformIO: Rebuild C/C++ Project Index target and right click on the project and Project > Refresh (F5).

Warning

The C/C++ GCC Cross Compiler Support package must be installed in Eclipse, otherwise the CDT Cross GCC Built-in Compiler Settings provider will not be available (check the Providers tab in Project > Properties > C/C++ General > Preprocessor Include Paths, Macros etc. for a marked entry named CDT Cross GCC Built-in Compiler Settings).

If this provider is not available, toolchain related includes cannot be resolved.

Live Integration

Eclipse Virtual IoT Meetup: PlatformIO: a cross-platform IoT solution to build them all!

../../_images/ide-eclipse-virtualiot.jpg

Debugging

A debugging feature is provided by Debugging and new debug configuration named “PlatformIO Debugger” is created. No need to do extra configuration steps!

  1. Build a project first time or after “Clean” operation using PlatformIO: Build target

  2. Launch debugger via “Menu: Debug” or “Bug Icon” button on Tool Bar.

  3. Wait for a while, PlatformIO will prepare project for debugging and session will be started soon.

Articles / Manuals