| <!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> |