ecos in commercial use the Sinar emotion Outline

Similar documents
PEEDI. Development tools Waidhausenstrasse 13/ Vienna Austria Tel: Fax: Web:

REAL TIME OPERATING SYSTEM PROGRAMMING-I: VxWorks

Firmware for Embedded Computing. National Chiao Tung University Chun-Jen Tsai 3/10/2011

Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright Jaluna SA. All rights reserved

Real-time for Windows NT

Lesson 5: Software for embedding in System- Part 2

Development Environment of Embedded System

CHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R. Bishop, LabVIEW 2009.

SE300 SWE Practices. Lecture 10 Introduction to Event- Driven Architectures. Tuesday, March 17, Sam Siewert

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

Designing Embedded Processors in FPGAs

Introduction to Real-Time Operating Systems with RTEMS

BRDS ( , WS 2017) Ulrich Schmid

Here to take you beyond. ECEP Course syllabus. Emertxe Information Technologies ECEP course syllabus

Linux Driver and Embedded Developer

5/11/2012 CMSIS-RTOS. Niall Cooling Feabhas Limited CMSIS. Cortex Microcontroller Software Interface Standard.

WIND RIVER DIAB COMPILER

Bluegiga Wi-Fi Software 9/19/2013 1

Eclipse development with GNU Toolchain

Lab Assignment Each team will independently implement the launch interceptor specification For this assignment, you re writing portable C code

Installation and Maintenance

6/20/2018. Lecture 2: Platforms & RTOS. Outline. Lab Setup (20 min) Labs work. Lecture: Platform + RTOS

The OS Wars. Success

QNX MOMENTICS ACCELERATE YOUR DEVELOPMENT WITH QNX MOMENTICS KNOCK WEEKS, EVEN MONTHS, OFF YOUR DEVELOPMENT SCHEDULE WITH THE

MDK-ARM Version 5. ULINK Debug Adapters. Microcontroller Development Kit.

CSE 237A Middleware and Operating Systems. Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego.

Interrupt response times on Arduino and Raspberry Pi. Tomaž Šolc

Compute Node Design for DAQ and Trigger Subsystem in Giessen. Justus Liebig University in Giessen

ZiLOG Real-Time Kernel Version 1.2.0

Overview. 1/13/ Preliminary Product Brief

Overview. 3//5/ Preliminary Product Brief

DIN EN ISO 9001:2000 certified ADDI-DATA GmbH Dieselstraße 3 D OTTERSWEIER Technical support: +49 (0)7223 / Introduction Linux drivers

Embedded Linux Architecture

Kernel Internals. Course Duration: 5 days. Pre-Requisites : Course Objective: Course Outline

RTOS, Linux & Virtualization Wind River Systems, Inc.

ProgRes Cameras Perfect Digital Imaging

Stellaris Robotic Evaluation Board and Micriµm µc/os-iii

Embedded Systems Programming

Porting AMS to RTEMS. Utilizing the Operating System Abstraction Layer (OSAL) David Edell

Overview The Microcontroller The Flex Board Expansion boards Multibus board Demo board How to: Compile demo Flash & Run Demos

REAL TIME OPERATING SYSTEM PROGRAMMING-II: II: Windows CE, OSEK and Real time Linux. Lesson-13: RT Linux

ecos User Guide Copyright 2001, 2002 by Red Hat, Inc. Copyright 2003 by ecoscentric Ltd. Documentation licensing terms Trademarks

Introduction to LEON3, GRLIB

Benchmark and comparison of real-time solutions based on embedded Linux

VxWin RT. KUKA Roboter GmbH Blücherstrasse 144 D Augsburg Folie 1

μc/probe on the element14 BeagleBone Black

Outline. Threads. Single and Multithreaded Processes. Benefits of Threads. Eike Ritter 1. Modified: October 16, 2012

Chapter 4: Multi-Threaded Programming

Tile Processor (TILEPro64)

Zilog Real-Time Kernel

Building Robust Embedded Software

A Boot-Strap Loader and Monitor for SPARC LEON2/3/FT

SMALL, FAST, ROYALTY-FREE RTOS

CEC 450 Real-Time Systems

Model Based Development of Embedded Control Software

Blackfin cross development with GNU Toolchain and Eclipse

What is this? How do UVMs work?

Palm Platform Hardware Intro to the Palm OS and application programming

D1 - Embedded Linux. Building and installing an embedded and real-time Linux platform. Objectives. Course environment.

