Xenomai: integration and qualification of a real time operating system ARMadeus Systems



Similar documents
How to Perform Real-Time Processing on the Raspberry Pi. Steven Doran SCALE 13X

LogiCORE IP AXI Performance Monitor v2.00.a

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

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

Operating Systems. Lecture 03. February 11, 2013

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Easy H.264 video streaming with Freescale's i.mx27 and Linux

Kirchhoff Institute for Physics Heidelberg

Open Flow Controller and Switch Datasheet

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

AN3265 Application note

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

Software Real Time Clock Implementation on MC9S08LG32

VtRES Towards Hardware Embedded Virtualization Technology: Architectural Enhancements to an ARM SoC. ESRG Embedded Systems Research Group

Lab Experiment 1: The LPC 2148 Education Board

Develop a Dallas 1-Wire Master Using the Z8F1680 Series of MCUs

SIM900_Custom Application Building Tutorial_Application Note_V1.00

Embedded Linux RADAR device

ADL User Guide for Open AT V4.10

Embedded & Real-time Operating Systems

The new frontier of the DATA acquisition using 1 and 10 Gb/s Ethernet links. Filippo Costa on behalf of the ALICE DAQ group

An Implementation Of Multiprocessor Linux

Avoiding pitfalls in PROFINET RT and IRT Node Implementation

UNIT 4 Software Development Flow

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

ARM Cortex -A8 SBC with MIPI CSI Camera and Spartan -6 FPGA SBC1654

ARM Thumb Microcontrollers. Application Note. Software ISO 7816 I/O Line Implementation. Features. Introduction

Long-term monitoring of apparent latency in PREEMPT RT Linux real-time systems

Microtronics technologies Mobile:

AN3332 Application note

RTAI. Antonio Barbalace (modified by M.Moro 2011) RTAI

73M1866B/73M1966B FXOCTL Application User Guide November 2, 2009 Rev. 4.1 UG_1x66B_009

SYSTEM ecos Embedded Configurable Operating System

Real-Time Operating Systems.

Operating Systems 4 th Class

HMI EMBEDDED SYSTEM DESIGN AS A FUNCTION OF TECU

Technical Training Module ( 30 Days)

DDS. 16-bit Direct Digital Synthesizer / Periodic waveform generator Rev Key Design Features. Block Diagram. Generic Parameters.

Freescale Variable Key Security Protocol Transmitter User s Guide by: Ioseph Martínez and Christian Michel Applications Engineering - RTAC Americas

How to design and implement firmware for embedded systems

The following is a summary of the key features of the ARM Injector:

XtratuM hypervisor redesign for LEON4 multicore processor

Medical Device Design: Shorten Prototype and Deployment Time with NI Tools. NI Technical Symposium 2008

Optimizing Application Performance with CUDA Profiling Tools

Real-time KVM from the ground up

Accurate Measurement of the Mains Electricity Frequency

AXI Performance Monitor v5.0

Application of Android OS as Real-time Control Platform**

Versions. Q.station Q.station T. Q.station D. Q.station DT x x

VIRTUOZZO TM FOR LINUX 2.6.1

Chapter 8: Installing Linux The Complete Guide To Linux System Administration Modified by M. L. Malone, 11/05

8051 MICROCONTROLLER COURSE

Embedded Systems. 6. Real-Time Operating Systems

Page 1 / 14 Groupe MOBILITECHMIOSBOX Technical Specification MWP-DT1010. Technical specifications

FSMD and Gezel. Jan Madsen

Chapter 13 Embedded Operating Systems

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

System Architecture Performance Modeling with SystemC

Serial port interface for microcontroller embedded into integrated power meter

Building Blocks for PRU Development

World-wide University Program

Outline. Introduction. Multiprocessor Systems on Chip. A MPSoC Example: Nexperia DVP. A New Paradigm: Network on Chip

i.mx USB loader A white paper by Tristan Lelong

Red Hat Linux Internals

7a. System-on-chip design and prototyping platforms

AN3252 Application note

Open Source Software

D5.6 Prototype demonstration of performance monitoring tools on a system with multiple ARM boards Version 1.0

FLYPORT Wi-Fi G

Chapter 1 Lesson 3 Hardware Elements in the Embedded Systems Chapter-1L03: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

EE8205: Embedded Computer System Electrical and Computer Engineering, Ryerson University. Multitasking ARM-Applications with uvision and RTX

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Software development and debugging for NXP ARM7 MCUs

Matrix 510/520 User Guide

Freescale Semiconductor, I

DAKTON µ BOX MANUAL µbox User Manual 1

Overview of the Cortex-M3

Using Xilinx ISE for VHDL Based Design

Lesson-16: Real time clock DEVICES AND COMMUNICATION BUSES FOR DEVICES NETWORK

Performance Comparison of RTOS

HANIC 100G: Hardware accelerator for 100 Gbps network traffic monitoring

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

MPX28. o UART, SD-CARD, I2C, PWM, Serial Audio, SPI Power management optimized for long battery life 3.3V I/O

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

A Practical Approach to Education of Embedded Systems Engineering

Digital Systems Design! Lecture 1 - Introduction!!

ES_LPC4357/53/37/33. Errata sheet LPC4357/53/37/33. Document information

