Embedded Linux Development with Eclipse JT Thomas Monta
Embedded Linux Development with Eclipse JT Thomas, Monta. Vista Software
Agenda • Eclipse History and Overview • Key Eclipse Projects for embedded • Step-by-Step to build, deploy, and debug • Working examples using Dev. Rocket • Future Eclipse Projects for embedded • Questions & Answers
Eclipse History and Overview • Donated by IBM to open source community in NOV 2001 • An open development platform … and a community • Multi-platform GUI “for anything and nothing in particular” • Java plug-in architecture • Governed by Eclipse Public License (EPL) • Initially implemented as a Java integrated development environment (JDT) • Eclipse foundation formed in JAN 2004 • Many language and software development focused plug -ins and environments • Major sub-projects coordinated releases every June
Eclipse has grown up!
Key Eclipse Projects for embedded • CDT – C/C++ Development Toolkit • • • C/C++ source code editor and indexer Syntax highlighting and object browsing Build management Binary parsing Native support for GCC/GDB • RSE – Remote Systems Explorer • • • Consistent interface across multiple targets Many connection mechanisms Filesystem management Process management Shell (and terminal) access
Installing and Updating Eclipse • eclipse. org/downloads • Updating and finding plug-ins
Step 1: Setting up a Target • • • Install RSE plugin Setup SSH server on target Open Remote Systems Explorer Perspective Create “SSH Only” RSE connection Open integrated shell on target Perform file management tasks on target
Step 2: Building an application • Open C/C++ Perspective • Create new Managed Make C++ project • Open build setting and preface compiler command line name with architecture name • i. e. armv 6_gcc • Build application
Step 3: Deploying an application • Open RSE perspective • Drag-and-drop binary from Local system to target • Open integrated remote shell • Run application from shell
Step 4: Debugging an application • • Setup launch configuration (Run | Run) Select target connection (exported by RSE) Login to target through shell Start gdbserver on target Specify gdb remote connection and port in. gdbinit Open Debug Perspective Debug application
Working Examples • Monta. Vista Dev. Rocket 5. 0 • Edit-Compile-Debug automation • Application Analysis • Memory Usage Analysis • Memory Leak Detection • Performance Profiling • System Analysis • Performance Profiling • Trace Visualization • Filesystem Creation
Future (interesting) Initiatives • DSDP – Device Software Development Project • Umbrella project focused on improving embedded development • RTSC – Realtime System Components • TI led project to support DSPs and 16 -bit microcontrollers • TCF - Target Communications Framework • One “protocol to rule them all” • Debugging, monitoring, analysis, and test tools • DD - Device Debugging • Extensible Debugger Services Framework for better integration
Summary • Eclipse is quickly becoming the de-facto standard for embedded Linux Integrated Development Environments • CDT is mature enough (now) to support crosscompilation and debugging – and to handle larger projects • RSE makes target management easy • Embedded focused features and integration is improving all the time • It’s time to give it a try!
Questions and Answers • Anyone? • Bueller?
- Slides: 14