Chapter. Overview. Tornado BSP Training Workshop Copyright Wind River Systems 1-1 Wind River Systems

Bootstrap, Memory Management and Troubleshooting. LS 12, TU Dortmund

FOR IOT PRODUCT DEVELOPMENT

Getting Started with ecos

Software Design Challenges for heterogenic SOC's

Fiji VM Safety Critical Java

Building an embedded software IDE on top of Eclipse

Embedded Systems. 5. Operating Systems. Lothar Thiele. Computer Engineering and Networks Laboratory

Chapter 5: Threads. Overview Multithreading Models Threading Issues Pthreads Windows XP Threads Linux Threads Java Threads

RT extensions/applications of general-purpose OSs

ECE 574 Cluster Computing Lecture 8

is the ability to capture and reproduce the perfection of nature.

Govt. of Karnataka, Department of Technical Education Diploma in Computer Science Sixth Semester. Contact Hrs / week: 4 Total hrs: 64

EMBEDDED SOFTWARE DEVELOPMENT. George Hadley 2017, Images Property of their Respective Owners

GLOSSARY. VisualDSP++ Kernel (VDK) User s Guide B-1

Mobile Operating Systems Lesson 01 Operating System

USB / Ethernet Production Ready Module

Module 9 ARM 7 Microcontroller LPC2148 Programming ARM Architecture, LPC2148 specifications, Register architecture, Special function registers, KEIL I

RetroBSD - a minimalistic Unix system. Igor Mokoš bsd_day Bratislava

TQ2440 Development Platform Manual

Somes French translations :

A new architecture for real-time control in RFX-mod G. Manduchi, A. Barbalace Big Physics Symposium 1/16

Chapter 6A. Describing Storage Devices. Describing Storage Devices. Types of Storage Devices. Store data when computer is off Two processes

CEC 450 Real-Time Systems

April 4-7, 2016 Silicon Valley

EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG

AUGER NORTH Station controller R&D report. J-M.Brunet, S.Colonges, B.Courty, Y.Desplanches, L.Guglielmi, G.Tristram APC Laboratory CNRS / IN2P3

Embedded Operating Systems. Unit I and Unit II

AT-501 Cortex-A5 System On Module Product Brief

esi-risc Development Suite Getting Started Guide

What is a Real Time Operating System?

ReconOS: An RTOS Supporting Hardware and Software Threads

Four Components of a Computer System

Introduction to Embedded Bootloader. Intel SSG/SSD/UEFI

The e-rt3 Plus Real-time-OS-based Controller with Excellent Usability

IBM Rational Rose Technical Developer

Efficiency and memory footprint of Xilkernel for the Microblaze soft processor

Distribution of the work or derivative of the work is permitted for Non-Commercial * use only.

CS Operating Systems

RTEMS Release Notes. On-Line Applications Research Corporation. Edition 1, for RTEMS beta3. May 2000

openpowerlink over Xenomai

Transcription:

ecos in commercial use the Sinar emotion Outline Introduction Sinar emotion Overview Operating Systems Application Design ecos Development Environment Roundup Dipl.Ing. Alexander Neundorf <alexander.neundorf AT jenoptik.com> Jenoptik Laser, Optik, Systeme GmbH 1

Introduction Jenoptik LOS GmbH / Sensor Systems located in Jena, Germany, Saalecon Valley 500 employees highly specialized products digital cameras, thermography cameras, optical modulators and more 2

Sinar emotion characteristics digital back for medium format cameras 22 and 33 megapixel 14 bit CCD sensors up to 50 images/minute 6 GB internal flash for up to 120 raw image files CF card, Firewire Compatible to Hasselblad H1, Sinar m, generic X contact, Mamiya 645 AFD, Contax 645 Projekt "Buenos Aires" Kickoff Meeting 2006 09 14 3

A typical microscopy camera ProgRes tethered operation only MS Windows, Mac OS X, Linux high quality raw images high frame rates CCD sensor FPGA Firewire GPIO interfacing C Compiler, no OS << 1 MB RAM 16bit uc << 1 MB Flash 4

Hardware concept and requirements 6 GB Flash fast startup, < 5 s fast interrupt response,<< 125 us Firewire, CF + FAT16/32 driver CCD sensor FPGA Firewire high data throughput simple GUI, i18n optimized image processing CF card 128 MB RAM safe update mechanism high quality raw images PXA 255 16 MB Flash Camera interface Display Keys 5

