140 likes | 523 Views
Embedded Linux Development with Eclipse. JT Thomas, MontaVista Software. Agenda. Eclipse History and Overview Key Eclipse Projects for embedded Step-by-Step to build, deploy, and debug Working examples using DevRocket Future Eclipse Projects for embedded Questions & Answers.
E N D
Embedded Linux Development with Eclipse JT Thomas, MontaVista Software
Agenda • Eclipse History and Overview • Key Eclipse Projects for embedded • Step-by-Step to build, deploy, and debug • Working examples using DevRocket • 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
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. armv6_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 • MontaVista DevRocket 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 cross-compilation 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?