qnx innovation how to transform your design - qnx · pdf fileqnx innovation how to transform...

62
QNX Innovation How to Transform Your Design Edward Lee Field Applications Engineer QNX Software Systems May 5, 2008

Upload: vuongnga

Post on 10-Mar-2018

257 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

QNX InnovationHow to Transform Your Design

Edward LeeField Applications EngineerQNX Software Systems

May 5, 2008

Page 2: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

2 QNX Confidential. All content copyright QNX Software Systems.

Agenda

QNX has several breakthrough technologies that will helpyou:

Gain system performance and system scalability on the latesthardware platformsMake your system more secure and reduce your integration timeEnhance your software design environment and shorten yourdevelopment cycleReduce development effort and extend design lifecycles of complexmultimedia designsSpeed the development of graphics-intensive applications withstandards-based frameworksReduce costs and increase user satisfaction of hands-free systems

Page 3: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

1. Multi-CoreGain system performance and system scalability

Page 4: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

4 QNX Confidential. All content copyright QNX Software Systems.

Multi-core means “end of free lunch”for performance upgrades

Parallel processing is hardNew tools, new languages required

Perception

Multi-core has legacy software supportissues

Incompatible with “old” architectureHidden “functional” problems

Multiprocessing is new and unsupportedin the market

QNX has offered SMP since 1997Popular in high-performance computingProgramming approach well establishedMulti-core simply providesmultiprocessing on a single dieMany QNX multi-core customers innetworking, medical, & industrial

QNX offers a combination of multi-coremodels

Simplifies software migrationProvides a “RISK-FREE” migration path

RealityQNX makes multi-core straightforward

Many tools and multiprocessing optionsto accelerate migration of existing code

Fact or Fiction?

Page 5: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

5 QNX Confidential. All content copyright QNX Software Systems.

è One OS for all cores> Scaling: scalable performance by adding

cores> Maximize performance using Dynamic Load

Balancing

è Multiple processors sharing commonhardware

> Common memory bus and address space> Access to all peripheral devices and

interrupts> OS manages tasks running on processors –

true concurrency

è Transparent to application programs

è No application softwarechanges needed

è Automatic thread (~) scheduling across allCPUs

è However: May have legacy code issues

Thread E

Thread B

Thread C Thread DThread B

Thread BThread A

Route Manager

Thread D

File System Ethernet Driver

QNX Neutrino Realtime Scheduler (OS)

Priority

Thread C Thread E

Memory

FutureCPU

Cache

FutureCPU

Cache

CPU

Cache

CPU

Cache

High-Bandwidth CPU Bus

Thread A

Symmetric Multi-Processing (SMP)

Page 6: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

6 QNX Confidential. All content copyright QNX Software Systems.

QNX innovation that extends SMP, providingthe ability to “bind” processes and threads toa single core

Support legacy code base and multi-corecapable applications

Supports bound and symmetric operation,selectable by process / thread

Dedicate processing where neededDesigner has full control over whereapplications runApplications and/or threads can be “bound”to a specific core

OS

A2A1 A5A3 A4

Core 1 Core 2

Cache

Interconnect

The QNX Neutrino® RTOS supportssymmetric and bound multiprocessing –

offering the flexibility to choose.

Bound Multi-Processing (BMP)

Page 7: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

7 QNX Confidential. All content copyright QNX Software Systems.

Message Bridge (Ethernet, fabric, interconnect…)

Transparent Distributed Processing

QNETProtocol

NetworkingStack

Microkernel

QNETProtocol

NetworkingStack

Microkernel

QNETProtocol

NetworkingStack

Microkernel

Through Q-NET, each QNX Microkernel will be aware of eachother. They will then be able to share files and resources

The QNX solution …

Page 8: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

8 QNX Confidential. All content copyright QNX Software Systems.

Extends message passing busover a transport layerApplications / services can bebuilt in a fully distributedmanner without special code

Message queuesFile systemsHardware ports

Seamless sharing of I/Oresources between cores (e.g.use a serial port “owned” byanother core)

QNX NeutrinoMicrokernel Node 2

fd = open(“/dev/ffs1”,…);write(fd, …);