Embedded Operating Systems (1) Roll-your-own high effort, 1 developer, untested -> buggy, no support, no drivers, no docs,... QNX, VxWorks high initial costs, no previous experience commercial RTOS, high end, some drivers/software available local commercial support RTEMS open source RTOS, some drivers/software available no experience/contacts, no local commercial support 6

Embedded Operating Systems (2) Linux long startup time (5..10s), very complex, no RTOS, separation kernel/userspace (only) some experience, firewire driver? community and local commercial support, many drivers/software available Windows CE only up to 32 MB per process, separation kernel/userspace, royalties no experience, commercial RTOS, medium costs, firewire driver? local commercial support, many drivers/software available ecos not too many users/developers open source RTOS, some drivers/software available low cost, Linux synthetic target, fast startup, direct hardware access, easy firewire driver porting, community and local commercial support 7

ecos the embedded Configurable operating system started by Cygnus, then RedHat, now ecoscentric Inc. one static application image, runnable in RAM and ROM ( XIP ) multithreaded RT kernel, single user, single process GNU toolchain: reliable and standard conformant C/C++ compiler highly portable: x86, ARM, MIPS, PowerPC, Sparc and more small footprint, e.g. ARM7 40 Mhz with 32 KB RAM, 64 KB ROM development platforms Linux and Windows/cygwin C library: input/output, math, etc., parts of POSIX FreeBSD TCP/IP stack highly configurable 8

Application architecture Messagebus ecos with C++ app Sinar Mamiya Camera Interface Hasselblad Acquisition Control FPGA Register CFStorage FirewireControl CF/FAT driver Firewire driver GUIControl FPGA DSR FPGA ISR GUI Library Hardware 9

Usage of ecos in the emotion (1) Timeline start 04/2004, demonstration at Photokina 09/2004, shipping 01/2005 Linux synthetic target + Qvfb -> develop without hardware Bootloader Redboot running after two weeks Realtime issues ecos enables realtime applications deterministic scheduler, highest priority thread runs sync. primitives: mutex, semaphore, message queue, condition and more multi-stage interrupt handling: ISR -> DSR (Deferred service routine) -> thread avg. interrupt response time: 5 us (PXA 255, 200 Mhz) no dynamic memory allocation in the kernel (neither in the application) Licensing GPL + exception: allows closed source application and 3rd party software no GPL (or LGPL) software usable with closed source application 10

Usage of ecos in the emotion (2) GUI simple custom GUI with i18n Alternatives: SwellSoftware PEG (Portable Embedded GUI), commercial MiniGUI (Beijing Feynman Software Inc.), GPL/commercial MicroWindows, free (Mozilla Public License) drawing primitives, X API, e.g. FLTK, Win32 API not appropriate: PicoGUI (dead), Qt/E (quite big) Drivers custom drivers for SPI, I2C, FPGA, display, keys since 2005/2006: SPI and I2C framework in ecos Firewire: Jenoptik driver ported CF + FAT16/32: commercial 3rd party driver CF/MMC driver with FAT16/32 in ecos 11

Development environment Linux: KDevelop, CuteCom Windows: cygwin, Eclipse/Programmers Notepad, Insight, Terminal Bray++ CMake buildsystem Linux: Makefiles and KDevelop projects Windows: cygwin and nmake Makefiles ecos from cvs 12

Debugging CYG_TRACE(bool, <format str>, args); CYG_ASSERT(bool, <format str>); Debugging via gdb: serial line, ethernet Windows: Insight, Eclipse Linux: Insight, Eclipse, KDevelop, ddd, kdbg JTAG debuggers: Abatron BDI2000, Ronetix PEEDI: gdb compatible 13

Software quality measures Source control system: cvs Bug and issue tracking: Trac (http://trac.edgewall.org) CMake -> easy integration with Dart2 (http://www.cmake.org) Dart2 software quality server (http://www.na-mic.org/wiki/index.php/dartsummary) continuous and nightly builds including unit tests Coding style: KWStyle (http://public.kitware.com/kwstyle/) 14

Roundup emotion shipping since 2005, more projects in work core components stable and basically bug free instant startup (<< 1 s, application dependent) community and commercial support available low system complexity - easy transition from non OS projects suited for single purpose devices configurability partly many preprocessor directives GPL+exception: good for the companies, bad for contributing back thorough patch review ecos cvs always stable, but slow progress Contributions: some bug fixes, failsafe update mechanism, USB 2.0 support pending 15