Porting WindRiver VxWorks Applications to Linux Pthreads - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Porting WindRiver VxWorks Applications to Linux Pthreads

Description:

Reasons for Porting VxWorks Application to Linux. Steps in Porting from VxWorks ... Low development cost and royalty free product. Project Parts. Linux Porting ... – PowerPoint PPT presentation

Number of Views:323
Avg rating:3.0/5.0
Slides: 18
Provided by: homePos
Category:

less

Transcript and Presenter's Notes

Title: Porting WindRiver VxWorks Applications to Linux Pthreads


1
Porting WindRiver VxWorks Applicationsto Linux
Pthreads
  • MontaVista Software

2
Contents
  • Projects Outline
  • TMS (Tornado for Managed Switches)
  • TMS Architecture
  • Standard Porting Configuration
  • Reasons for Porting VxWorks Application to Linux
  • Steps in Porting from VxWorks to Linux
  • System Calls Not Addressed
  • Caveats when Porting VxWorks Application to Linux

3
Project Outline
  • Code Name LSP (Linux Switch Package)
  • Objective
  • Develop a LAN switch package on Linux (LSP). LSP
    is small enough to fit on custom fresh memory,
    support RFCs related with LAN switching
  • Significance
  • Low development cost and royalty free product
  • Project Parts

Linux Porting
  • VLAN, STP, IGMP?? Linux implementation?
  • ??
  • - TMS 2.0? Linux? Porting ? ??
  • Hardhat? Porting VxWorks Application to Linux
  • ? ?? ??? ??
  • - ?????? ?? ????? ?? ??? ??

Internetworking Protocol
Network Management
4
TMS (Tornado for Managed Switches)
5
TMS Architecture
6
Standard Porting Configuration
7
Reasons for Porting VxWorks Application to Linux
  • Price
  • Stability
  • Open-source architecture
  • Standard interfaces
  • Networking support
  • The wide range of supported peripheral devices
  • Large bodies of existing legacy code developed
    for the VxWorks platform

VxWorks virtual machine
which implement most of the core feature of the
Vxworks kernel on a standard Linux platform
8
Steps in Porting from VxWorks to Linux
  • Two main steps to port VxWorks code to Linux
    pthreads

9
Steps in Porting from VxWorks to Linux (Cont.)
  • Example header files and demonstration programs
    are available on the MontaVista FTP site at
    ftp.mvista.com/pub/v2linux/
  • in the tar file, v2linux.tgz.

10
Steps in Porting from VxWorks to Linux (Cont.)
  • This step will usually consist of generating a
    GNU C and/or C compiler, assembler, and linker
    for the desired target CPU.

11
Steps in Porting from VxWorks to Linux (Cont.)
  • The Linux kernel and an application-dependent
    subset of available daemons and system utilities
    must be ported to the target hardware.
  • A requisite set of device drivers must also be
    generated.

12
Steps in Porting from VxWorks to Linux (Cont.)
  • This will involve (at a minimum) the resolving of
    differences in header file contents and location,
    as well as function prototypes and word-length
    issues.

13
Steps in Porting from VxWorks to Linux (Cont.)
  • These unresolved references will generally be due
    to functions present in the legacy RTOS
    environment which have not been duplicated in the
    Linux virtual machine.

to extend the virtual machine environment by
implementing the referenced RTOS functions, to
substitute a native Linux function whose
functionality approximates that of the missing
RTOS function, or to re-code the application in
such a way as to eliminate the need for the
missing RTOS function.
14
Steps in Porting from VxWorks to Linux (Cont.)
  • Most C code contains what might be considered
    abuses of the language, and these create problems
    when porting the code.
  • Programming tricks which enhance performance or
    facilitate coding in one environment often break
    the code when transported to another compiler or
    CPU architecture.

Ex) integer ranges, endian-ness,
internal layout of structure
15
Steps in Porting from VxWorks to Linux (Cont.)
  • Enhancing Efficiency of the VxWorks Virtual
    Machine Code
  • Eliminating Bulletproofing Code After
    Application Testing
  • Adapting VxWorks Code to Native Linux Code
  • Re-coding Frequently-called Functions in Assembly
    Language

16
System Calls Not Addressed
  • filesystem and networking component features
  • multiple-processor architectures
  • target-level debuggers or board support packages

17
Caveats when Porting VxWorks Application to Linux
  • Linux and most other Unix-type operating systems
    were never designed to support the requirements
    of hard real-time systems, where deterministic
    and predictable response times for a real-world
    event are required
  • Support of hard real-time features requires an
    adapter layer of code which adds functionality
    at the inevitable expense of raw performance.
  • Some VxWorks features, such as user hook routines
    at task-switch time, cannot be readily
    implemented in a Linux environment without
    resorting to kernel modification.
  • An additional caveat regarding the Linux
    environment regards the possibility of
    encountering library functions which are not
    thread-safe or reentrant.
Write a Comment
User Comments (0)
About PowerShow.com