Flash FileSystemDatabase

QNX NeutrinoMicrokernel

MessageQueues

NetworkingStack

Flash FileSystem

Application

Internet

fd = open(“/net/node2/dev/ffs1”,…);write(fd, …);

Node 1

Application

QNX Transparent Distributed Processing

Page 9: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

9 QNX Confidential. All content copyright QNX Software Systems.

Improve system performanceQNX offers full symmetric processing on multi-core and multiprocessorsystems, scaling to quad-core and beyondQNX also offers transparent distributed processing for high-performance,seamless communication between nodes

Applications communicate locally and across the network using the exact samecode; distribution is hidden from applicationsApplications on one CPU can use resources connected to other CPUs

Simplify migration, reduce costs through “bound multiprocessing”BMP: QNX innovation that extends SMP, allowing system designers to“bind” a process and all of its threads to a single coreSupports both legacy code bases and multi-core capable applicationsSupports both bound and symmetric operation, selectable by process /thread

Unsurpassed Multi-Core Expertise

Page 10: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

10 QNX Confidential. All content copyright QNX Software Systems.

View CPU usage for a single thread or process,or for a group of threads or processes.

Track overallCPU utilizationTrack overall

CPU utilization

Visualizing Multi-Core Behaviour

Page 11: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

11 QNX Confidential. All content copyright QNX Software Systems.

Performance, Scalability, Development

ConsiderationsRTOS capable of handlingall cores

Libraries & middlewarethread-safe, threaded forperformance

Tools for debugging andoptimization on multi-coreprocessors

Core1

Core2

Core3

Core4

RTOS

Libraries &Middleware

Applications

Tools

QNX Multi-Core Readiness – Taking Inventory …

Page 12: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

12 QNX Confidential. All content copyright QNX Software Systems.

QNX Momentics IDEü Advanced visualization tools

for multi-core processors

ü System-wide view provides deepinsight into multi-core behavior

ü Achieve maximum parallelism andoptimal utilization of every core

QNX Neutrino RTOSü Only RTOS to support choice

of SMP, and BMP

ü BMP greatly simplifies migrationof uniprocessor-based software

ü Only RTOS to support securepartitioning across multiple cores

Complete Multi-Processing Support

Page 13: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

2. Adaptive PartitioningIncrease security and reduce integration time

Page 14: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

14 QNX Confidential. All content copyright QNX Software Systems.

Keeping priorities straight

The problem?Many software components competing for limited CPU cycles

Difficult system integration process when pulling togethersoftware subsystems from:

widely dispersed teamsthird-party vendors

Difficult to debug complex systems when resource issuescome to light

Lack of control

Page 15: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

15 QNX Confidential. All content copyright QNX Software Systems.

Today …

Currently, all RTOS will schedule applications based on theirspecified “Priority” levelThis model works well when there are sufficient CPU cycles

every application will get what they need, based on priorityhighest priority task will gain access to the CPU

CPUresources

CPUresourcesSoftware System

74%consumed

74%consumed

Page 16: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

16 QNX Confidential. All content copyright QNX Software Systems.

CPUresources

CPUresources

higher priority tasks will consume all the available CPU resource (either inadvertantly ormaliciously)lower priority tasks are not guaranteed any CPU resources, and can become “starved”task starvation can cause performance degradation, or even system failureas “Software Systems” become more complex with many tasks competing for CPU resources, apriority based scheme becomes difficult to scale

When all CPU resources are consumed …

Priority = 10 (low)

Priority = 20

Priority = 40

Priority = 60

Priority = 80

Priority = 100 (high)

40%15%

35%

10%

Starved of CPU resources

SoftwareSystem

Page 17: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

17 QNX Confidential. All content copyright QNX Software Systems.

CPUresources

CPUresources

is the Priority = 80 thread supposed to consume 40% of the CPU?if not, then what is the amount it is supposed to consume?what happens when the Priority 20 and 10 threads are starved of CPU?

Issues at hand …

Priority = 10 (low)

Priority = 20

Priority = 40

Priority = 60

Priority = 80

Priority = 100 (high)

