Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start?...
Transcript of Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start?...
![Page 1: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/1.jpg)
Being Productive with Open SourceEclipse IDE and C/C++ Compiler
Jonah Graham
Kichwa CodersOSDForum Sep 18 2019
![Page 2: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/2.jpg)
Eclipse CDT: The Open Source IDE for C/C++
What is CDT?
Creating and Configuring Projects
Navigate and Edit
Debug and Run
Conclusion
![Page 3: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/3.jpg)
Eclipse CDT: The Open Source IDE for C/C++
What is CDT?
Creating and Configuring Projects
Navigate and Edit
Debug and Run
Conclusion
![Page 4: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/4.jpg)
VX Software Artik IDE e2 studio MomenticsCode
ComposerSourcery
CodeBenchSimplicity
Studio
DAVE Xtensa Xplorer DS-5CrossCore
(CCES)eGui
AscetDeveloper
Cevelop
XSDK Luminosity SoftConsoleSnapdragon Debugger
Wind River Workbench
System Workbench
COSIDE®
Nios II IDE MCUXpresso Code Warrior TrueStudioSloeber
(for Arduino)Kalray iDev
jantje
Eclipse CDT (www.eclipse.org/cdt/) based IDEs, tool suites and plug-ins
• Advanced C/C++ Integrated Development Environment
What is Eclipse CDT
![Page 5: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/5.jpg)
Who am I?
• Jonah Graham @ Kichwa Coders
• Consultant specializing on helping companies leverage Open Source Software
– Embedded Tools in the Cloud
– Custom C/C++ Workbenches (CDT)
– Multicore Debug
• Eclipse CDT project lead
![Page 6: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/6.jpg)
Eclipse CDT: The Open Source IDE for C/C++
What is CDT?
Creating and Configuring Projects
Navigate and Edit
Debug and Run
Conclusion
![Page 7: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/7.jpg)
Eclipse CDT is Project Based
• Where to start?
– Import Existing Eclipse Project
• For example, from the VEGA SDK
–Create New Project
• Use templates, e.g. Hello World
• Vendor specific templates
–Convert existing code to Eclipse Project
• Add Eclipse CDT project information
![Page 8: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/8.jpg)
Configure Project
![Page 9: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/9.jpg)
Before & After
![Page 10: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/10.jpg)
Eclipse CDT: The Open Source IDE for C/C++
What is CDT?
Creating and Configuring Projects
Navigate and Edit
Debug and Run
Conclusion
![Page 11: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/11.jpg)
CDT has a feature rich editor
• Much more than just Syntax Highlighting
• Indexer behind the magic– CDT’s indices hold a complete model of the code.
• Jump to definition
• Autocompletion
• Call Hierarchy
• Outline
• Refactoring
![Page 12: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/12.jpg)
Macro Expansion
• Example (add to board.c)LED1_INIT(LOGIC_LED_OFF);
• Right-Click and choose Macro Expansion
• Use Alt-Left and Alt-Right to cycle
• Use F3 to jump to definition
![Page 13: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/13.jpg)
Build Project
• Build project automatically, or manually
• Errors reported in the Build Console
• Highlighted lines can be clicked
![Page 14: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/14.jpg)
Successfully Built Project
• Successfully built project collects executables (ELFs) into "Binaries" folder
![Page 15: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/15.jpg)
Eclipse CDT: The Open Source IDE for C/C++
What is CDT?
Creating and Configuring Projects
Navigate and Edit
Debug and Run
Conclusion
![Page 16: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/16.jpg)
CDT Makes Debugging Effective
• Target any board or simulator
• High level interface to GDB
• OpenOCD, SEGGER, etc too.
![Page 17: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/17.jpg)
CDT views show rich debug information
• Variables, Breakpoints, Expressions & Hovers
• Disassembly
– Instruction Stepping
– Gradients to easily visualize stepping
• Memory Browsing with Annotations
![Page 18: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/18.jpg)
Command Line Tool Integration
• Integrated Terminals and Consoles
• Debugger Console View
– Full GDB command line experience with all the niceties of an IDE
• Terminal View
– Serial Connection target
– Telnet/SSH (e.g. to openocd)
– Local terminal (e.g. bash)
![Page 19: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/19.jpg)
Eclipse CDT: The Open Source IDE for C/C++
What is CDT?
Creating and Configuring Projects
Navigate and Edit
Debug and Run
Conclusion
![Page 20: Being Productive with Open Source - OSDForumEclipse CDT is Project Based •Where to start? –Import Existing Eclipse Project •For example, from the VEGA SDK –Create New Project](https://reader034.fdocuments.us/reader034/viewer/2022050522/5fa62382d81e0306e0516d93/html5/thumbnails/20.jpg)
Thank you!
• Get in touch:
– https://github.com/jonahgraham
– https://twitter.com/jonahgrahamkc
• Get involved:
– https://www.eclipse.org/cdt/
– https://wiki.eclipse.org/CDT/contributing