Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Embedded system engineering magazine 2006.01,02

.pdf
Скачиваний:
30
Добавлен:
23.08.2013
Размер:
10.06 Mб
Скачать

<Buyer's guide>

ESE Magazine Jan/Feb 06

BG08

Reinventing the Wheel

<Written by> Steve Harris, Wind River Systems </W>

Device System Optimization (DSO) combines the best of the open source and proprietary worlds to allow developers to to use their skills more efficiently.

TODAY’S DEVICE marketplace has increasingly competitive as devices rapidly becoming more complex and in cases, provide unique combinations

of advanced, connected applications and services. For example, compare the functionality of a mobile phone five years ago to features even the least expensive mobile phones offer today such as digital cameras, internet access and video recorders. In this competitive environment, the ultimate goal for a device manufacturer is to deliver highly differentiated products faster and cheaper, yet the majority of these organisations are still developing device software with a traditional method that is both costly and inefficient.

Device manufacturers in this market place build many types of devices based on widely different form factors, vertical markets and functions. The development teams within these companies traditionally have created multiple one-off, in-house solutions that constantly have to be re-integrated and don’t scale across an entire product range. Because these companies are not capitalising on the fundamental sameness of development technologies and processes, their productivity and success rate is limited. With this traditional development approach, it has been shown through independent research that 66% of device projects are completed behind schedule, 33% are functionally unacceptable and 24% are cancelled before completion. While market requirements are advancing, the traditional development processes just aren’t effective and the business and competitive needs of today’s device manufacturers are not being supported.

New methodology

A new methodology that enables device manufacturers to develop and run device software faster, better, at lower cost and more reliably is emerging. This methodology is called Device Software Optimization (DSO). DSO is an open, standardised end-to-end approach to device software development and provides device manufacturers with a common platform and development suite that can be leveraged across a company’s entire product line. Standardising code, development tools and processes across projects and throughout the enterprise means that duplicated efforts are cut and time spent on resolving sudden incompatibilities and short-

comings is drastically reduced. Also, because DSO is based on the tenets of open standards and operating system agnosticism, this approach enables device companies to choose the best technologies available today and the infrastructure to make them function efficiently together, no matter what their source.

As a result, the move to open-source is a viable option for vendors interested in the DSO approach. The tremendous developer support for Linux in devices has created a real demand for commercially available Linux device software solutions. Previously, developers built their own home-grown Linux versions based on technology available from kernel.org. These home-grown solutions have proven costly and challenging for device companies because the software is often forked, becomes incompatible with other components over time and result in long-term management disasters. Trying to resolve these disasters without any vendor support continues to cost the device software world millions that will never be quantified.

Commercial grade

With a commercially available Linux device software solution, Device manufacturers have some relief from these challenges. For example DSO vendor Wind River offers a commercial-grade Linux solution. This solution ensures customers are successful with their Linux projects by combining a fully tested, validated Linux distribution, an Eclipse-based development suite and customer enablement functions such as professional services, global support and training.

DSO is allowing developers the freedom to focus on building product specific plug-ins and more functional applications onto a robust and proven architecture. This means that time and effort previously spent on building device software infrastructure is now directed toward adding value to the device with differentiating applications that are compelling in the marketplace. In the past, device differentiation was a priority that never made it to the top of the list when each device and feature had to be created from scratch.

Innovation and functionality are now flourishing in the US market, where DSO is already well on the way to revolutionising how OEMs and device manufacturers approach their development cycle. This innovation is also spurred on

by the incubation of ideas fostered with commercial backing from vendors such as Wind River and a multitude of not-for-profit, opensource groups like the Eclipse Foundation, the Open Source Development Lab (OSDL) and the uClinux community. "These three organizations support the things the DSO community needs to do to build their embedded devices effectively and efficiently," says Jeff Dionne, co-creator of uClinux, a pioneering embedded Linux tool community.

Functionality