40%15%

35%

10%SoftwareSystem

Starved of CPU resources

Page 18: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

18 QNX Confidential. All content copyright QNX Software Systems.

Partitioning defined

Isolate subsystems into separate compartments

Give each compartment a guaranteed portion ofmemory and/or CPU time

Ensures that each subsystem is always available,even when the CPU is maxed out

Hands-free Audio

CPU

QNX Neutrino RTOS

HMIMP3Navigation

25%30% 20% 25%

Page 19: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

19 QNX Confidential. All content copyright QNX Software Systems.

Build secure systemsProtect from malicious,downloaded softwareContain denial of service attacksthat steal compute resources

Build reliable systemsContain faulty subsystems

Provide quality of servicefor applications

Ensure fast, high-qualityuser experience

Simplify software integrationAllocate computing resources persubsystem

Navigation User Interface

10%

10%

10%

40%

Voice

30%

MultimediaDiagnostics

Benefits of Adaptive Partitioning

Page 20: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

20 QNX Confidential. All content copyright QNX Software Systems.

What is Adaptive Partitioning?A new technology that extends the QNX Neutrino RTOSEnforces CPU guarantees

How is it adaptive?Dynamically allocates spare CPU cycles to partitions that need the processingtimePermits full CPU utilization to accommodate spikes in demandEliminates wasted CPU cycles caused by traditional partitioning

Easy to get startedNo changes to how designers work today

POSIX programming modelNo changes needed to existing code

Simply launch processes into partitionsConfigure partitions dynamically from QNX Momentics IDE

QNX Adaptive Partitioning

Page 21: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

21 QNX Confidential. All content copyright QNX Software Systems.

Adaptive Partitioning Scenario

Dynamic allocation of spare CPU cyclesPerformance guarantees plus 100% CPU utilization

0% 50% 100%

No idleCPU cycles

Idle cyclesavailable

Enforce CPU guarantees

Reallocate idle cycles to busy partition

Hands-free Audio HMIMP3Navigation

25%30% 20% 25%

Page 22: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

22 QNX Confidential. All content copyright QNX Software Systems.

Large, multi-site teamsWorking in different timezones and locations

Division of responsibilities,functional areas, and expertise

Differing skill sets

Need to integrate third-partytechnologies to reducedevelopment costs

Lack of control overthird-party technology

Parallel development, followedby system integration &verification

Diagnostics &data acquisition

Route calculation

User interface

Partitioning for Faster Integration

Page 23: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

23 QNX Confidential. All content copyright QNX Software Systems.

Assign each subsystem abudget of CPU time andmemory at design timeDesign, implement, and testeach subsystem, using thepartition budgets

Eliminates CPU andmemory starvation bydesign

Eliminates complex,labor-intensive bugfixing at integration time

Reserve percentage of CPUand memory for futureapplications or services

30%

30%

40%

Diagnostics &data acquisition

Route calculation

User interface

Partitioning for Faster Integration

Page 24: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

3. Integrated Development EnvironmentEnhance design environment & shorten development cycle

Page 25: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

25 QNX Confidential. All content copyright QNX Software Systems.

Development Environment

Most common issues are:Development in the dark

no working simulation environmentAvailability of target hardware

large software design team with limited number of hardware prototypesLack of debug tools

JTAG debuggers are expensive, difficult to configureAbility to debug two applications simultaneously

synchronization problemscommunications issues

Analysis Toolsresolving deadlock issuesimproving system performance

Page 26: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

26 QNX Confidential. All content copyright QNX Software Systems.

Network

Debugging Environment

The Momentics IDE communicates to the QNX Microkernel usingthe proprietary application “qconn” using standard network stackThe Momentics IDE can then debug any “Application” on anytarget.The Momentics IDE can also debug multiple Applications, on oneor more targets, simultaneously.

Target

qconn

NetworkingStack

Microkernel

Momentics IDETarget

qconn

NetworkingStack

Microkernel

Page 27: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

27 QNX Confidential. All content copyright QNX Software Systems.

TargetVirtual

MachineTargetx86 PC

Network

Simulation Environment

