Embedded Linux Development with Eclipse

Download Report

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?