Transcript Embedded Linux Development with Eclipse
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
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. 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?