QNX can be installed on any standard “x86” based personalcomputer, and will behave just like the targetQNX can be installed as a “virtual machine”, using applicationssuch as VMwareBoth simulation environments will continue to communicate to theMomentics IDE via the “qconn” application

Momentics IDE

qconn

NetworkingStack

Microkernel

qconn

NetworkingStack

Microkernel

Page 28: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

28 QNX Confidential. All content copyright QNX Software Systems.

Processor Emulation

PCs and Virtual Machines works well for application simulationBut what about actual Processor Emulation?

QEMU is a portable open source emulator for x86, MIPS, ARM, PPC,and Sparc.For the purposes of QNX, this makes a handy tool for quick testsand debugging.Some supported features are

snapshotsbasic networkinggdb integration

It is also possible to debug the kernel much like you can do withVMware.

Page 29: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

29 QNX Confidential. All content copyright QNX Software Systems.

Contents of the Momentics IDE

Basic ToolsCode DeveloperSource DebuggerSystem Information

Analysis ToolsCode CoverageMemory ProfilerSystem ProfilerApplication Profiler

Advanced Features SupportedMulti-CoreAdaptive Partitioning

Page 30: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

30 QNX Confidential. All content copyright QNX Software Systems.

Code Developer

Page 31: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

31 QNX Confidential. All content copyright QNX Software Systems.

Application Debugger

Page 32: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

32 QNX Confidential. All content copyright QNX Software Systems.

System Information

Page 33: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

33 QNX Confidential. All content copyright QNX Software Systems.

Code Coverage Perspective

Page 34: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

34 QNX Confidential. All content copyright QNX Software Systems.

Memory Analysis Perspective

Page 35: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

35 QNX Confidential. All content copyright QNX Software Systems.

System Profiler – Event Trace

Page 36: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

36 QNX Confidential. All content copyright QNX Software Systems.

Application Profiler

Page 37: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

37 QNX Confidential. All content copyright QNX Software Systems.

View CPU usage for a single thread or process,or for a group of threads or processes.

Track overallCPU utilizationTrack overall

CPU utilization

Visualizing Multi-Core Behaviour

Page 38: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

4. MultimediaReduce development & extend design lifecycles

Page 39: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

39 QNX Confidential. All content copyright QNX Software Systems.

Addressing Multi-media

The problem?Multimedia environments becoming very complex

File systemsMany different codecs requiredDRMUpdateableMultiple zonesIntegration with portable and consumer devicesMetadata managementEase of use

Page 40: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

40 QNX Confidential. All content copyright QNX Software Systems.

...an integrator has to:know about device storage configuration

manage device insertion and removalfind and itemize the media content on devices

extract and manage media metadata

configure audio and video device outputsmanage their own data persistence and media library

understand how to hook up media filters, readers, writers, anddecoders to inputs and outputssupport hardware offload (DSPs) or new consumer devices withintheir own applicationcontrol media playback

Today’s multimedia reality

Page 41: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

41 QNX Confidential. All content copyright QNX Software Systems.

Now an integrator only has to:know about device storage configuration

manage device insertion and removalfind and itemize the media content on devices

extract and manage media metadata

configure audio and video device outputsmanage their own data persistence and media library

understand how to hook up media filters, readers, writers, anddecoders to inputs and outputssupport hardware offload (DSPs) or new consumer devices withintheir own applicationcontrol media playback

Streamlined development

Page 42: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

42 QNX Confidential. All content copyright QNX Software Systems.

Set of pre-integrated multimedia componentsFor quickly and easily building customized multimedia players,jukeboxes, and media recorders

Comprehensive solutionIntelligent multimedia engine controlled from high-level APIsAutomatic device and stream supportMultipass metadata synchronization to configurable databasesAutomatic management of decode/encode paths, including softwareaudio decoders: MP3, WMA9, AAC, Ogg VorbisApple iPod support

iPod IAP (serial protocol) with analog outputiPod authentication IC

Microsoft PlaysForSure supportIncluding WMDRM10 for network devices

Pre-integrated hardware support for TI Jacinto and others

QNX Aviage Multi-Media Suite

Page 43: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

