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.
Integration
Integration process consists of these steps:
Open system Terminal and install PlatformIO Core (CLI)
Create new folder for your project and change directory (
cd
) to itGenerate a project using PlatformIO Core Project Generator (
pio project init --ide
)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:
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)Open source file from
src
directory (*.c, *.cpp, *.ino, etc.
)Build project using
Menu: Project > Build Project
or pre-configured Make Targets (see screenshot below):PlatformIO: Build
- Build project without auto-uploadingPlatformIO: Clean
- Clean compiled objects.PlatformIO: Test
- Unit TestingPlatformIO: Upload
- Build and upload (if no errors)PlatformIO: Upload using Programmer
see Upload using ProgrammerPlatformIO: Upload SPIFFS image
see Using FilesystemPlatformIO: Update platforms and libraries
- Update installed platforms and libraries via pio updatePlatformIO: 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
Rebuild PlatformIO Project Index:
PlatformIO: Rebuild C/C++ Project Index
targetRebuild Eclipse Project Index:
Menu: Project > C/C++ Index > Rebuild
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!
Debugging
A debugging feature is provided by Debugging and new debug configuration named “PlatformIO Debugger” is created. No need to do extra configuration steps!
Build a project first time or after “Clean” operation using
PlatformIO: Build
targetLaunch debugger via “Menu: Debug” or “Bug Icon” button on Tool Bar.
Wait for a while, PlatformIO will prepare project for debugging and session will be started soon.
Articles / Manuals
May 05, 2016 - Ivan Kravets, Ph.D. / Eclipse Virtual IoT Meetup - PlatformIO: a cross-platform IoT solution to build them all!
Sep 01, 2015 - Thomas P. Weldon, Ph.D. - Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation
Jul 11, 2015 - TrojanC - Learning Arduino GitHub Repository
June 20, 2014 - Ivan Kravets, Ph.D. - Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO