vxworks 6 - sourceforgecimsol-mc.sourceforge.net/files/vxworks/vxworks60.pdf · runtime overview...

24
Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account Manager

Upload: duongque

Post on 26-Mar-2018

247 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

Runtime Overview

VxWorks 6.0

Wind River TechDay / Eindhoven6 Okt 04Henk Schouten – Technical Account Manager

Page 2: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 2

Agenda

• VxWorks 6.0 Key Focus

• VxWorks 6.0 Key Goals

• RTOS new Features

Page 3: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

VxWorks 6.0

Key Focus

Page 4: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 4

VxWorks 6.0 Key Focus

• Performance, Reliability and Productivity

• Seamless Migration from VxWorks 5.5

• State of the Art Memory Protection

• Error detection and reporting

• Real-Time Processes (RTP)

• Inter-Process Communication (IPC)

• Modular Runtime and IDE

• Innovative Debugger: A System Solution

• Validated by Industry-leading Companies

Page 5: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 5

VxWorks 6.0 Timeline

Apr04 Aug 04 Dec 04

• Protects devices from errant code and malicious attacks

• Strong memory protection• Memory error detection

and reporting

Protect First• Common message

passing IPC• Designed for future multi-

processor, multi-core, multi-OS environments

• Location transparency

Connect• Seamless compatibility

with VxWorks 5.5• Broad processor support• Support for open source• Extensible APIs• Supported by Wind River

Workbench

Leverage

Feb 04

VxWorks 6.0 Pre-

Release 1

VxWorks 6.0 Pre-

Release 2

VxWorks 6.0 Beta

VxWorks 6.0 FCS

Page 6: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

VxWorks 6.0

Key Goals

Page 7: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 7

VxWorks 6.0 Key Goals

• Increase customer value by enabling:• Leverage and reuse of existing IP investment• Improved development experience and edit-compile-debug cycle• The ability to create more robust, higher quality end-products

• VxWorks 6.0 delivers on these goals by providing:• Easy migration from VxWorks 5.5• An optional, viable memory protection model• Continued focus on VxWorks key attributes• Best in class IDE (Eclipse based) and debugger (Multi-X) based on

Wind River technology -> Wind River Workbench

Page 8: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 8

VxWorks 6.0 – Seamless Migration

• Seamless compatibility with VxWorks 5.5:à recompile only• Runs existing VxWorks 5.5 BSPs, drivers and

kernel applications

• Easy migration of a user application fromVxWorks 5.5 kernel to an RTP

• Extensive compatibility testing• VxWorks 5.5 test suites• Customer code VxWorks 5.4

• Tornado 2 IDE• Networking Routing• File Systems• Connectivity• Graphics and Java

VxWorks 5.5• Diab Compiler• POSIX pThreads• pSOS-Events

VxWorks 6.0• Memory Protection

• Error Detection • Real-Time Process • IPC Messaging

• Unified MX Debugger• Eclipse-based IDE

VxWorks 5.3.1•wind Kernel / Target Shell•TCP/IP Networking• Distributed Shared Memory

Page 9: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

VxWorks 6.0

New Features

Page 10: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 10

VxWorks 5.x Today

Shared Environment:• Single address space• Program code & data• Kernel objects• Heap

• Supervisor privilege tasks• Direct device access• Simple to understand• Straightforward to program VxWorks Kernel Environment

Task1

Driver2

Driver1

SemB

MsgQA

App DCode

App CCode

App BCode

App ACode

Heap

man

ager

Task3

Task2

SemA

VxWorks OS Modules

VxWorks BSP

But this has its challenges too…• Resource reclamation difficult• Symbols collide during integration• App errors are unmanaged and so must be treated as system errors• Software errors/faults can propagate

Page 11: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 11

Technical Goals of VxWorks 6.0

• Reduce problematic error propagation• To help find root causes sooner

• Provide strong memory protection• To contain error propagation paths

• Provide message passing IPC: Wind River Multi Processing Technology

• To facilitate the interaction of software separated by memory protection boundaries

Page 12: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 12

Technical Goals of VxWorks 6.0

• Reduce problematic error propagation• To help find root causes sooner

• Provide strong memory protection• To contain error propagation paths

• Provide message passing IPC: Wind River Multi Processing Technology

• To facilitate the interaction of software separated by memory protection boundaries

Page 13: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 13

Memory Protection –Error Detection & Reporting

• Real-Time error detecting, reporting & handling

• Faster and cheaper development & testing cycles

• Increased robustness & reliability

• Key features• ISR/Task stack overrun detection• Code corruption detection• Null pointer usage detection• Heap block overrun detection• Heap usage tracking & leakage

detection• Persistent storage of error records

Stack Pages Program Pages Address Space

0x0

Readonly

Rawdata

Start

Stop

Stack

Task 1

Task 2

Task 3

Heap Blocks Heap Blocks

Page 14: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 14

Error Detection(Using the MMU)

Stack

Start

End

Stack Pages

Read-Only Code

RW Data

Program Pages Address Space

0x0ISR/Task Stack Overrun Detection

Code Corruption Detection

Null Ptr Usage Detection

Page 15: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 15

Heap Error Detection(MMU not required)

Heap Blocks Heap Blocks

Task1

Task2

Task3

Heap Block Overrun Detection

Heap Usage Tracking & Leakage Detection

Page 16: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 16

• Error records

• Error reporting & handling policy is customizable

• ISR contexts managed -not just tasks

• Persistent memory capability

Error Reporting Features

Page 17: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 17

Technical Goals of VxWorks 6.0

• Reduce problematic error propagation• To help find root causes sooner

• Provide strong memory protection• To contain error propagation paths

• Provide message passing IPC: Wind River Multi Processing Technology

• To facilitate the interaction of software separated by memory protection boundaries

Page 18: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 18

Memory Protection –Real-Time Processes (RTPs)

• Protects kernel from applications and applications from each other

• Familiar UnixTM-style process programming model

• Executing from a main() routine

• Easy integration and testing of legacy or third-party code

• MMU or MMU- less

• User-level objects (code, heap, stack, tasks, semaphores, FDs, etc.)

• Global task scheduler

• Resource reclamationVxWorks Kernel Environment

Task1

Driver2

Driver1

SemB

MsgQA

App DCode

App CCode

App BCode

App 1Code

Heap m

anager

Task3

Task2

SemA

VxWorks OS Modules

VxWorks BSP

RTP 1

RTP1 Code

Task

Heap

TaskTask ...

RTP 2

RTP2 Code

Task

Heap

TaskTask ...

Page 19: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 19

Embedded Shared Library

Kernel

RTP 1

Shared Lib 1Data (RTP1)

RTP 2 RTP 3

Shared Lib 1 Code

RTP 4

RTP 1 StaticCode & Data

Kernel Static Code & Data

RTP 2 StaticCode & Data

RTP 3 StaticCode & Data

RTP 4 StaticCode & Data

Shared Lib 1Data (RTP 2)

Shared Lib 1Data (RTP 3)

RTP 5

RTP 5 StaticCode & Data

Shared Lib 2Data

Shared Lib 2Code

Page 20: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 20

VxWorks 5.5 Compatibility

• Goal is for VxWorks 5.5 BSPs, drivers, projects and kernel code to be directly importable without modification

• Migration story for legacy code is to “just run it in the kernel”

• Re-compilation required – source level compatibility only

• Some work must be done in order to benefit from strong memory protection (i.e. modifications are needed to RTP-izesoftware)

• POSIX PSE 51 + 52

Page 21: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 21

Technical Goals of VxWorks 6.0

• Reduce problematic error propagation• To help find root causes sooner

• Provide strong memory protection• To contain error propagation paths

• Provide message passing IPC: Wind River Multi Processing Technology

• To facilitate the interaction of software separated by memory protection boundaries

Page 22: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 22

Memory Protection –Message Channels

• Common IPC mechanism for runtime integration of all applications and middleware

• New message passing model complements existing function call model

• Location transparency provides design flexibility

• Three messaging modes• Unidirectional send (“fire-and-forget”)• Send with asynchronous reply• Blocking send-receive-reply (RPC

semantics)

• Designed for future multi-core and multi-processor messaging

RTP 1

RTP 2

VxWorks Kernel Environment

Task Task

Fire & Forget

Reply Reply

Async Send Block until Receive

RTP 1

RTP 2

VxWorks Kernel Environment

Task Task

Fire & Forget

Reply Reply

Async Send Block until Receive

Page 23: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account

© 2004 Wind River 23

VxWorks 6.0 Summary

• Backward compatibility with VxWorks 5.5

• State-of-the-art memory protection

• Memory error detection and reporting mechanisms

• Standard process-based programming model

• Scalable message passing architecture

Page 24: VxWorks 6 - SourceForgecimsol-mc.sourceforge.net/files/vxworks/VxWorks60.pdf · Runtime Overview VxWorks 6.0 Wind River TechDay / Eindhoven 6 Okt 04 Henk Schouten – Technical Account