WIND RIVER DIAB COMPILER



Similar documents
Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software

Motorola 8- and 16-bit Embedded Application Binary Interface (M8/16EABI)

APPLICATION DEVELOPMENT FOR THE IOT ERA. Embedded Application Development Moves to the Cloud

The CodeWarrior Development Studio contains all of the tools needed to complete a major embedded development project. Complete Set of Tools

10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition

TRACE32 Documents... ICD In-Circuit Debugger... Processor Architecture Manuals... TriCore... TriCore Monitor... 1

Quick Start Tutorial. Using the TASKING* Software Development Tools with the Intel 8x930 Family Evaluation Board

Intel Application Software Development Tool Suite 2.2 for Intel Atom processor. In-Depth

Site Configuration SETUP GUIDE. Windows Hosts Single Workstation Installation. May08. May 08

Freescale Semiconductor, I

Technical Data Sheet SCADE R17 Solutions for ARINC 661 Compliant Systems Design Environment for Aircraft Manufacturers, CDS and UA Suppliers

Linux. Reverse Debugging. Target Communication Framework. Nexus. Intel Trace Hub GDB. PIL Simulation CONTENTS

Wind River Probe INNOVATORS START HERE.

How To Port A Program To Dynamic C (C) (C-Based) (Program) (For A Non Portable Program) (Un Portable) (Permanent) (Non Portable) C-Based (Programs) (Powerpoint)

Nios II Software Developer s Handbook

AN INTEL COMPANY WIND RIVER AUTOMOTIVE SOLUTIONS

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

AN10866 LPC1700 secondary USB bootloader

Introduction to Native Android Development with NDK

APPLICATION NOTE. AT07175: SAM-BA Bootloader for SAM D21. Atmel SAM D21. Introduction. Features

Instruction Set Architecture (ISA)

The programming language C. sws1 1

STLinux Software development environment

DraftSight Frequently Asked Questions

VxWorks Guest OS Programmer's Guide for Hypervisor 1.1, 6.8. VxWorks GUEST OS PROGRAMMER'S GUIDE FOR HYPERVISOR

WIND RIVER INTELLIGENT DEVICE PLATFORM XT

RVDS 3.x with Eclipse IDE

Migrating Application Code from ARM Cortex-M4 to Cortex-M7 Processors

Using Linux in Medical Devices: What Developers and

Memory Systems. Static Random Access Memory (SRAM) Cell

Chapter 12. Development Tools for Microcontroller Applications

Enhanced Project Management for Embedded C/C++ Programming using Software Components

LittleCMS: A free color management engine in 100K.

Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v Steps to Developing a QNX Program Quickstart Guide

How To Develop A Powerpc/Powerpc/Ada 95/C++/Adma 83/C/C95/A95/C99/A83/A84/A85/A86/A75/A74

WIND RIVER RTCA DO-178 SOFTWARE CERTIFICATION SERVICES

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

RISC-V Software Ecosystem. Andrew Waterman UC Berkeley

TESSY Automated dynamic module/unit and. CTE Classification Tree Editor. integration testing of embedded applications. for test case specifications

Data Sheet VISUAL COBOL WHAT S NEW? COBOL JVM. Java Application Servers. Web Tools Platform PERFORMANCE. Web Services and JSP Tutorials

Easing embedded Linux software development for SBCs

System Requirements and Platform Support Guide

The XenServer Product Family:

Red Hat Developer Toolset 1.1

İSTANBUL AYDIN UNIVERSITY

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

OpenClovis Product Presentation

Price: see your VeriFone sales representative. Per student, Excluding VAT.

Wind River ICE 2. Table of Contents. Key Features

umps software development

Hitchhiker's Guide to CodeWarrior EE371, EE475 Fall 2005

Republic Polytechnic School of Information and Communications Technology C226 Operating System Concepts. Module Curriculum

Keil C51 Cross Compiler

A deeper look at Inline functions

Example of Standard API

Frysk The Systems Monitoring and Debugging Tool. Andrew Cagney

INTEL PARALLEL STUDIO XE EVALUATION GUIDE

CA Aion Business Rules Expert r11

Data Management for Portable Media Players

How much does DraftSight cost? The standalone, single-user version of DraftSight is free* to download at DraftSight.com.

Zynq-7000 Platform Software Development Using the ARM DS-5 Toolchain Authors: Simon George and Prushothaman Palanichamy

Programación de Sistemas Empotrados y Móviles (PSEM)

Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

RTEMS Porting Guide. On-Line Applications Research Corporation. Edition , for RTEMS July 2015

Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager

The Embedded Linux Quick Start Guide In the Beginning... Embedded Linux Conference Europe 2010

Instrumentation Software Profiling

How To Write Portable Programs In C

DsPIC HOW-TO GUIDE Creating & Debugging a Project in MPLAB

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment

Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment

Red Hat Partner Programs for Independent Software Vendors (ISVs)

Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux

APPLICATION MANAGEMENT SUITE FOR ORACLE E-BUSINESS SUITE APPLICATIONS

PARALLELS SERVER 4 BARE METAL README