Interoperability is also being pushed forward by the DSO approach to rethink components and stacks in device software. With modern devices frequently using multiple operating systems and requiring application and switching support for products from various vendors, freeing resources to work on these functionalities rather than starting at the foundation for every project is allowing more sophisticated devices to reach market faster and on-budget. It’s also allowing developers to apply their talents where they’re most urgently needed. Incorporating Linux capabilities with experienced support from an established vendor is also reducing bugs and incompatibilities from plaguing systems where Linux had previously been a risky proposition.

DSO provides device manufacturers with technology choice and flexibility when building devices. They are not locked into proprietary platforms but rather can leverage the best technology and tools suited to any type of device incorporated into their product line. This newfound freedom means finding a proven solution that can be recycled and modified for new uses without starting from scratch. DSO opens the door to higher quality code that can be reused for any device type because it was created with company-wide priorities in mind. It means that, just as technology in the Model T appears in the latest super-cars, the initial investment in finding effective solutions can be improved upon for years to come. This approach is one that needed a name of its own to encapsulate its proposed reforms. Finding solutions the old way is still prevalent in the UK but we can no longer afford to spend our time re-inventing the wheels in our products. <End/>

www.windriver.com

datacom telecom wireless devices automotive medical avionics

Introducing Element,a high-availability middleware breakthrough from Enea, the world leader in advanced device software. Element is an off-the-shelf platform for distributed embedded systems that could save software developers 50 man years or more of traditional in-house development time. It’s the first HA middleware solution designed from the ground up for distributed embedded systems. For more information about Element, call 866-844-7867 or go to enea.com/element to download a copy of our free white paper Stop Writing Your Own Middleware.

Embedded for Leaders

<Buyer's Guide>

ESE Magazine Jan/Feb 06

Eclipse Buyer's Guide:

A: Software design

 

Compilers

Debuggers

Simulators

IDEs (Integrated Develop-

Other software

 

ment Environments)

design tools

 

 

 

 

 

 

 

 

 

 

Accelerated Technology

C/C++

Yes

Yes

Yes

Application Profiler

AGP Micro

 

 

 

 

 

 

 

 

 

State Machine EDA Tool

Aonix

 

 

 

 

 

Java, Ada

Yes

 

Yes

 

 

 

 

 

 

 

DDC-I, Inc.

Ada, C, Embedded C++

Ada, C, Embedded C++

 

Ada, C, Embedded C++

 

(avail. Q2 2006)

 

 

 

 

 

 

 

Enea Embedded Technology Ltd

 

 

 

 

 

C/C++

Yes

Yes

Yes

OSE Illuminator

Genuitec LLC

 

Yes

 

Yes

 

Green Hills Software Ltd

 

 

 

 

 

C, C++, EC++ Misra C

Yes

Yes

Yes

 

Lattix Inc

 

 

 

 

 

 

 

 

 

Lattix LDM for Eclipse

Lauterbach Ltd

 

 

 

 

 

 

Yes

 

 

 

 

 

 

 

 

 

 

 

 

 

 

QNX System Information,

 

 

 

 

 

QNX System Profiler, QNX

QNX Software Systems

C, C++, Java

Yes

 

Yes

Memory Analysis, QNX

 

Code Coverage, QNX

 

 

 

 

 

 

 

 

 

 

Application Profiler, QNX

 

 

 

 

 

System Builder

SDC Systems

 

 

 

 

 

C/C++

Yes

Yes

Yes

Yes

SlickEdit

 

 

 

 

Code Editor

 

 

 

 

 

 

Symbian Software Ltd.

 

 

 

Yes

Symbian OS development

 

 

 

and debugging tools

 

 

 

 

 

Telelogic UK Ltd

 

 

 

 

 

 

 

 

 

UML2 & SysML Modeling

 

 

 

 

 

 

TimeSys Corporation

C, C++, Assembler

gdb, integrated into

 

