gnat pro for arm processors
DESCRIPTION
An overview of GNAT Pro Ada development environment support for ARM processorsTRANSCRIPT
Slide: 1Copyright © 2013 AdaCore
Quentin OchemTechnical Account Manager
GNAT Pro for ARM
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
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
Slide: 4Copyright © 2013 AdaCore
Classification of Processors
ARM
Legacy
ARM7 ARM9 ARM11
Cortex
A
A8 A9 A15
R
R4F
M
M3 M4F
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
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
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
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
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
Slide: 10Copyright © 2013 AdaCore