gnat pro for arm processors

10
Slide: 1 Copyright © 2013 AdaCore Quentin Ochem Technical Account Manager GNAT Pro for ARM

Upload: adacore

Post on 29-Nov-2014

3.344 views

Category:

Technology


3 download

DESCRIPTION

An overview of GNAT Pro Ada development environment support for ARM processors

TRANSCRIPT

Page 1: GNAT Pro for ARM processors

Slide: 1Copyright © 2013 AdaCore

Quentin OchemTechnical Account Manager

GNAT Pro for ARM

Page 2: GNAT Pro for ARM processors

Slide: 2Copyright © 2013 AdaCore

AdaCore product categorization

Native

Safety Critical

Cross

WindowsLinux

SolarisMacVMS

HP-UX

Embedded Linux PPCEmbedded Linux x86VxWorks 5 PPCVxWorks 6 PPCVxWorks 6 x86LynxOS PPC

Bareboard PPCBareboard LEONVxWorks 653 PPC

VxWorks 6 Cert PPCPikeOS X86

Page 3: GNAT Pro for ARM processors

Slide: 3Copyright © 2013 AdaCore

AdaCore product categorization

Native

Safety Critical

Cross

WindowsLinux

SolarisMacVMS

HP-UX

Embedded Linux PPCEmbedded Linux x86Embedded Linux ARMAndroid ARMVxWorks 5 PPCVxWorks 6 PPCVxWorks 6 ARMVxWorks 6 x86LynxOS PPC

Bareboard PPCBareboard LEONBareboard ARM

VxWorks 653 PPCVxWorks 6 Cert PPC

PikeOS X86

Page 4: GNAT Pro for ARM processors

Slide: 4Copyright © 2013 AdaCore

Classification of Processors

ARM

Legacy

ARM7 ARM9 ARM11

Cortex

A

A8 A9 A15

R

R4F

M

M3 M4F

Page 5: GNAT Pro for ARM processors

Slide: 5Copyright © 2013 AdaCore

• No Product on Legacy platforms

• 4 GNAT Pro 7.2 products will be released on a number of ARM Cortex

platform depending on the processor

• ARM Cortex R and ARM Cortex M (bare board)– GNAT Pro Safety Critical for ARM Cortex

– ZFP, Ravenscar-SFP, Ravenscar-Extended run-times

• ARM Cortex A (OS-based)– GNAT Pro for ARM Android

– GNAT Pro for ARM Linux

– GNAT Pro for ARM VxWorks 6

AdaCore Products

Page 6: GNAT Pro for ARM processors

Slide: 6Copyright © 2013 AdaCore

• Usable out of the box

• No adherence on the underlying system

• A few Ada.* GNAT.* System.* or Interfaces.* packages (not generating code)

• No support for Tasking

• Exception limited to local handling or last chance handler

• No support for features requiring run-time support (e.g. secondary stack)

• Possibility to add units to create a custom ZFP (e.g. GNATemulator-based

versions implement GNAT.IO)

Bare board Run-Times – Zero Footprint

Page 7: GNAT Pro for ARM processors

Slide: 7Copyright © 2013 AdaCore

• Ravenscar is a "simple" Ada tasking – Simple to implement (e.g. small run-time footprint)

– Simple to use (e.g. small amount of functionalities)

– Efficient

• Ravenscar provides some static guarantees– Absence of deadlock

– Schedulability

– Determinism

• Based on task "stereotypes" (cyclic, periodic) and priorities

• Ravenscar requires some target-specific configuration– Interruption controller

– Context switching

• Default implementations (BSP) are provided, but needs to be adapted– Either by the customer or through a few days of on-site consulting

Bare board Run-Times – Ravenscar Family

Page 8: GNAT Pro for ARM processors

Slide: 8Copyright © 2013 AdaCore

• Ravenscar Small Footprint (SFP)– ZFP

– Ravenscar

– Certifiable

• Ravenscar Extended– ZFP

– Ravenscar

– Exceptions

– All standard packages (except I/O)

– Not certifiable

Bare board Run-Times – Small Footprint vs. Extended

Page 9: GNAT Pro for ARM processors

Slide: 9Copyright © 2013 AdaCore

• IDE– GPS

– GNATbench (with specific Android Development Toolkit integration)

• Language interfacing– Ada / C Interfacing tools

– (Android only) GNAT Ada-Java Interfacing Suite

• Basic Static Analysis Tools– GNATcheck

– GNATmetrics

– (Bare board only) GNATstack

• Basic Dynamic Analysis Tools– GNATtest / Aunit

– GDB

Included in the product

Page 10: GNAT Pro for ARM processors

Slide: 10Copyright © 2013 AdaCore