The Erika Kernel

Total Page:16

File Type:pdf, Size:1020Kb

The Erika Kernel The Erika Kernel Dr. Paolo Gai Evidence S.r.l. Pisa, Italy Email: [email protected] FLEX boards a quick introduction …in collaboration with 2 some details …and also… FLEX Others • cheap! (99-119 €) • switching power supply • small size (7x10 cm) • big! • 100 pin dsPIC • limited pin counts MCU • resettable fuses • all pins free on connectors • most of the pins used for • dsPIC programming from USB (march 2008) LEDs, buttons, … • 2.54 pitch, • difficult to expand! • daughter boards (Thru Hole, CAN, Ethernet, SPI, no SMD expertise required! RS232, RS485, RS422, …) • PIC18 for USB connection • no USB • software included 3 4 hardware – Flex Light hardware – Flex Full 5 6 board layout thru hole and multibus board Available: add-on boards • Thru Hole • MltibsMultibus (2xCAN, SPI, I2C, Serial, Main processing board 232, 485, 422, TTL, Ethernet) 7 8 demo board demo2 (motion) board 2 DC motors+2Enc plugin LCD 2x16 2 Servo+touchscreen plugin 8 LED 4 buttons Ethernet 3-axis Accelerometer CAN 2 DAC Serial module Temperature sensor I2C (Lego NXT) Light sensor Dip switch Infrared I/O buttons RS232/485/422 socket leds zigbee connector 3-axis accelerometer buzzer Zigbee connector potentiometer trimmer IR in-out eeprom serial I/O 9 10 FLEX mini Amazing Ball PIC24FJ64JA004 (16 Mhz) Ball & plate PIC battery monitor Real-time clock demo2 board 1KB Serial EEProm 2 servo motors ZigBee touchscreen Pins for PICkit programming power supply 3-axis accelerometer Buzzer ScicosLab support Thermal sensor Light sensor 2 x DIP switches 2 x LEDs 9 V battery connector + DC in jack 11 12 summary • ERIKA Enterprise features • comparison of the various versions ERIKA Enterprise • OIL definition for Microchip dsPIC ® DSC Configuration details 13 14 erika enterprise - features http://erika.tuxfamily.org supported API • OSEK OS (BCC1, BCC2, ECC1, ECC2) • OSEK OIL 1.4.1 ERIKA Enterprise • OSEK ORTI 2.1.1 for Lauterbach Trace32 support for • basic (with stack sharing) / extended tasks • resources • events • hooks • alarms 15 16 erika enterprise erika enterprise – licensing and RT-Druid currently available for ERIKA is distributed under the GPL with linking exception • Microchip dsPIC license (also known as GNU Crosstool license) • ARM7TDMI (Samsung KS32C50100, UniBo MPARM) • AVR • Nios II (with multicore support) ERIKA Enterprise is available together with the RT-Druid • ARM7TDMI (Triscend A7, ST Janus, ST STA2051) IDE code generator • Tricore 1.3 • PPC e200 z7 Mamba • PIC32 (will soon be released under the EPL) • Lattice MICO32 and also for • Hitachi H8 (RCX/Lego Mindstorms) • integrated into Eclipse • C167/ST10 (Ertec EVA 167, tiny/large mem. model) • code generation for ERIKA Enterprise 17 18 comparison comparison (2) *CC* FP, EDF, FRSH Error Handling and Hooks Conformance classes • error codes, standard and • No extended status • BCC1, BCC2, • FP (similar to BCC2, ECC1, ECC2 or ECC2 if multistack), EDF, • support for ErrorHook and • No FRSH macros Startup /Shutdown PreTaskHook / PostTaskHook • StartOS, application modes, • No, the main is already the • Support for PreTaskHook and • No StartupHook, autostartSystem main thread! PostTaskHook / nothing Shutdown • ShutdownOS and • No ORTI ShutdownHook • Yes (Nios II) • Yes (FRSH on Nios II) 19 20 comparison (3) comparison (4) Task Number of pending activations • TerminateTask and ChainTask • No (less RAM!) • BCC1 and ECC1 = only one • the number of pending pending activation. activations as an integer value, Informations on tasks BCC2 and ECC2 = more than maximum value is one (in OIL file), activations of implementation dependent. No • GetTaskID and GetTaskState • No (monostack does not have a task state!) tasks with same priorities in FIFO order. FIFO order Basic / extended tasks • Basic and Extended Tasks • blocking primitives to be called within tasks with a private Events stack • Yes, in ECC1 and ECC2 • No 21 22 comparison (5) erika enterprise Blocking / non-blocking • OSEK BCC1, monostack, 2 Tasks, 1 resource, dsPIC semaphores Code footprint (24-bit instructions): 379 (1137 bytes) • ECC1/ECC2 Blocking and non • Semaphore primitives only in • ISR2 stub (for each IRQ) 27 blocking semaphores multistack configuration. • IRQ end 36 • BCC1/BCC2 non blocking • Synchronization objects • kernel global functions 99 semaphores available for FRSH • ActivateTask 57 • GetResource 12 Primitives for disabling interrupts • ReleaseResource 41 • Yes • No • StartOS 26 • Task end (TerminateTask) 81 Data footprint (bytes) • ROM 18 • RAM 52 23 24 erika enterprise board support for dsPIC • FP kernel, monostack, 4 tasks, 1 resource, dsPIC ERIKA Enterprise supports the following boards: • Evidence / Embedded Solutions FLEX board Code footprint (24-bit instructions): 244 (732 bytes) supported devices: LEDs, various external devices using add-on • ISR2 stub (for each IRQ) 24 boards • IRQ end 23 • Microchip Explorer 16 • kernel global functions 67 • ActivateTask 43 both PIC33 and PIC24 • GetResource + ReleaseResource 42 supported devices: LEDs, Buttons, LCD, Analog • Task end 45 • Microchip dsPICDEM 1.1 Plus supported devices: LEDs, Buttons, LCD, Analog, Data footprint (bytes) Audio (tbd) • ROM 26 • RAM 42 25 26 OIL for EE OIL (OS object) • the OIL presented in the following slides is a subset of definition example the OSEK OIL standard OIL_VERSION = "2.4"; CPU mySystem { IMPLEMENTATION ee { • it is a quick tutorial to the OIL definition which can be OS { OS myOs { used for ERIKA Enterprise on the Microchip dsPIC ® STRING EE_OPT[]; EE_OPT = "DEBUG"; DSC STRING CFLAGS[]; EE_OPT = “MYDEFINE”; STRING ASFLAGS[]; • tocolmnstwo columns STRING LDFLAGS[]; CFLAGS = – the first column contains the definition STRING LDDEPS[]; "-IC:/…/scicos"; STRING LIBS[]; – the second column contains examples BOOLEAN USERESSCHEDULER = USERESSCHEDULER = FALSE; • it does not include EDF or FRSH OIL details TRUE; […] 27 28 OIL (OS object : CPU data) OIL (OS object : MCU data) definition example ENUM [ MCU_DATA = PIC30 { ENUM [ PIC30 { MODEL = PIC33FJ256GP710; CPU_DATA = PIC30 { […] ENUM [ }; PIC30 { APP_SRC = "code.c"; CUSTOM { STRING APP_SRC[]; MULTI_STACK = FALSE; ICD2 = TRUE; STRING MODEL; BOOLEAN [ MCU_DATA = PIC30 { TRUE { }; STRING LINKERSCRIPT; MODEL = CUSTOM { BOOLEAN [ STRING DEV_LIB; TRUE { LINKERSCRIPT = UINT32 SYSSYS_SIZE; SIZE; CPU_DATA = PIC30 { STRING INCLUDE_C; "p33FJ256GP710.gld"; }, APP_SRC = "code.c"; STRING INCLUDE_S; DEV_LIB = FALSE MULTI_STACK = TRUE { }, "libp33FJ256GP710-elf.a"; IRQ_STACK = TRUE { ] IRQ_STACK; PIC24FJ128GA006, INCLUDE_C = }, SYS_SIZE=64; "p33FJ256GP710.h"; }; PIC24FJ128GA008, FALSE INCLUDE_S = ] MULTI_STACK = FALSE; }; […] "p33FJ256GP710.inc"; ICD2 = TRUE; BOOLEAN ICD2 = FALSE; ] MODEL; }; ENABLE_SPLIM = TRUE; BOOLEAN ENABLE_SPLIM = TRUE; } }; }, }; ] CPU_DATA[]; ] MCU_DATA; 29 30 OIL (OS Object: board data) OIL (OS Object: libraries and kernel type) ENUM [ BOARD_DATA = ENUM [ definitionLIB = ENABLE example { NO_BOARD, MICROCHIP_EXPLORER16 { ENABLE { NAME = SCICOS; EE_FLEX { USELEDS = TRUE; STRING NAME; }; BOOLEAN USELEDS; USEBUTTONS = TRUE; } }, USELCD = TRUE; MICROCHIP_EXPLORER16 { USEANALOG = TRUE; ] LIB; KERNEL_TYPE = FP; BOOLEAN USELEDS; }; }; BOOLEAN USEBUTTONS; ENUM [ BOOLEAN USELCD; BOARD_DATA = EE_FLEX { FP { BOOLEAN USEANALOG; USELEDS = TRUE; BOOLEAN NESTED_Q; IRQ; } }; }, MICROCHIP_DSPICDEM11PLUS { BCC1, BOOLEAN USELEDS; BOARD_DATA = BOOLEAN USEBUTTONS; MICROCHIP_DSPICDEM11PLUS { BCC2, BOOLEAN USELCD; USELEDS = TRUE; ECC1, BOOLEAN USEANALOG; USEBUTTONS = TRUE; ECC2 BOOLEAN USEAUDIO; USELCD = TRUE; ] KERNEL_TYPE; } }; }; … ] BOARD_DATA = NO_BOARD; 31 32 OIL (tasks) OIL (resources) TASK { TASK TaskFlash { RESOURCE { TASK LowTask { UINT32 PRIORITY; PRIORITY = 1; ENUM [ RESOURCE = "myResource"; UINT32 ACTIVATION = 1; STACK = SHARED; STANDARD { […] ENUM [NON, FULL] SCHEDULE; SCHEDULE = FULL; STRING APP_SRC[]; }; TYPE RESOURCE[]; }; }, ENUM [ […] RESOURCE myResource { SHARED, TASK Producer { PRIVATE { PRIORITY = 2; ] RESOURCEPROPERTY; RESOURCEPROPERTY=STANDARD; UINT32 SYS_; SIZE; STACK = PRIVATE { }; }; } SYS_SIZE = 64; ] STACK = SHARED; }; }; SCHEDULE = FULL; }; 33 34 OIL (counters and alarms) COUNTER { COUNTER myCounter; […] }; ALARM AlarmFlash { ALARM { COUNTER = "myCounter"; COUNTER_TYPE COUNTER; ACTION = ACTIVATETASK { ENUM [ TASK = "TaskFlash"; ACTIVATETASK { }; TASK_TYPE TASK; }; }, […] ALARMCALLBACK { STRING ALARMCALLBACKNAME; } ] ACTION; }; }; 35 Real-time kernels for embedded systems part I Paolo Gai embedded systems Evidence Srl - http://www.evidence.eu.com typical features Evidence Srl - [email protected] – 2008 Evidence Srl - [email protected] – 2008 software used in automotive systems typical microcontroller features The software in powertrain systems let's try to highlight a typical scenario that applies to embedde boot and microcontroller related features platforms real-time operating system embedded microcontroller provides abstractions (for example: task, semaphores, …) depending on the project, that microcontroller will be @ 8, 16, or 32 an interaction model between hardware and application bit separates behavior from infrastructures typically comes with a rich set of interfaces debugging simplification timers (counters / CAPCOM / Watchdog / PWM) A/D and D/A I/O Libraries communication interfaces (I2C, RS232, CAN, Infrared, ...) completes the OS with the support of the platform HW ~50 interrupts (the original PC interrupt controller had only 15!!!) 10 times bigger than a minimal OS memory application SRAM / FLASH / ... implements only the behavior and not the infrastructures
Recommended publications
  • Tinyos Meets Wireless Mesh Networks
    TinyOS Meets Wireless Mesh Networks Muhammad Hamad Alizai, Bernhard Kirchen, Jo´ Agila´ Bitsch Link, Hanno Wirtz, Klaus Wehrle Communication and Distributed Systems, RWTH Aachen University, Germany [email protected] Abstract 2 TinyWifi We present TinyWifi, a nesC code base extending TinyOS The goal of TinyWifi is to enable direct execution of to support Linux powered network nodes. It enables devel- TinyOS applications and protocols on Linux driven network opers to build arbitrary TinyOS applications and protocols nodes with no additional effort. To achieve this, the Tiny- and execute them directly on Linux by compiling for the Wifi platform extends the existing TinyOS core to provide new TinyWifi platform. Using TinyWifi as a TinyOS plat- the exact same hardware independent functionality as any form, we expand the applicability and means of evaluation of other platform (see Figure 1). At the same time, it exploits wireless protocols originally designed for sensornets towards the customary advantages of typical Linux driven network inherently similar Linux driven ad hoc and mesh networks. devices such as large memory, more processing power and higher communication bandwidth. In the following we de- 1 Motivation scribe the architecture of each component of our TinyWifi Implementation. Although different in their applications and resource con- straints, sensornets and Wi-Fi based multihop networks share 2.1 Timers inherent similarities: (1) They operate on the same frequency The TinyOS timing functionality is based on the hardware band, (2) experience highly dynamic and bursty links due to timers present in current microcontrollers. A sensor-node radio interferences and other physical influences resulting in platform provides multiple realtime hardware timers to spe- unreliable routing paths, (3) each node can only communi- cific TinyOS components at the HAL layer - such as alarms, cate with nodes within its radio range forming a mesh topol- counters, and virtualization.
    [Show full text]
  • Shared Sensor Networks Fundamentals, Challenges, Opportunities, Virtualization Techniques, Comparative Analysis, Novel Architecture and Taxonomy
    Journal of Sensor and Actuator Networks Review Shared Sensor Networks Fundamentals, Challenges, Opportunities, Virtualization Techniques, Comparative Analysis, Novel Architecture and Taxonomy Nahla S. Abdel Azeem 1, Ibrahim Tarrad 2, Anar Abdel Hady 3,4, M. I. Youssef 2 and Sherine M. Abd El-kader 3,* 1 Information Technology Center, Electronics Research Institute (ERI), El Tahrir st, El Dokki, Giza 12622, Egypt; [email protected] 2 Electrical Engineering Department, Al-Azhar University, Naser City, Cairo 11651, Egypt; [email protected] (I.T.); [email protected] (M.I.Y.) 3 Computers & Systems Department, Electronics Research Institute (ERI), El Tahrir st, El Dokki, Giza 12622, Egypt; [email protected] 4 Department of Computer Science & Engineering, School of Engineering and Applied Science, Washington University in St. Louis, St. Louis, MO 63130, 1045, USA; [email protected] * Correspondence: [email protected] Received: 19 March 2019; Accepted: 7 May 2019; Published: 15 May 2019 Abstract: The rabid growth of today’s technological world has led us to connecting every electronic device worldwide together, which guides us towards the Internet of Things (IoT). Gathering the produced information based on a very tiny sensing devices under the umbrella of Wireless Sensor Networks (WSNs). The nature of these networks suffers from missing sharing among them in both hardware and software, which causes redundancy and more budget to be used. Thus, the appearance of Shared Sensor Networks (SSNs) provides a real modern revolution in it. Where it targets making a real change in its nature from domain specific networks to concurrent running domain networks. That happens by merging it with the technology of virtualization that enables the sharing feature over different levels of its hardware and software to provide the optimal utilization of the deployed infrastructure with a reduced cost.
    [Show full text]
  • Efficient Scheduling Library for Freertos
    DEGREE PROJECT IN INFORMATION AND COMMUNICATION TECHNOLOGY, SECOND CYCLE, 30 CREDITS STOCKHOLM, SWEDEN 2016 Efficient Scheduling Library for FreeRTOS ROBIN KASE KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF INFORMATION AND COMMUNICATION TECHNOLOGY Efficient Scheduling Library for FreeRTOS ROBIN KASE Master’s Thesis at KTH Information and Communication Technology Supervisor: Kenji Kise (Tokyo Institute of Technology) Examiner: Johnny Öberg (KTH) TRITA-ICT-EX-2016:166 Abstract At present, there is a gap between practical implementations of task scheduling on numerous popular Real-Time Operating Systems (RTOSs) and theoretical real-time scheduling. It is difficult to choose what theoretical real-time scheduling concepts to implement when designing a kernel, as theoretical concepts grow and improve over time. Furthermore, the kernel can be kept simpler when offering only simple fixed priority scheduling policy, as advanced scheduling features often require more com- plex implementation and larger overhead. By offering a real-time scheduling library implemented in user space, the user can choose whether to skip the overhead, or use more advanced theories. At the moment there exists already several scheduling frameworks for FreeRTOS. However, they are either difficult to use, not completely implemented in user space, or not providing various theoretical scheduling policies. An open source scheduling library for FreeRTOS implemented in user space that is user friendly and runs with low overhead, Efficient Scheduling Library (ESFree) is proposed. The proposed scheduling library provides polling server that runs aperiodic and sporadic jobs, dependable timing error detection and handling, Rate-Monotonic Scheduling (RMS), Deadline-Monotonic Scheduling (DMS) and Earliest Deadline First (EDF) scheduling policies to provide theoretical real-time scheduling features to speed up development of complex projects, and make FreeRTOS friendlier to students who have newly studied real-time scheduling.
    [Show full text]
  • Low Power Or High Performance? a Tradeoff Whose Time
    Low Power or High Performance? ATradeoffWhoseTimeHasCome(andNearlyGone) JeongGil Ko1,KevinKlues2,ChristianRichter3,WanjaHofer4, Branislav Kusy3,MichaelBruenig3,ThomasSchmid5,QiangWang6, Prabal Dutta7,andAndreasTerzis1 1 Department of Computer Science, Johns Hopkins University 2 Computer Science Division, University of California, Berkeley 3 Australian Commonwealth Scientific and Research Organization (CSIRO) 4 Department of Computer Science, Friedrich–Alexander University Erlangen–Nuremberg 5 Department Computer Science, University of Utah 6 Department of Control Science and Engineering, Harbin Institute of Technology 7 Division of Computer Science and Engineering, University of Michigan, Ann Arbor Abstract. Some have argued that the dichotomy between high-performance op- eration and low resource utilization is false – an artifact that will soon succumb to Moore’s Law and careful engineering. If such claims prove to be true, then the traditional 8/16- vs. 32-bit power-performance tradeoffs become irrelevant, at least for some low-power embedded systems. We explore the veracity of this the- sis using the 32-bit ARM Cortex-M3 microprocessor and find quite substantial progress but not deliverance. The Cortex-M3, compared to 8/16-bit microcon- trollers, reduces latency and energy consumption for computationally intensive tasks as well as achieves near parity on code density. However, it still incurs a 2 overhead in power draw for “traditional” sense-store-send-sleep applica- tions.∼ × These results suggest that while 32-bit processors are not yet ready for applications with very tight power requirements, they are poised for adoption ev- erywhere else. Moore’s Law may yet prevail. 1Introduction The desire to operate unattended for long periods of time has been a driving force in de- signing wireless sensor networks (WSNs) over the past decade.
    [Show full text]
  • Download The
    ERIKA Enterprise Current limitations and possible solutions Version: 7 February 11, 2016 DRAFT About Evidence S.r.l. Evidence is a company operating in the field of software for embedded real-time systems. It started in 2002 as a spin-off company of the Real-Time Systems (ReTiS) Lab of the Scuola Superiore Sant'Anna (Pisa, Italy). Today, Evidence is a dynamic company having collaborations in the field of electronics, telecommunications, automotives, and industrial automation. People at Evidence are experts in the domain of embedded and real-time systems, with a deep knowledge on the design and specification flow of embedded software, especially for the embedded market. Besides providing consultancy services, Evidence also provides: BSPs based on Linux for embedded devices, evaluation boards featuring most innovative 8, 16 and 32-bit microcontrollers for the embedded market, development tools for making embedded software development easier, and tools for the schedulability analysis of real-time tasks running on your final product. For more information see: http://www.evidence.eu.com Contact Info Evidence Srl, Via Carducci 56 Localit`aGhezzano 56010 S.Giuliano Terme PISA Italy Tel: +39 050 99 11 224 Fax: +39 050 99 10 812 For more information about Evidence products, please send an e-mail to the follow- ing address: [email protected]. Other information about the Evidence product line can be found at the Evidence web site at: http://www.evidence.eu.com. This document is Copyright 2011-2015 Evidence S.r.l. Information and images contained within this document are copyright and the property of Evidence S.r.l.
    [Show full text]
  • A Comparative Study Between Operating Systems (Os) for the Internet of Things (Iot)
    VOLUME 5 NO 4, 2017 A Comparative Study Between Operating Systems (Os) for the Internet of Things (IoT) Aberbach Hicham, Adil Jeghal, Abdelouahed Sabrim, Hamid Tairi LIIAN, Department of Mathematic & Computer Sciences, Sciences School, Sidi Mohammed Ben Abdellah University, [email protected], [email protected], [email protected], [email protected] ABSTRACT Abstract : We describe The Internet of Things (IoT) as a network of physical objects or "things" embedded with electronics, software, sensors, and network connectivity, which enables these objects to collect and exchange data in real time with the outside world. It therefore assumes an operating system (OS) which is considered as an unavoidable point for good communication between all devices “objects”. For this purpose, this paper presents a comparative study between the popular known operating systems for internet of things . In a first step we will define in detail the advantages and disadvantages of each one , then another part of Interpretation is developed, in order to analyze the specific requirements that an OS should satisfy to be used and determine the most appropriate .This work will solve the problem of choice of operating system suitable for the Internet of things in order to incorporate it within our research team. Keywords: Internet of things , network, physical object ,sensors,operating system. 1 Introduction The Internet of Things (IoT) is the vision of interconnecting objects, users and entities “objects”. Much, if not most, of the billions of intelligent devices on the Internet will be embedded systems equipped with an Operating Systems (OS) which is a system programs that manage computer resources whether tangible resources (like memory, storage, network, input/output etc.) or intangible resources (like running other computer programs as processes, providing logical ports for different network connections etc.), So it is the most important program that runs on a computer[1].
    [Show full text]
  • RIOT: One OS to Rule Them All in the Iot Emmanuel Baccelli, Oliver Hahm
    RIOT: One OS to Rule Them All in the IoT Emmanuel Baccelli, Oliver Hahm To cite this version: Emmanuel Baccelli, Oliver Hahm. RIOT: One OS to Rule Them All in the IoT. [Research Report] RR-8176, 2012. hal-00768685v1 HAL Id: hal-00768685 https://hal.inria.fr/hal-00768685v1 Submitted on 3 Jan 2013 (v1), last revised 16 Jan 2013 (v3) HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. RIOT: One OS to Rule Them All in the IoT E. Baccelli, O. Hahm RESEARCH REPORT N° 8176 December 2012 Project-Team HiPERCOM ISSN 0249-6399 ISRN INRIA/RR--8176--FR+ENG RIOT: One OS to Rule Them All in the IoT E. Baccelli, O. Hahm ∗ Project-Team HiPERCOM Research Report n° 8176 — December 2012 — 10 pages Abstract: The Internet of Things (IoT) embodies a wide spectrum of machines ranging from sensors powered by 8-bits microcontrollers, to devices powered by processors roughly equivalent to those found in entry-level smartphones. Neither traditional operating systems (OS) currently running on internet hosts, nor typical OS for sensor networks are capable to fulfill all at once the diverse requirements of such a wide range of devices.
    [Show full text]
  • A Fully Open-Source Platform for Automotive Systems
    A fully Open-Source Platform for Automotive Systems Implementation by Paolo Gai, CEO Evidence Srl Bruno Morelli, Evidence Srl 2 The company Founded in 2002, we do custom design and development of software for small embedded devices ~20 qualified people with an average age of 34 years, 30% PhD Experience in automotive, industrial, white goods RTOS and MCU skills • OSEK/VDX, AUTOSAR, • Automatic code generation Embedded Linux skills • 8 Yrs experience in custom BSPs, U-Boot, kernel drivers, • Initial developers of the SCHED_DEADLINE patch 3 Everything in one slide • We created a completely Open-source solution for Automotive systems + • Linux for HMI, communication and logging • ERIKA Enterprise for real-time performance and control • We will show a demo on a dual core Freescale iMX6 • http://erika.tuxfamily.org • Free RTOS for automotive devices • Open-source license , static linking of closed source code • ERIKA Enterprise is the first and only OSEK/VDX certified open-source RTOS 4 Agenda • IVI system requirements and multicore devices • Main features of Erika Enterprise • Success stories • Towards a fully integrated Open-Source solution with Linux and Erika Enterprise • (some) implementation details • Demo on Freescale iMX6 5 Main Requirements of future IVI systems • Fast Boot • there must be a subsystem ready to go in a few ms • Linux boot times are usually in the order of seconds • Real-Time support • there must be a subsystem with real-time performance • e.g. CAN Bus, motor control • Quality of Service • IVI applications need soft-realtime
    [Show full text]
  • ERIKA Enterprise Basic Manual
    ERIKA Enterprise Basic Manual ...multithreading on a thumb! version: 1.1.2 July 18, 2008 About Evidence S.r.l. Evidence is a spin-off company of the ReTiS Lab of the Scuola Superiore S. Anna, Pisa, Italy. We are experts in the domain of embedded and real-time systems with a deep knowledge of the design and specification of embedded SW. We keep providing signifi- cant advances in the state of the art of real-time analysis and multiprocessor scheduling. Our methodologies and tools aim at bringing innovative solutions for next-generation embedded systems architectures and designs, such as multiprocessor-on-a-chip, recon- figurable hardware, dynamic scheduling and much more! Contact Info Address: Evidence Srl, c/o Incubatore Pont-Tech Viale Rinaldo Piaggio, 32 56025 Pontedera (PI), Italy Tel: +39 0587 274 823 Fax: +39 0587 291 904 For more information on Evidence Products, please send an e-mail to the following address: [email protected]. Other informations about the Evidence product line can be found at the Evidence web site at: http://www.evidence.eu.com. This document is Copyright 2005-2008 Evidence S.r.l. Information and images contained within this document are copyright and the property of Evidence S.r.l. All trademarks are hereby acknowledged to be the properties of their respective owners. The information, text and graphics contained in this document are provided for information purposes only by Evidence S.r.l. Evidence S.r.l. does not warrant the accuracy, or completeness of the information, text, and other items contained in this document.
    [Show full text]
  • Embedded Operating Systems
    7 Embedded Operating Systems Claudio Scordino1, Errico Guidieri1, Bruno Morelli1, Andrea Marongiu2,3, Giuseppe Tagliavini3 and Paolo Gai1 1Evidence SRL, Italy 2Swiss Federal Institute of Technology in Zurich (ETHZ), Switzerland 3University of Bologna, Italy In this chapter, we will provide a description of existing open-source operating systems (OSs) which have been analyzed with the objective of providing a porting for the reference architecture described in Chapter 2. Among the various possibilities, the ERIKA Enterprise RTOS (Real-Time Operating System) and Linux with preemption patches have been selected. A description of the porting effort on the reference architecture has also been provided. 7.1 Introduction In the past, OSs for high-performance computing (HPC) were based on custom-tailored solutions to fully exploit all performance opportunities of supercomputers. Nowadays, instead, HPC systems are being moved away from in-house OSs to more generic OS solutions like Linux. Such a trend can be observed in the TOP500 list [1] that includes the 500 most powerful supercomputers in the world, in which Linux dominates the competition. In fact, in around 20 years, Linux has been capable of conquering all the TOP500 list from scratch (for the first time in November 2017). Each manufacturer, however, still implements specific changes to the Linux OS to better exploit specific computer hardware features. This is especially true in the case of computing nodes in which lightweight kernels are used to speed up the computation. 173 174 Embedded Operating Systems Figure 7.1 Number of Linux-based supercomputers in the TOP500 list. Linux is a full-featured OS, originally designed to be used in server or desktop environments.
    [Show full text]
  • RIOT, the Friendly Operating System for The
    The friendly operating system for the IoT by Thomas Eichinger (on behalf of the RIOT community) OpenIoT Summit NA 2017 Why? How? What is RIOT? Why? How? What is RIOT? Why a software platform for the IoT? ● Linux, Arduino, … bare metal? ● But as IoT software evolves … ○ More complex pieces e.g. an IP network stack ○ Evolution of application logic ● … non-portable IoT software slows innovation ○ 90% of IoT software should be hardware-independent → this is achievable with a good software platform (but not if you develop bare metal) Why a software platform for the IoT? ✓ faster innovation by spreading IoT software dev. costs ✓ long-term IoT software robustness & security ✓ trust, transparency & protection of IoT users’ privacy ✓ less garbage with less IoT device lock-down Why? How? What is RIOT? How to achieve our goals? Experience (e.g. with Linux) points towards ● Open source Indirect business models ● Free core Geopolitical neutrality ● Driven by a grassroot community Main Challenges of an OS in IoT Low-end IoT device resource constraints ● Kernel performance ● System-level interoperability ● Network-level interoperability ● Trust SW platform on low-end IoT devices ● The good news: ○ No need for advanced GUI (a simple shell is sufficient) ○ No need for high throughput performance (kbit/s) ○ No need to support dozens of concurrent applications ● The bad news: ○ kBytes of memory! ○ Typically no MMU! ○ Extreme energy efficency must be built in! SW platform on low-end IoT devices ● Contiki ● mbedOS (ARM) ● ● Zephyr (Intel) ● TinyOS ● LiteOS (Huawei) ● myNewt ● … ● FreeRTOS ● and closed source alternatives Reference: O. Hahm et al. "Operating Systems for Low-End Devices in the Internet of Things: A survey," IEEE Internet of Things Journal, 2016.
    [Show full text]
  • Internet of Things (Iot) Operating Systems Management: Opportunities, Challenges, and Solution
    sensors Editorial Internet of Things (IoT) Operating Systems Management: Opportunities, Challenges, and Solution Yousaf Bin Zikria 1, Sung Won Kim 1,*, Oliver Hahm 2, Muhammad Khalil Afzal 3 and Mohammed Y. Aalsalem 4 1 Department of Information and Communication Engineering, Yeungnam University, 280 Daehak-Ro, Gyeongsan, Gyeongbuk 38541, Korea; [email protected] 2 Zühlke Group, Eschborn, 65760 Hessen, Germany; [email protected] 3 Department of Computer Science, COMSATS University Islamabad, Wah Campus, Wah Cantt 47010, Pakistan; [email protected] 4 Department of Computer Networks, Jazan University, Jazan 45142, Saudi Arabia; [email protected] * Correspondence: [email protected]; Tel.: +82-53-810-4742 Received: 9 April 2019; Accepted: 11 April 2019; Published: 15 April 2019 Abstract: Internet of Things (IoT) is rapidly growing and contributing drastically to improve the quality of life. Immense technological innovations and growth is a key factor in IoT advancements. Readily available low cost IoT hardware is essential for continuous adaptation of IoT. Advancements in IoT Operating System (OS) to support these newly developed IoT hardware along with the recent standards and techniques for all the communication layers are the way forward. The variety of IoT OS availability demands to support interoperability that requires to follow standard set of rules for development and protocol functionalities to support heterogeneous deployment scenarios. IoT requires to be intelligent to self-adapt according to the network conditions. In this paper, we present brief overview of different IoT OSs, supported hardware, and future research directions. Therein, we provide overview of the accepted papers in our Special Issue on IoT OS management: opportunities, challenges, and solution.
    [Show full text]