TimeSys Developer Suite

 

IDE

 

 

 

 

 

 

 

Wind River Systems Ltd.

 

 

 

 

 

C/C++/Java

Yes

Yes

Yes

 

 

 

 

 

 

 

B: Application software

 

OS

Test and verification

Other application software

 

 

 

 

Accelerated Technology

Nucleus RTOS

 

 

AccuRev, Inc.

 

 

 

 

 

Software Configuration Management

Aonix

RAVEN

Yes

 

DDC-I, Inc.

 

 

 

 

 

 

Enea Embedded Technology Ltd

 

 

 

OSE

Yes

 

Green Hills Software Ltd

 

 

 

INTEGRITY and velOSity

 

 

Lattix Inc

 

 

 

 

 

Lattix LDM for Eclipse

QNX Software Systems

 

 

 

QNX Neutrino

 

Photon (Embedded MicroGUI), Web Client & Server

SDC Systems

 

 

 

Realtime Linux

Yes

Yes

Symbian Software Ltd.

 

 

 

Symbian OS

 

 

 

 

 

 

Telelogic UK Ltd

 

Yes

TAU G2 for Modeling, SYNERGY for Configuraton manage-

 

ment & Change management.

 

 

 

TimeSys Corporation

 

 

 

Linux

Yes

 

Wind River Systems Ltd.

 

 

 

VxWorks & Linux

Yes

Unit Testers Diagnostics

 

 

 

 

www.windriver.com Supplement sponsored by

BG10

Eclipse news

Recent news from the Eclipse world.

Eclipsecon 2006

Eclipsecon is the premier technical and user conference for Eclipse, and the third gathering is March 20th to 23rd at the Santa Clara Convention Center. There are keynotes, conference sessions and tutorials covering all aspects of the Eclipse platform.

www.eclipsecon.org

Workbench

Genuitec, has released the MyEclipse Enterprise Workbench 4.1. a J2EEand Web-

development tool suite. It is designed for use on Linux, Mac OS X and Windows workstations.

www.genuitec.com

Eclipse 3.0 Platform

The QNX Momentics development suite has been upgraded, based on new versions of the Eclipse framework and the Eclipse C/C++ Development Tools (CDT)

It also features better interrupt-handling capabilities for the QNX system profiler, and

deeper traceback and leak detection in the memory analysis tools for advanced debugging. Included are customized Eclipse plugins, such as a code “dietician” that reduces memory footprint by removing unnecessary functionality from shared libraries, and an application profiler that pinpoints problem algorithms and identifies functions needing optimization.

www.qnx.com

Software architecture management

Lattix has released Lattix LDM for Eclipse, providing Lightweight Dependency Models (LDM) to formalise, communicate and control the architecture of Eclipse projects.

www.lattix.com/news/news.htm

www.windriver.com

Supplement sponsored by

 

 

<Buyer's Guide>

</Buyer's Guide>

ESE Magazine Jan/Feb 06

Eclipse Buyer's Guide:

C: Software for hardware design

 

Modelling

Co-design

Other (Name type of tool please)

 

 

 

 

Accelerated Technology

UML Modeling tool

 

 

Green Hills Software Ltd

 

 

 

 

 

 

Lattix Inc

 

 

 

Yes

 

 

QNX Software Systems

 

 

 

N/A

N/A

N/A

SDC Systems

 

 

 

Yes

 

 

Telelogic UK Ltd

 

 

 

TAU G2 for systems design and development

 

 

Wind River Systems Ltd.

 

 

 

 

 

 

 

 

 

 

UK Distributors

Company name

Sales contact

E-mail

Web address

Principal(s)

 

 

 

 

 

Accelerated Technology UK

Sales Department

Uk_info@acceleratedtechnology.com

www.acceleratedtechnology.co.uk

Accelerated Technology UK

 

 

 

 

 

AccuRev UK

Barbara Moore

sales@accurev.co.uk