Monitoring, Tracing, Debugging (Under Construction)

AN4664 Application note

SUSE Linux Enterprise 10 SP2: Virtualization Technology Support

Platform Guide. SA Supported Platforms. Service Package Version 7.4R1

Platform Guide. SA Supported Platforms. Service Package Version 7.3R1

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

CSE 265: System and Network Administration

Lecture 1 Introduction to Android

Introducing the IBM Software Development Kit for PowerLinux

Programing the Microprocessor in C Microprocessor System Design and Interfacing ECE 362

VMware Server 2.0 Essentials. Virtualization Deployment and Management

DraftSight Frequently Asked Questions

Oracle Business Intelligence Publisher. 1 Oracle Business Intelligence Publisher Certification. Certification Information 10g Release 3 (

Building Applications Using Micro Focus COBOL

Embedded Software Development

Using Example Projects, Code and Scripts to Jump-Start Customers With Code Composer Studio 2.0

Software Engineering Best Practices. Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer

Transcription:

AN INTEL COMPANY WIND RIVER DIAB COMPILER Boost application performance, reduce memory footprint, and produce high-quality, standards-compliant object code for embedded systems with Wind River Diab Compiler. Wind River has a long history of providing software and tools for safety-critical applications requiring certification in the automotive, medical, avionics, and industrial markets. And it s backed by an award-winning global support organization that draws on over 25 years of compiler experience and hundreds of millions of successfully deployed devices. TOOLCHAIN COMPONENTS Wind River Diab Compiler includes the following programs and utilities: Driver: Intelligent wrapper program invoking the compiler, assembler, and linker, using a single application Assembler: Macro assembler invoked automatically by the driver program or as a complete standalone assembler generating object modules Conditional macro assembler with more than 30 directives Unlimited number of symbols Debug information for source-level debugging of assembly programs Compiler: ANSI/ISO C/C++-compatible cross-compiler EDG front end Support for ANSI C89, C99, and C++ 2003 Hundreds of customizable optimizations for performance and size Processor-architecture-specific optimizations Whole program optimization capability Linker: Precise control of allocation, placement, and alignment of code and data Links object modules into absolute or relocatable modules Generates fully embedded application binary interface (EABI) compliant ELF/DWARF output for tool interoperability Shows stack usage estimates Libraries: Standard run-time functions to help developers create applications Complete re-entrant C libraries compliant with ANSI/ISO, POSIX, and SVID standards Complete C++ library and Standard Template Library (STL) Full complement of math libraries, including IEEE-754 appendix functions Fast, efficient floating-point libraries Library source code Archiver/librarian: Creation and maintenance of libraries Instruction set simulator: Simulation of the core instructions of the target processor and ability to run C and C++ programs with the simulated environment Product Note

Object file converter: Conversion routines for generating S-Record or IEEE-695 output formats as well as the following Symbol table management Detailed code size reports C++ symbol name demangler Munch routine Run-time error checker: Identification of root cause of software errors during program development Memory leaks and stack overflows Pointer problems Memory allocation errors Lint program checker: Compiler-time and link-time static code analysis for ANSI C conformance, finding programming errors such as the following Unused variables and functions Used variable before set Missing return statements Out-of-range constants Function call mismatches Eclipse CDT plugin: Creation of projects and building of Diab application using the Eclipse integrated development environment Documentation: Extensive documentation specific to the chosen architecture, with all manuals available in PDF format; detailed Getting Started manual enabling users to get up to speed quickly and enhancing the out-of-the-box experience TECHNICAL HIGHLIGHTS Selectable speed/size optimizations: Certain compiler optimizations involve trade-offs between execution speed and code density. With Wind River Diab Compiler s numerous compiler switches, users can choose whether to optimize for speed or code size. Small data area optimizer: For certain architectures, small data and constant areas use predefined sections that can optionally be created by the compiler to improve reference efficiency for widely used static or public variables. Code factor optimizer: Diab Compiler finds common code sequences at link time and shares them, reducing code size at the cost of inserting some additional branches. Register coloring: Diab Compiler locates variables that can share a register to eliminate loads and stores. Global common subexpression elimination: Subexpressions, once computed, are held in registers and not recomputed the next time they occur. Memory references are also held in registers. Reverse inlining: This option reduces code size by factoring out repeated code sequences into new functions. This optimization can lead to significant code-size reduction, depending on the structure of the code. 2 Product Note

Whole-program optimization: This capability allows the compiler to optimize calls between functions in different source files, improving execution efficiency by allowing function inlining across different modules. Flexible mixing of C/C++ and assembly: Diab Compiler provides several methods for mixing C/C++ and assembly code. asm macros can be used to inline sections of assembly code that can be invoked as a function. asm strings provide a simple way to embed assembly instructions. Diab Compiler also offers a number of compiler intrinsics that correspond to assembly instructions that improve compiler optimization. Easy interrupt handling: Diab Compiler makes it easy to handle interrupt processing for embedded systems by providing interrupt keywords and interrupt pragmas. Multiple debugging options: Diab Compiler provides flexible controls for generating debuggable code. Users can control the trade-offs between the amount of debug information vs. the speed of debugging, and performance optimizations vs. ease of debugging. Position-independent code and data: Diab Compiler can generate code and data that can be loaded at any address. This is useful in devices that dynamically load/unload modules. Volatile keyword, or all memory is volatile: Users can mark areas of code as volatile, which prevents the compiler from optimizing away data accesses. This feature is useful for accessing memory-mapped device I/O. Control of structure formats: Diab Compiler can reduce footprint by packing structures and ensuring that all padding is removed. The compiler can also create byte-swapped structures in which it swaps the byte order for data structures as they are stored in memory, allowing the communication of information in a byte order different than the device s native byte order. This capability can help optimize performance when sharing data between big and little endian processors. Extensive link command language for memory mapping: Every embedded device has a unique memory layout, with various types of memory available, such as fast RAM, flash, and shared memory. The link command language provides users fine-grain control to lay out code and data in memory in the optimal way. Absolute addressing from C and assembler: Variables and functions can be assigned to specific memory addresses. This feature is particularly useful for accessing memory-mapped device I/O and for setting up interrupt vectors. Ability to generate PROMable code: Wind River Diab Compiler can generate code that can be burned into ROM and can access memory that is moved into RAM at startup time. Support for multiple object module formats: The compiler supports ELF, IEEE-695, and S-Records and can generate object modules in multiple formats. 3 Product Note

FUNCTIONAL SAFETY AND AUTOMOTIVE GRADE QUALITY Automotive SPICE Level 2 certification: Wind River Diab Compiler is developed using an Automotive SPICE (Software Process Improvement and Capability Determination) Level 2 process. Automotive SPICE is a framework for assessing software development processes created by the consensus of several major car manufacturers such as Audi, BMW, Ford, Fiat, Daimler, Porsche, Volkswagen, and Volvo. Today, Automotive SPICE has become a standard in the international automotive industry to create better processes and better product quality. Wind River Diab Compiler ISO 26262 Qualification Kit: The kit offers a model-based environment to simplify tool qualification for the Diab Compiler, providing flexibility in how the Diab Compiler can be used in safety-related automotive projects. Tools and documentation from the kit can also be used for tool qualification with other safety standards. TECHNICAL SPECIFICATIONS Supported Host Operating Systems Windows XP, Vista, and 7 Linux (Red Hat, Fedora, Ubuntu, SUSE) Sun Solaris Supported Targets Wind River Diab Compiler supports a wide range of embedded architectures and provides processor-specific optimizations for each one. This range of choice offered by the compiler permits continuity should you decide to migrate from one architecture to another. Compiler support is specific to a processor core and its instruction set. Many processors can be based on a single processor core. The following list provides processor architectures that are supported by Wind River Diab Compiler: PowerPC TriCore RH850 ARM MIPS SuperH ColdFire 68K M CORE SPARC Intel For more detailed information on processor cores and processors that are supported, contact your Wind River sales representative. 4 Product Note

WIND RIVER PROFESSIONAL SERVICES Whether you select Wind River Diab Compiler as a standalone product or as part of our platform solutions, the Wind River Diab Compiler and Wind River Professional Services teams know how to jump-start your development efforts. Types of services provided may include the following: Extended compiler processor support Application and tuning of compiler optimizations for maximum performance Customized support and maintenance Updates for end-of-life products Safety certification audits Code migration AWARD-WINNING GLOBAL SUPPORT Wind River Diab Compiler is supported by an award-winning and Service Capability and Performance (SCP) certified organization and the Wind River Support Network website, available 24/7. The website provides patches, manuals, the latest errata, and other announcements as well as tech tips, application notes, and answers to FAQs. Wind River experts are available for telephone support during standard business hours. Wind River has more than 150 support engineers in sites all over the globe, offering support in local languages. Long Term Support and Frozen Branch Maintenance In addition to standard support, Wind River offers long term support services for Diab Compiler customers. Long Term Support lengthens the support window beyond the standard product lifecycle for devices that need support for a specific compiler version for many years or even decades. For customers in the safety-related industry that require complete control of the product lifecycle of the compiler that builds their software, Wind River offers Frozen Branch Maintenance. These maintenance packages allow customers to minimize the impact of compiler changes to their code by having their own branch of the compiler for which they control the lifecycle. They can decide what updates and customized bug fixes to include and when new QA cycles will be run. Frozen Branch Maintenance packages are available for current versions of the compiler and versions that have reached end-of-life. HOW TO PURCHASE Visit www.windriver.com/company/contact to find your local Wind River sales contact. To have a sales representative contact you, call 800-545-9463 or write to inquiries@windriver.com. Wind River is a world leader in embedded software for intelligent connected systems. The company has been pioneering computing inside embedded devices since 1981, and its technology is found in nearly 2 billion products. To learn more, visit Wind River at www.windriver.com. 2015 Wind River Systems, Inc. The Wind River logo is a trademark of Wind River Systems,Inc., and Wind River and VxWorks are registered trademarks of Wind River Systems, Inc. Rev. 10/2015