43 QNX Confidential. All content copyright QNX Software Systems.

Sample Media Player

Page 44: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

44 QNX Confidential. All content copyright QNX Software Systems.

Multiple inputs

Automatic device discoveryLocal storage

Multiple controlsand HMIs

Human Machine Interface:OEM Adaptation Layer

Media Database

Search music library,create playlist,personalize contentquery, etc.

Multimedia Controller:mmc

Control and statusmessages

Synchronization todatabase:media store,metadata, user,session…

Multiple Outputs

Detection ofdevice/streamand immediatedata access

Identify &Connect:io-fs

Play & Record:io-media

System Architecture

Page 45: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

45 QNX Confidential. All content copyright QNX Software Systems.

Example: iPod shuffle applicationPlays all available media in a random/repeat mode

hdl = mme_connect("/dev/mme/default", 0);

mme_newtrksession(hdl,

"select fid from library where available=1",

MME_PLAYMODE_LIBRARY, &sid);

mme_settrksession(hdl, sid);

mme_setrandom(hdl, MME_RANDOM_ALL);

mme_setrepeat(hdl, MME_REPEAT_ALL);

mme_play(hdl, 0); //Play

mme_set_speed(hdl, 0); //Pause Playback (speed of 0)

mme_next(hdl); //Next Track

mme_prev(hdl); //Prev Track

Clean and simple API

Page 46: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

46 QNX Confidential. All content copyright QNX Software Systems.

Short-term futures

Video decoding (and encoding)Hardware assistSoftware onlyDVD navigators

Time shifting of data streams

More preintegrated device and stream support

Internet radio

Bluetooth

Management of PCM streams; e.g. AM/FM radio, microphone

Page 47: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

5. GraphicsSpeed GUI development with standards-based framework

Page 48: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

48 QNX Confidential. All content copyright QNX Software Systems.

Graphic sensibilities

The Problem?Increasing graphics complexity

2D, rotation, etc.3D navigation and gamesLayering

Font rendering, scaling, rotation requirementsLimited automotive-grade hardwareOEMs and Tier 1s need standards-based solutions

Maximize code re-use, portability, etc.Most graphics environments consume too much RAM, ROMHMIs must be customizable and skinnable

for brand differentiationfor Tier 1, OEM and even end-user customization

Reduce time from HMI layout to deployment or updates

Page 49: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

49 QNX Confidential. All content copyright QNX Software Systems.

QNX Aviage Graphics SuiteSimple, lightweight interfaceto the device driver layerCertified, clean-roomOpenGL ES API for 3DSmall, fast 2D environmentMulti-layer graphicsAdobe Flash

High performanceMultiple 2D and 3D programs can render directlyto hardware at the same time

Maximum utilization of available hardwareIdeal for resource-constrained systems

Device driver

Graphics hardware

GF library OpenGL ES

HMI application

FFB

Comprehensive graphics

Page 50: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

50 QNX Confidential. All content copyright QNX Software Systems.

2D map displaysAlpha-blending(warnings, menus)Smooth panning &screen refreshTrueType Fonts withanti-aliasing

3D map displaysGenerated dynamicallyframe by frameSmooth panning &screen refreshTrueType fonts withanti-aliasingFont rotation supportTexture support

What can you build with it?

Page 51: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

51 QNX Confidential. All content copyright QNX Software Systems.

What can you build with it?

Combined displaysLeft side — 3D map,generated dynamically,frame by frameRight side — Web browserfor navigating point ofinterest website

Integrates easily with existinggraphics solutions

Third-party, homegrown, etc.Combined solution can still retainrealtime and reliability benefits ofGF

Page 52: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

52 QNX Confidential. All content copyright QNX Software Systems.

Realtime response for the graphics displayHighest-priority graphics program always draws firstRealtime preserved automatically: no need for special coding

ScalableFrom small 2D environments to multi-layer displaysthat run multiple 2D and 3D programs

Mix 2D and 3D apps on single layer or with multiple layers

Resource efficientUse only the libraries you need

ReliableLets you divide graphics applications into processes

Easier to develop & debug