www.accurev.co.uk

AccuRev UK

 

 

 

 

 

First Matrix Limited

Alan Barker

sales@ftmx.com

www.ftmx.com

DDC-I, Inc.

 

 

 

 

 

Software Limited

Catherine Coombes

catherine@qbssoftware.com

 

Genuitec LLC

 

 

 

 

 

Suppliers

Company name

Sales contact name

Sales contact e-mail

Web site address

 

 

 

 

Accelerated Technology

Jamie Little

info@acceleratedtechnology.com

www.acceleratedtechnology.com

 

 

 

 

AccuRev, Inc.

John Wall

jwall@accurev.com

www.accurev.com

 

 

 

 

AGP Micro

Alan Parkinson

alan@agpmicro.co.uk

www.agpmicro.co.uk

 

 

 

 

Aonix

David Humphris

info@aonix.co.uk

www.aonix.co.uk

 

 

 

 

DDC-I, Inc.

Sales

sales@ddci.com

www.ddci.com

 

 

 

 

Enea Embedded Technology Ltd

Joel White

sales@enea.co.uk

www.enea.com

 

 

 

 

Genuitec LLC

Subscription Department

subscriptions@myeclipseide.com

www.myeclipseide.com

 

 

 

 

Green Hills Software Ltd

Nigel Rozier

sales-uk@ghs.com

www.ghs.com

 

 

 

 

Lattix Inc

Frank Waldman

frank.waldman@lattix.com

www.lattix.com

 

 

 

 

Lauterbach Ltd

Barry Lock

barry.lock@lauterbach.co.uk

www.lauterbach.com

 

 

 

 

QNX Software Systems

Gary Smith, Managing Director

gmsmith@qnx.co.uk

www.qnx.com

 

 

 

 

SDC Systems

Stuart Parker

sales@sdcsystems.com

www.sdcsystems.com

 

 

 

 

SlickEdit

SlickEdit

sales@slickedit.com

www.slickedit.com

 

 

 

 

Symbian Software Ltd.

n/a

n/a

www.symbian.com

 

 

 

 

Telelogic UK Ltd

Sophie Williams

Sophie.williams@telelogic.com

www.telelogi.com

 

 

 

 

TimeSys Corporation

(412) 232-3250

sales@timesys.com

www.timesys.com

 

 

 

 

Wind River Systems Ltd.

Paul Little

paul.little@windriver.com

www.windriver.com

 

 

 

 

www.windriver.com Supplement sponsored by

BG12

Come learn how Microsoft embedded operating systems and tools together with Intel’s architectures enable you to bring the next generation of smart, embedded and connected devices to market faster and with more compelling features!

Where will it take place?

London Reading, UK – April 11th – 12th, 2006 – hand on labs included

Brief outline of the agenda:

Dedicated technical sessions on Windows CE/XP Embedded/Embedded Server, Intel XScale® Technology/Embedded Intel® Architecture/Application Platform Technologies

No participants’ fees will apply!

To participate, please contact:

Tina Thalmeier

Stefan Zeilner

Microsoft® System Marketing GmbH

Intel EMEA Marketing Organisation

Office: +49-89-3176-3249

Office:

+49-89-99 143-562

Email: tinath@microsoft.com

Email:

stefan.zeilner@intel.com

Perfect Combination…

Standard Platform and to Individual Customer’s Specification

Broadest Range of AdvancedTCA Packaging ProductsGlobal Availability and Project Support

Unique Internet Platform with downloadable Manuals: www.a-tca.com

Complete packaging solutions from the experts

<Feature>

ESE Magazine Jan/Feb 06

34

Measuring real-time performance

<Written by> John Carbone, Express Logic </W>

Real-time performance is one of the most important criteria for selecting an RTOS. But, what is “real-time performance” and how is it measured?

EAL-TIME PERFORMANCE can be

before the valve closes in preparation for the

defined as the speed with which an