Adding Pneumatic Preset Counter. Type 497. Continuously visible preset Integrated pneumatic reset 3 or 5-digit display Convenient button setting

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

RevNIC. Reverse Engineering of Binary Device Drivers. Vitaly Chipounov and George Candea School of Computer & Communica3on Sciences

CAN & LIN Development Tool CLDT1004 HS CAN

DEVELOPMENT OF DEVICES AND METHODS FOR PHASE AND AC LINEARITY MEASUREMENTS IN DIGITIZERS

The Real-Time Operating System ucos-ii

Deeply Embedded Real-Time Hypervisors for the Automotive Domain Dr. Gary Morgan, ETAS/ESC

Freescale Semiconductor, Inc. Product Brief Integrated Portable System Processor DragonBall ΤΜ

Transcription:

: integration and qualification of a real time operating system ARMadeus Systems Gwenhaël 8 july 2009 1 / 22

Plan 1 2 3 of in a Buildroot environment 4 5 6 2 / 22

: basics Real time extension for Linux. Second kernel in charge of real time tasks Linux stays in charge of shared time applications Keep existing working environment and applications Easy port of applications to a real time environment 3 / 22

: structure Adeos concurrent access to hardware software cooperative with Linux easy port of applications process Domain B Linux rt_task rt_task skins rt_task Domain A Nucleus Adeos/I pipe user space kernel space 4 / 22

platform APF9328 board: based on a Freescale i.mx CPU providing an ARM9 core 16 MB RAM Xilinx Spartan 3 FPGA shares data, adress and control busses with the CPU OE_n EB3_n Chip_Select Horloge Interruption 5 / 22

of No packages for in Buildroot framework manual install Patch: Ipipe provided by Adeos applied to Linux by prepare kernel Configure and compile kernel Compile and install libraries in user space Complex and time consuming Automated install Interaction with the kernel Libraries installs immediately 6 / 22

Presentation Objective: monitor the performances of applications. Concept: generate signals using dedicated hardware (synthesizer) and display the results on a digital storagescope. An application loads the system to disturb the periodic phenomenom Carte APF 9328 GPIO PA.6 PA.9 Lcd voie1 voie2 Oscilloscope Synthétiseur basse fréquence 7 / 22

: principle Two kinds of behaviours are observed: Periodic timer handling interrupt servicing Exemples are tested in user space and kernel space, Linux and. 8 / 22

Periodic timer handling: user space Linux declare a handler: sa.sa handler = isr ; sigaction (SIGVTARLM, &sa, NULL); trigger the counter: setitimer (ITIMER VIRTUAL, &timer, NULL); configure the counter: rt task set periodic (NULL, TM NOW,SLEEP); wait: rt task wait period (NULL); 40 ms incertitudes 9 / 22

Results: periodic timer in user space (a) Linux, 5ms/div (b), 20µs/div Linux min? -32 max? +74,9 10 / 22

: summary available on an ARM9 architecture Better global performances on a weakly loaded OS Better tolerance to loading Expensive, hardly convenient and not always suitable: 2 GS/s digital storagescope 40.000 euros. Connect GPIO outputs Results are not always usable (counter on Linux). 11 / 22

s : concept Purpose: no additional hardware no changes to the kernel LCD Principle: use the FPGA able to measure performances of several codes at a given time usable in user space and kernel space under Linux and. 12 / 22

Structure VHDL components: acquire and store mesurements generate signals kernel module: configure IPs. transfer (read) acquired data MACROS: atomic usable in user space and kernel space can be disabled 13 / 22

FPGA part Multiple measurements Compatible with data transfer on a Wishbone bus Uses POD IP_xxx logger i2cocore00 irq 14 / 22

VHDL components 15 / 22

Measurements Replaces the oscilloscope. Computes and stores the time differences between start and stop events START STOP RESET Store the current counter value 16 / 22

Measurements Replaces the oscilloscope. Computes and stores the time differences between start and stop events START STOP RESET recover the starting value comparison with the current value increase cycle number update min update max 16 / 22

Measurements Replaces the oscilloscope. Computes and stores the time differences between start and stop events START STOP RESET min max number of cycles duration of the test 16 / 22

Event gen Configurable signal generator Remplaces the dedicated hardware synthesizer Interaction with Measure and the application 17 / 22

Kernel module Access: /proc/driver /dev LOGGER GET ID LOGGER MEMBASE /proc/drivers/log 0 attr name type pid measures min max nb_trig nb_meas total_time params trigger ext_start ext_stop reset clock start stop add del prescaler 18 / 22

MACROS Known and deterministic access time memory mapped data transfers... i n t main ( void ) { OPEN LOGGER( ) ; CREATE ALL(nom) CREATE ALL( f o o ) ; OPEN LOGGER... FPGA START(nom) FPGA START( f o o ) ; // Code a t e s t e r FPGA STOP(nom) FPGA STOP( f o o ) ;... } 19 / 22

: summry Autonomous Simple to use Quantitative data oscilloscope tool min max min max Linux?? -1540 42439-32 +74,9-25 100 20 / 22

Buildroot Package available runs on APF9328. Embedded evaluation for quantitative analysis of applications and kernel modules 21 / 22

Questions questions? http://www.armadeus.org http://sourceforge.net/projects/periphondemand 22 / 22