Automatically cleans up after programs that terminate abnormallyExample: If a 3D program terminates, GF can free thevideo memory and intelligently restart the program

Fast, efficient, reliable

Page 53: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

6. Acoustic ProcessingReduce costs and increase user satisfaction of hands-free systems

Page 54: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

54 QNX Confidential. All content copyright QNX Software Systems.

Getting a clear signal

The problem?Automotive environment is challenging

Wind noise: vents, windows, etc.Road noiseWipers and other interior noiseEnclosed environment with speakers close to the microphone

Cost and complexity of system design with specialized echocancellation or noise suppression hardwareTuning requirements

Page 55: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

55 QNX Confidential. All content copyright QNX Software Systems.

Acoustic echo cancellation and speech enhancement solutiondesigned specifically for automotive environmentsEnhances clarity and accuracy of handsfree and speech recognition systems

Extracts voice from noise created by road surfaces, HVACsystems, engines, wind, rain, other vehicles, construction, etc.

Eliminates the need for dedicated hardwareLower production costs and increased design flexibility

Low tuning requirementsApproximately 1/2 to 4 hours per vehicle platform

Modular library of field-proven algorithmsScalable, C-callable, floating point, and fixed-point library

Acoustic processing at a glance

Page 56: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

56 QNX Confidential. All content copyright QNX Software Systems.

Audi

Mercedes-Benz

BMW

Alfa Romeo Fiat Lancia Land Rover

Chrysler

Acura

Porsche

GM

Honda

Mazda HyundaiMitsubishi

In over 55 vehicle models

Page 57: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

57 QNX Confidential. All content copyright QNX Software Systems.

Innovative AEC/NR algorithms published in over 90 patents80+pending, 12+ issued

40+ specialists in R&D, testing, and supportAcoustic engineers, speech & music audio specialists,neuroscientists, physicists

Focused on handsfree telematics issuesInteraction of AEC/NR with CDMA & GSM codecs

Tuned and tested against 8+ terabytes of speech dataTest database derived from thousands of speakers in dozensof vehicles

Innovative and field tested

Page 58: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

58 QNX Confidential. All content copyright QNX Software Systems.

Modular solution

Fifteen predefined modulesCan be used individually or in combination, based on system requirements

Key modules include:Acoustic echo cancellation (AEC)

Reduces echo during handsfree calls

Noise suppression and speech enhancementReduces impact of additive and dynamic noise

Smart automatic gain controlAdjusts gain of signal based on voice, not transient noises

Send equalizationControls outbound sound quality, allowing for softwarecorrection of microphone and cabin issues

Speech recognition enhancementReduces impact of additive noise and reconstructs speech,improving recognition accuracy

Page 59: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

59 QNX Confidential. All content copyright QNX Software Systems.

Integrated solution

SD Flash

HeadUnit

Multi Config

Bluetooth

Reset uCtrl

GSM

Handset

SIM

SIM

DedicatedSpeech

Processor

MOST

Power Supply

MainProcessor

Lowering BOM costs

Remove additionaldedicated speechprocessors, saving$10-$15 in BOM

Gain high-quality,full-duplex hands-freecommunication withgreater flexibility andcustomizability than adedicated processor

OEM Bus

Save approx. $15 in material costs byremoving dedicated speech processor

Integration into main processor

Page 60: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

Conclusions …QNX Innovations

Page 61: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

61 QNX Confidential. All content copyright QNX Software Systems.

QNX Innovations …

Multi-Core and Parallel Processing technology providesgreater performance and scalabilityAdaptive Partitioning ensures system security & smoothproduct integration, and also enhances performanceMomentics IDE will revolutionalize your developmentenvironmentAviage Multi-Media and Graphics Suites will reducedevelopment effort and extend design lifecyclesPatented AEC/NS solution will reduce cost and increaseuser satisfaction

Page 62: QNX Innovation How to Transform Your Design - qnx · PDF fileQNX Innovation How to Transform Your Design Edward Lee ... QNET Protocol Networking Stack ... Database QNX Neutrino Microkernel

62 QNX Confidential. All content copyright QNX Software Systems.

Questions?

Thank [email protected]