compression stroke. It is critical that the

TOS (or any software for that matter)

response to the first event is completed in time

Rcan complete its functions in

to meet the needs of the second event. This

RTOS Functions Measured

Context Switch (CS): Time required to save current thread’s context, find highest priority ready thread, and restore its context.

Interrupt Latency Range (ILR): Amount of time interrupts are disabled.

RTOS System Services

tx_thread_suspend – Suspend an application theread.

tx_thread_resume – Resume a previously suspended thread.

tx_thread_relinquish – Relinquish control to other application threads.

tx_queue_send – Send a message to a message queue.

tx_queue_receive – Get a message from a message queue.

tx_semaphore_get – Get an instance from a counting semaphore.

tx_semaphore_put – Place an instance in a counting semaphore.

x_mutex_get – Obtain ownership of a mutex.

tx_mutex_put – Release ownership of a mutex.

tx_event_flags_set – Set or clear event flags.

tx_event_flags_get – Retrieve event flags.

tx_block_allocate – Allocate a memory block.

tx_block_release – Release a memory block.

tx_byte_allocate – Allocates bytes of memory.

tx_byte_release – Release a previously allocated memory area.

For each system service, the following are measured:

Immediate Response (IR): Time required to process the request immediately, i.e., no thread suspension or thread resumption.

Thread Suspend (TS): Time required to process the request when the calling thread is suspended due to unavailability of the resource.

Thread Resumed (TR): Time required to process the request when a previously suspended thread (of the same or lower priority) is resumed as a result of the request.

Thread Resumed and Context Switched (TRCS): Time required to process the request when a previously suspended higher-priority thread is resumed as a result of the request. Since the resumed thread is higher-priority, a context switch to the resumed thread is also performed from within the request.

system as interrupts. The processor, upon recognizing an interrupt, performs certain actions and executes instructions that were designed to react to this event. In most cases, the processor is already performing some instructions immediately prior to recognizing the interrupt. This processing must be “interrupted,” and then later resumed when the critical real-time response of the interrupt has been completed. Most RTOSes are designed to provide a means for the developer to handle interrupt processing and also to schedule and manage execution of application software threads. Interrupt processing generally includes the following:

suspending whatever thread currently is executing,

saving thread-related data that will be needed when the thread is resumed,

transferring control to an interrupt service routine (ISR),

performing some amount of processing in the ISR to determine exactly what action is needed,

retrieving/saving any critical (incoming) data associated with the interrupt,

setting any required device-specific (output) values,

determining which thread should now execute given the change in environment created by the interrupt and its processing,

clearing the interrupt hardware to allow the next interrupt to be recognized,

transferring control to the selected thread,

including retrieval of any of its environment data that was saved when it was last interrupted.

Whew! All of that (and perhaps more, depending on the RTOS) is included in “interrupt processing,” which is only one aspect of real-time performance. It’s no wonder that implementation of these operations in a particular RTOS can make a significant difference in real-time performance.

System services

Real-time operating systems must do more than simply respond to interrupts. They also must schedule and manage the execution of application software threads and handle

requests from threads to perform scheduling, message passing, resource allocation, and many other services. In most instances, services must be performed quickly, so the thread can complete its assigned processing before the occurrence of the next interrupt. While not a part of interrupt processing, the system service is a critical real-time response that can make or break a system, and includes:

scheduling a task or thread to run upon the occurrence of some future event,

passing a message from one thread to another,

claiming a resource from a common pool, Even more variable than interrupt processing, the implementation of system services is equally critical in achieving good real-time performance in an RTOS. Together with interrupt processing, system services combine to form the most significant processing that an RTOS is asked to perform. Different implementations will approach these functions differently, with different architectures to produce a wide range of performance.

Why is performance so critical?

