| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" |
| "http://www.w3.org/TR/html4/loose.dtd"> |
| <html> |
| <head> |
| <title>Device Software Development Platform Charter</title> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| <link href="/proposals/eclipse-dsdp/dsdp/eclipse.css" rel="stylesheet" type="text/css"> |
| </head> |
| |
| <body> |
| <TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0> |
| <COL WIDTH=252*> |
| <COL WIDTH=4*> |
| <TR> |
| <TD COLSPAN=2 WIDTH=100% VALIGN=TOP BGCOLOR="#0080c0"> |
| <P ALIGN=LEFT><FONT COLOR="#ffffff"><FONT FACE="Arial, Helvetica"><B>The Eclipse Device Software Development Platform Top-Level Project Charter</B></FONT></FONT></P> |
| </TD> |
| </TR> |
| </TABLE> |
| <br><strong>Overview </strong><br> |
| The Eclipse Device Software Development Platform Project is an open source collaborative software development project dedicated to providing an extensible, standards-based platform to address a broad range of needs in the device software development space using the Eclipse platform. <br> |
| <br> |
| This document describes the composition and organization of the project, roles and responsibilities of the participants, and development process for the project. |
| <p><strong>Mission </strong><br> |
| The mission of the Device Software Development Platform is to create an open, |
| extensible, scalable, and standards-based development platform to address the |
| needs of the device software market by enabling developers and vendors to create |
| differentiated, specialized, and interoperable solutions to help customers and |
| users of Eclipse-based products develop device software faster, better, and at |
| lower cost. </p> |
| <p><strong>Scope </strong><br> |
| Device software is software that runs on an embedded operating system inside a |
| larger physical product. Device software applications are typically |
| cross-compiled and deployed on a custom hardware target that is based on a |
| different configuration than the development host. These custom targets are |
| often constrained by processor type, processor speed, available memory, and hard |
| real-time responsiveness. The embedded operating system is usually optimized for |
| these constraints and is also designed to deal with on-chip peripherals such as |
| communication modules, high-resolution timers, memory controllers, etc. </p> |
| <p>Device software development typically involves three distinct phases. </p> |
| <ul> |
| <li><b>Hardware Bring-up</b> - In this phase developers test prototype |
| hardware by verifying basic functionality of the target processor(s), |
| memory, and peripherals. They run hardware-oriented diagnostics and confirm |
| the ability to run simple software applications. They provide Platform |
| developers with a stable target. </li> |
| <li><b>Platform Software Development</b> - In this phase developers create the |
| software foundation that sits closest to the hardware, including device |
| drivers and board support packages. They configure the target operating |
| system and services providing connectivity, management, and security. They |
| provide Application developers with a stable platform. </li> |
| <li><b>Application Software Development</b> - In this phase developers create |
| the applications for the combination of hardware and software that comprise |
| the end product. These developers build, download, and debug applications |
| running on a target system.</li> |
| </ul> |
| <p>The Device Software Development Platform (DSDP) will provide extensible |
| frameworks and exemplary tools to support activities in each of these |
| development phases. </p> |
| <p>The sweet-spot for device software applications are medical devices |
| (blood-test machines, EKG's), network equipment (routers, switches), consumer |
| electronics (digital cameras, mobile phones), automotive applications (car |
| infotainment, engine controllers), military applications (cruise missiles, |
| combat systems) and industrial devices (manufacturing robots, process |
| instrumentation). </p> |
| <p>The needs and requirements for the Application Software Development phase |
| above are an extension of the requirements for Enterprise software development. |
| We envision that the Device Software Development Platform will provide a home |
| for embedded extensions across a wide range of existing and future Eclipse |
| projects. Projects like CDT, JDT, and TPTP provide general-purpose functionality |
| that appeals to a large audience, whereas DSDP will create complementary |
| extensions, e.g. Target Management, to increase the usefulness of these projects |
| for embedded development. </p> |
| <p>The DSDP project will cooperate and assist other Eclipse projects that wish |
| to become more applicable for embedded development. For example, the DSDP |
| project relies on the build system provided by CDT and will help drive |
| requirements and will contribute code to support multiple tool chains for |
| different processor variants. </p> |
| <p><b>Projects<br> |
| </b>The Device Software Development Platform initially has two projects: Target |
| Management and Device Debugging. </p> |
| <p><i>Target Management <br> |
| </i>In device software development, the end product can contain multiple |
| targets. Each target can contain multiple processors, and each processor can |
| contain multiple cores. The application software running on a core can contain |
| multiple processes and threads. Each of the entities can often be independently |
| controlled. Targets can be located in a developer's office, in a board lab, or |
| even deployed in the field. A single target may have multiple control channels, |
| such as local serial or JTAG connections, or remote socket connections. </p> |
| <p>The goal of the Target Management project is to create data models and |
| frameworks to configure and manage these systems, their connections, and their |
| services. Target Management must support downloading software and data, |
| launching single or multiple configurations, starting and stopping cores, |
| debugging processes and threads, querying target information, etc. </p> |
| <p><i>Device Debugging <br> |
| </i>The goal of the Device Debugging project is to create new frameworks and |
| extensions to the existing platform debug framework to support the three device |
| software development phases described above. Today's platform debug API's and |
| views are geared towards developing a single application on a fast workstation |
| with a simple debug model (processor, thread, stack frame). Since the debug |
| scenarios in device software are more complex and varied, the Device Debugging |
| project will build enhanced debug models, API's, and views to provide greater |
| visibility into and control over device software targets. These enhancements |
| will be powerful enough to support debugging engines for conventional |
| processors, DSP's, and network and I/O processors. </p> |
| <p>The list of projects under the Device Software Development Platform PMC will |
| be maintained as part of the <a href="/proposals/eclipse-dsdp/index.html">Device Software Development Platform </a> project |
| home. </p> |
| <p><b>Other Terms <br> |
| </b>This Charter inherits all terms not otherwise defined herein from the "<a href="/org/processes/Eclipse_Standard_TopLevel_Charter_v1.0.html">Eclipse |
| Standard Charter v1.0</a>". This includes, but is not limited to, sections |
| on the Program Management Committee, Roles, Project Organization, The |
| Development Process, and Licensing.</p> |
| </body> |
| </html> |