The time required for completion of these functions is particularly critical in real-time systems, which must be deterministic, and also must respond rapidly or suffer loss of data or even fundamental malfunction of the system. An example might be a flight-control system that must respond to a pilot input in time to avoid a stall, or a disk-drive controller that must stop the drive’s read head at precisely the point at which data is to be read or written. Rapid-fire interrupts from high-speed data packet arrival into a DSL router also must be handled promptly to avoid triggering a retry because one was missed.

Processor speed is critical in executing all of the RTOS instructions required to perform the desired function, but brute force alone cannot satisfy system demands, nor can it provide the most economical or efficient solution. A 2GHz processor might breeze through code in satisfactory time, but it could be too costly, draw too much power, or present physical packaging challenges. A more economical processor, running an efficient RTOS, might do just as well in performance, or even better, yet cost far less and not pose power/heat/packaging problems.

Focusing on the most significant elements allows real-time performance to be measured in a rigorous fashion. Comparing how well multiple RTOSes on a common hardware platform perform specific critical functions (see table 1) lets developers quantify real-time performance and make the best decision for their application. <End/>

www.expresslogic.com

 

 

Reference platform: ARM9 processor, 40MHz. RTOS: ThreadX

Table 1: Example timings

Times generally scale linearly with clock rate for most 32-bit processors

System Service

IR

TS

 

TR

TRCS

tx_thread_suspend

2.8µS

4.2µS

 

 

 

tx_thread_resume

 

 

 

2.6µS

5.3µS

tx_thread_relinquish

1.2µS

 

 

 

3.4µS

tx_queue_send

2.1µS

5.1µS

 

4.3µS

6.8µS

tx_queue_receive

1.7µS

4.9µS

 

4.8µS

7.6µS

tx_semaphore_get

0.8µS

4.8µS

 

 

 

tx_semaphore_put

0.9µS

 

 

3.2µS

5.8µS

tx_mutex_get

1.1µS

5.3µS

 

 

 

tx_mutex_put

2.4µS

 

 

4.4µS

7.0µS

tx_event_flags_set

1.4µS

 

 

4.1µS

6.7µS

tx_event_flags_get

1.2µS

5.2µS

 

 

 

tx_block_allocate

1.0µS

4.9µS

 

 

 

tx_block_release

1.0µS

 

 

3.4µS

6.0µS

tx_byte_allocate

3.3µS

6.2µS

 

 

 

tx_byte_release

1.9µS

 

 

6.9µS

9.5µS

Context Switch

 

 

1.9µS

 

Interrupt Latency

 

 

0µS – 1.8µS

 

TERMMINVESTMENTM

BECAUSEAOF THEIR

AND MODULAR

ARCHITECTURE

'REAT "RITAIN ,AUTERBACH ,TD

0HONE WWW LAUTERBACH CO UK

'ERMANY ,AUTERBACH 'MB( WWW LAUTERBACH DE

)TALY ,AUTERBACH 3RL

WWW LAUTERBACH IT

53! ,AUTERBACH )NC

WWW LAUTERBACH COM

#HINA

3UZHOU ,AUTERBACH #ONSULTING #O ,TD WWW LAUTERBACH CN

*APAN

,AUTERBACH *APAN ,TD WWW LAUTERBACH CO JP

,%!$).' THROUGH 4ECHNOLOGY

0OWER4RACE ))

s'"YTE OF TRACE MEMORY TO RECORD PROGRAM AND DATA FLOW

s-ORE THAN PROCESSOR ARCHITECTURES SUPPORTED BY THE TRACE PORT

s 4RACE PORT SPEED UP TO -(Z

s3OPHISTICATED ANALYSIS METHODS TO PERFORM COMPREHENSIVE PERFORMANCE ANALYSIS AND QUALITY ASSURANCE TESTS

0OWER$EBUG ))

s! 'IGABIT ETHERNET INTERFACE GUARANTEES IMMEDIATE DISPLAY AND RAPID ANALYSIS

</Feature>

35

Соседние файлы в предмете Электротехника