Peripheral State Persistence and Interrupt Management For Transiently Powered Systems

Size: px
Start display at page:

Download "Peripheral State Persistence and Interrupt Management For Transiently Powered Systems"

Transcription

1 Peripheral State Persistence and Interrupt Management For Transiently Powered Systems Gautier Berthou, Tristan Delizy, Kevin Marquet, Tanguy Risset, Guillaume Salagnac Citi Lab, INSA Lyon, France NVMW, San Diego, March 12 th 2018

2 G. Berthou 2/23 Context: Transiently Powered Systems Internet of Tiny Things Internet of Things networked embedded systems No battery harvest power smart cards RFID tags wearable sensors

3 Context: Program checkpointing Power failure detection Energy Harvester + buffer CPU Power in Supply voltage Vboot RAM NVM Program Checkpointing: Anticipate power failures Save program state to a non-volatile memory Restore state on next boot Idea: add OS code to hide checkpointing to the application Vtrigger Vdeath Off time Lifecycles Time G. Berthou 3/23

4 G. Berthou 4/23 Typical checkpoint structure Application state - Copy of variables - Copy of application stack - Copy of CPU registers Contains all relevant data to enable application persistence Stored in non-volatile memory

5 Checkpointing for Transiently Powered Systems Mementos [Ransford et al 13] DINO [Lucia & Ransford 15] HarvOS [Bhatti & Mottola 16] Quickrecall [Jayakumar et al 14] CPU RAM CPU NVRAM Flash NV CPU NVRAM CPU RAM NVRAM [Liu et al 15] [Balsamo et al 15, 16] G. Berthou [Ait Aoudia et al 14] 5/23

6 G. Berthou 6/23 Outline Introduction: Context and State of the Art Peripheral State Persistence Peripheral State: Volatility Problem Peripheral Access: Atomicity Problem Interrupt handling Experimental Results Conclusion and perspectives

7 The Peripheral State Volatility Problem App Drv HW Application code rf send void main(void){ sensor_init(); rf_init(myconfig); } for(;;){ v = sensor_read(); rf_send(v);... } Restoring memory content will not restore device state G. Berthou 7/23

8 G. Berthou 8/23 Our approach: distinct roles for OS and drivers Each driver provides: restore() function device context App OS Drv HW restore Operating System: checkpoints device contexts calls every restore() function checkpoints application state

9 G. Berthou 9/23 The Peripheral Access Atomicity Problem Application code void main(void){ sensor_init(); rf_init(myconfig); App rf send Drv HW } for(;;){ v = sensor_read(); rf_send(v);... } In most cases, resuming execution in the middle of a hardware access does not make sense

10 G. Berthou 10/23 Our approach: make driver calls atomic Encapsulate driver functions into OS wrappers. Each driver provides a save() function that copies device context into checkpoint image. On wrapper entry: save arguments + function called switch to volatile stack On wrapper exit: save device contexts clear arguments switch back to application stack App wrapper entry wrapper exit OS original driver function Drv + HW drv save() Interrupted driver calls are retried and not just resumed.

11 G. Berthou 11/23 Outline Introduction: Context and State of the Art Peripheral State Persistence Peripheral State: Volatility Problem Peripheral Access: Atomicity Problem Interrupt handling Experimental Results Conclusion and perspectives

12 G. Berthou 12/23 Interrupt-related problems Problems not specific to transiently-powered systems: Concurrency Race conditions Solution: critical sections with interrupts enabled. Specific to transiently-powered systems: Interrupt data volatility

13 G. Berthou 13/23 Interrupt data volatility Interrupt occurrence is volatile data. Peripheral data, e.g., radio packet content, are also volatile data. App Interrupt A Int. A handler Peripheral data is ready

14 G. Berthou 14/23 Our approach: extend solution to peripheral state volatility problem OS-managed top halves and user-managed bottom halves App OS Drv + HW Each driver provides an on_interrupt() routine. Each top half calls the on_interrupt() routine of relevant drivers. bottom half on interrupt extracts data drv save() save scheduler

15 G. Berthou 15/23 Checkpoint structure Application state - Copy of variables - Copy of application stack - Copy of CPU registers OS state - Running driver call if any - Address and arguments - Interrupt occurrence Drivers state - Driver A device context - Driver B device context -... OS and drivers states allow peripheral persistence

16 G. Berthou 16/23 Outline Introduction: Context and State of the Art Peripheral State Persistence Peripheral State: Volatility Problem Peripheral Access: Atomicity Problem Interrupt handling Experimental Results Conclusion and perspectives

17 G. Berthou 17/23 Sytare Evaluation Setup Application void main(void){ syt_sensor_init(); syt_rf_init(myconfig); MSP430FR5739: 16-bit CPU 24MHz, 1kB SRAM, 15kB FeRAM RF-chip: CC2500 } for(;;){ v = syt_sensor_read(); compute(); syt_rf_send(v);... }

18 G. Berthou 18/23 Evaluation methodology Experimental setup Varying parameter: lifecycle duration Ground-truth Same application without OS layer Stable supply without outage Supply voltage Vboot Vtrigger Vdeath Off time Lifecycles Time

19 G. Berthou 19/23 Evaluation methodology Performance metrics Duration of shortest usable lifecycle Temporal execution efficiency Efficiency(x) = T GT T (x) T GT x Lifecycle duration Application runtime under ground-truth conditions T (x) Application runtime with OS layer when the platform is ON

20 G. Berthou 20/23 Efficiency results Efficiency T GT T min = 3 ms ,000 Lifecycle duration (milliseconds)

21 G. Berthou 21/23 Results: Driver call temporal overhead Driver calls are encapsulated into wrappers Driver call Overhead (%) Led toggle 1263 ADC read 27 Radio sleep 137 Radio wake-up 8 Radio send 1

22 G. Berthou 22/23 Outline Introduction: Context and State of the Art Peripheral State Persistence Peripheral State: Volatility Problem Peripheral Access: Atomicity Problem Interrupt handling Experimental Results Conclusion and perspectives

23 G. Berthou 23/23 Conclusion and perspectives Peripheral State Persistence for Transiently Powered Systems Volatility: device contexts Atomicity: retry rather than resume Interrupts: save data as soon as possible Project sources: Perspectives Reduce overhead of driver calls Adapt peripheral checkpointing to existing OS (RIOT, Contiki) WCEC evaluation of peripheral accesses Energy-based decision making

24 G. Berthou 0/-1 Checkpoint structure - Completed Application state - Copy of variables - Copy of application stack - Copy of CPU registers OS state - Running driver call if any - Address and arguments - Interrupt occurrence Drivers state - Driver A device context - Driver B device context -... Information about interrupt occurrence are kept in the OS section of the checkpoint image. Data carried by interrupts are kept in the relevant device drivers. Ex: radio packet content is owned by the radio chipset driver. Current Last

25 G. Berthou 0/-1 Complex driver call Sequence diagram SRAM state NVRAM Checkpoint Next Image state App OS drv A drv B App Drivers user main() App 0 A 0 B 0 Modified drivers NVRAM Checkpoint Last Image state App Drivers Kernel App Drivers Kernel A 0 B 0 App 0 A 0 B 0 syt drva fn(x) drva fn(x) App 1 App 1 A 0 B 0 A 0 B 0 A 0 B 0 A 0 B 0 drva fn x App 0 A 0 B 0 App 0 A 0 B 0 drvb fn(y) App 1 A 1 B 0 A 0 B 0 drva fn x App 0 A 0 B 0 mark dirty() App 1 mark dirty() App 1 drvb save() A 1 B 1 A 2 B 1 { B } { B, A } A 0 B 0 drva fn x A 0 B 0 drva fn x App 0 A 0 B 0 App 0 A 0 B 0 drva save() App 1 App 2 A 2 B 1 A 2 B 1 A 2 B 1 A 2 B 1 App 0 A 0 B 0 App 0 A 0 B 0 Unmodified state Modified state

26 G. Berthou 0/-1 Top halves and bottom halves Interrupt handling is split into OS-managed top halves and user-managed bottom halves. Power loss is handled by top halves, making it possible to hide power loss from user. Design choices: two axes 1 Bottom half nestedness? No 2 Allowance of hardware operations being called from bottom halves? Yes

27 G. Berthou -1/-1 Data race conditions Application code static int x; bottom_half() { ++x; } main() { x = 0;... if(x == 4) {... } }

28 G. Berthou -1/-1 Data race conditions Problem Bottom halves may share data with user application: global variables. Solution User-defined critical sections that disable bottom halves but keep interrupts enabled. Bottom halves are delayed until the end of the critical section. Interrupts are enabled, which makes the sytem reactive upon power loss detection.

29 G. Berthou -1/-1 Peripheral access race conditions App OS Drv SPI syt spi config(a) spi config(a) Interrupt A Top half spi config(b) SPI has config A?

30 G. Berthou -1/-1 Peripheral access race conditions Problem Interrupts might occur during a hardware access initiated by user. Top half might use the same peripheral and put it in an inconsistent state with respect to the application. Solution Provide lock mechanism, accessible from the user, who indicates to the OS which peripherals are locked. When an interrupt occurs, if the top half tries to use a locked peripheral, both the top and bottom halves are discarded.

31 G. Berthou -1/-1 Peripheral access atomicity Problem Interrupts might occur during a hardware access initiated by user. Solution Rerun driver call call from the beginning when returning from interrupt. Makes the driver call management policy consistent with power loss detection occurring during driver call execution. Pessimistic approach that leads to time and energy overhead.

32 Operating System architecture - Completed App Drv op. App Ret Interrupt Empty queue and app running Restore Init Not first boot First boot Boot Interrupted during Drvcall Bot. half Drvcall Bottom half Interrupt Empty queue and syscall running Interrupt or bot. half completion Bot. half queued or top half completion Drv op. Ret Interrupt Bot. half Bot. half Drvcall Drvcall Top half completion Power loss detection Kernel Driver Kernel Interrupt top half Checkpoint Actual power loss + Hardware reboot User application G. Berthou -1/-1

33 G. Berthou -1/-1 System boot sequence Device context restoration 27µs App state restoration 45µs Peripheral state restoration 1.17ms Next checkpoint initialization 30µs power-up application execution Hardware boot 0.75 ms Port Clock ADC SPI Radio

34 G. Berthou -1/-1 ommunication peripheral is available. TPSST23ZL48 example block diagram architecture : ST23ZL48 microcontroller igure 1. RAM EEPROM User ROM ST ROM (Boot software) EDES Accelerator NESCRYPT ST ROM Firewall NESCRYPT RAM CRC Module Clock Generator Module CLK 3 x 8-bit timers Internal Bus Security Monitoring and Control RESET True Random Number Generator Vcc GND MPU 8/16-bit CPU Core IART 2 I/Os 16-bits CPU (27MHz) 8kB RAM 300kB ROM 48kB EEPROM Ai

Peripheral State Persistence For Transiently Powered Systems

Peripheral State Persistence For Transiently Powered Systems Peripheral State Persistence For Transiently Powered Systems Gautier Berthou, Tristan Delizy, Kevin Marquet, Tanguy Risset, Guillaume Salagnac RESEARCH REPORT N 9018 February 2017 Project-Team Socrate

More information

System Architecture Directions for Networked Sensors[1]

System Architecture Directions for Networked Sensors[1] System Architecture Directions for Networked Sensors[1] Secure Sensor Networks Seminar presentation Eric Anderson System Architecture Directions for Networked Sensors[1] p. 1 Outline Sensor Network Characteristics

More information

Mementos. pmnr ä~äoê~íoêó. System Support for Long-Running Computations on RFID-Scale Devices

Mementos. pmnr ä~äoê~íoêó. System Support for Long-Running Computations on RFID-Scale Devices Mementos pmnr ä~äoê~íoêó System Support for Long-Running Computations on RFID-Scale Devices Benjamin Ransford*, UMass Amherst Jacob Sorber, Dartmouth College Kevin Fu, UMass Amherst http://spqr.cs.umass.edu/mementos

More information

RESTOP: Retaining External Peripheral State in Intermittently-Powered Sensor Systems

RESTOP: Retaining External Peripheral State in Intermittently-Powered Sensor Systems Article RESTOP: Retaining External State in Intermittently-Powered Sensor Systems Alberto Rodriguez Arreola *, Domenico Balsamo, Geoff V. Merrett and Alex S. Weddell Department of Electronics and Computer

More information

ARDUINO MEGA INTRODUCTION

ARDUINO MEGA INTRODUCTION ARDUINO MEGA INTRODUCTION The Arduino MEGA 2560 is designed for projects that require more I/O llines, more sketch memory and more RAM. With 54 digital I/O pins, 16 analog inputs so it is suitable for

More information

ST19WR08 Dual Contactless Smartcard MCU With RF UART, IART & 8 Kbytes EEPROM Features Contactless specific features

ST19WR08 Dual Contactless Smartcard MCU With RF UART, IART & 8 Kbytes EEPROM Features Contactless specific features Dual Contactless Smartcard MCU With RF UART, IART & 8 Kbytes EEPROM Data Brief Features Enhanced 8-bit CPU with extended addressing modes 112 KBytes user ROM with partitioning 2 KBytes user RAM with partitioning

More information

System Architecture Directions for Networked Sensors. Jason Hill et. al. A Presentation by Dhyanesh Narayanan MS, CS (Systems)

System Architecture Directions for Networked Sensors. Jason Hill et. al. A Presentation by Dhyanesh Narayanan MS, CS (Systems) System Architecture Directions for Networked Sensors Jason Hill et. al. A Presentation by Dhyanesh Narayanan MS, CS (Systems) Sensor Networks Key Enablers Moore s s Law: More CPU Less Size Less Cost Systems

More information

Energy-aware Reconfiguration of Sensor Nodes

Energy-aware Reconfiguration of Sensor Nodes Energy-aware Reconfiguration of Sensor Nodes Andreas Weissel Simon Kellner Department of Computer Sciences 4 Distributed Systems and Operating Systems Friedrich-Alexander University Erlangen-Nuremberg

More information

Last Time. Making correct concurrent programs. Maintaining invariants Avoiding deadlocks

Last Time. Making correct concurrent programs. Maintaining invariants Avoiding deadlocks Last Time Making correct concurrent programs Maintaining invariants Avoiding deadlocks Today Power management Hardware capabilities Software management strategies Power and Energy Review Energy is power

More information

TI SimpleLink dual-band CC1350 wireless MCU

TI SimpleLink dual-band CC1350 wireless MCU TI SimpleLink dual-band CC1350 wireless MCU Sub-1 GHz and Bluetooth low energy in a single-chip Presenter Low-Power Connectivity Solutions 1 SimpleLink ultra-low power platform CC2640: Bluetooth low energy

More information

Integrating Concurrency Control and Energy Management in Device Drivers

Integrating Concurrency Control and Energy Management in Device Drivers Integrating Concurrency Control and Energy Management in Device Drivers Kevin Klues, Vlado Handziski, Chenyang Lu, Adam Wolisz, David Culler, David Gay, and Philip Levis Overview Concurrency Control: Concurrency

More information

Typical Applications: GHz Bluetooth low energy systems - Proprietary 2.4 GHz systems - Sports and leisure equipment - Mobile phone accessories -

Typical Applications: GHz Bluetooth low energy systems - Proprietary 2.4 GHz systems - Sports and leisure equipment - Mobile phone accessories - PTR5618PA Coin-size Bluetooth Low Energy System on Module with PA Embedded Cortex M4F 32 bit processor The PTR5618PA ultra-low power Bluetooth Low Energy/2.4GHz Proprietary Multi-protocol modules based

More information

Operating Systems. System calls. Guillaume Salagnac. Fall Insa-Lyon IST Semester

Operating Systems. System calls. Guillaume Salagnac. Fall Insa-Lyon IST Semester Operating Systems System calls Guillaume Salagnac Insa-Lyon IST Semester Fall 2018 2/36 Previously on IST-OPS Application 1 Application 2 OS Kernel Hardware The CPU implements the Von Neumann cycle executes

More information

Maximize energy efficiency in a normally-off system using NVRAM. Stéphane Gros Yeter Akgul

Maximize energy efficiency in a normally-off system using NVRAM. Stéphane Gros Yeter Akgul Maximize energy efficiency in a normally-off system using NVRAM Stéphane Gros Yeter Akgul Summary THE COMPANY THE CONTEXT THE TECHNOLOGY THE SYSTEM THE CO-DEVELOPMENT CONCLUSION May 31, 2017 2 Summary

More information

MICROPROCESSOR BASED SYSTEM DESIGN

MICROPROCESSOR BASED SYSTEM DESIGN MICROPROCESSOR BASED SYSTEM DESIGN Lecture 5 Xmega 128 B1: Architecture MUHAMMAD AMIR YOUSAF VON NEUMAN ARCHITECTURE CPU Memory Execution unit ALU Registers Both data and instructions at the same system

More information

Process Scheduling Queues

Process Scheduling Queues Process Control Process Scheduling Queues Job queue set of all processes in the system. Ready queue set of all processes residing in main memory, ready and waiting to execute. Device queues set of processes

More information

ST33F1M, ST33F1M0, ST33F896, ST33F768, ST33F640, ST33F512

ST33F1M, ST33F1M0, ST33F896, ST33F768, ST33F640, ST33F512 ST33F1M, ST33F1M0, ST33F896, ST33F768, ST33F640, ST33F512 Secure MCU with 32-bit ARM SC300 CPU, SWP interface, NESCRYPT cryptoprocessor and high-density Flash memory Data brief Micromodule DFN8 package

More information

COSC 243. Input / Output. Lecture 13 Input/Output. COSC 243 (Computer Architecture)

COSC 243. Input / Output. Lecture 13 Input/Output. COSC 243 (Computer Architecture) COSC 243 Input / Output 1 Introduction This Lecture Source: Chapter 7 (10 th edition) Next Lecture (until end of semester) Zhiyi Huang on Operating Systems 2 Memory RAM Random Access Memory Read / write

More information

A Non-Volatile Microcontroller with Integrated Floating-Gate Transistors

A Non-Volatile Microcontroller with Integrated Floating-Gate Transistors A Non-Volatile Microcontroller with Integrated Floating-Gate Transistors Wing-kei Yu, Shantanu Rajwade, Sung-En Wang, Bob Lian, G. Edward Suh, Edwin Kan Cornell University 2 of 32 Self-Powered Devices

More information

Lab 1 Introduction to Microcontroller

Lab 1 Introduction to Microcontroller Lab 1 Introduction to Microcontroller Feb. 2016 1 Objective 1. To be familiar with microcontrollers. 2. Introducing LPC2138 microcontroller. 3. To be familiar with Keil and Proteus software tools. Introduction

More information

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel Alexander Züpke, Marc Bommert, Daniel Lohmann alexander.zuepke@hs-rm.de, marc.bommert@hs-rm.de, lohmann@cs.fau.de Motivation Automotive and Avionic industry

More information

Operating systems for embedded systems. Embedded Operating Systems

Operating systems for embedded systems. Embedded Operating Systems Operating systems for embedded systems Embedded operating systems How do they differ from desktop operating systems? Programming model Process-based Event-based How is concurrency handled? How are resource

More information

Smart Metering Monitoring and Control

Smart Metering Monitoring and Control ANVO- SYSTEMS Smart Metering Monitoring and Control ADVANCED NON- VOLATILE SYSTEMS Non-Volatile nvsram in High Reliable and Resilient Smart Applications With Dresden, Non-Volatile 06.10.2015 nvsram Memories

More information

Nano RK And Zigduino. wnfa ta course hikaru4

Nano RK And Zigduino. wnfa ta course hikaru4 Nano RK And Zigduino wnfa ta course hikaru4 Today's outline Zigduino v.s. Firefly Atmel processor and the program chip I/O Interface on the board Atmega128rfa1, FTDI chip... GPIO, ADC, UART, SPI, I2C...

More information

Lecture 2: Architectural Support for OSes

Lecture 2: Architectural Support for OSes Lecture 2: Architectural Support for OSes CSE 120: Principles of Operating Systems Alex C. Snoeren HW 1 Due Tuesday 10/03 Why Architecture? Operating systems mediate between applications and the physical

More information

AN5123 Application note

AN5123 Application note Application note STSPIN32F0A - bootloader and USART protocol Introduction Cristiana Scaramel The STSPIN32F0A is a system-in-package providing an integrated solution suitable for driving three-phase BLDC

More information

Arduino Uno R3 INTRODUCTION

Arduino Uno R3 INTRODUCTION Arduino Uno R3 INTRODUCTION Arduino is used for building different types of electronic circuits easily using of both a physical programmable circuit board usually microcontroller and piece of code running

More information

ST33F1M. Smartcard MCU with 32-bit ARM SecurCore SC300 CPU and 1.25 Mbytes high-density Flash memory. Features. Hardware features.

ST33F1M. Smartcard MCU with 32-bit ARM SecurCore SC300 CPU and 1.25 Mbytes high-density Flash memory. Features. Hardware features. Smartcard MCU with 32-bit ARM SecurCore SC300 CPU and 1.25 Mbytes high-density Flash memory Data brief Features ST33F1M major applications include: Mobile communications (GSM, 3G and CDMA) Java Card applications

More information

TEVATRON TECHNOLOGIES PVT. LTD Embedded! Robotics! IoT! VLSI Design! Projects! Technical Consultancy! Education! STEM! Software!

TEVATRON TECHNOLOGIES PVT. LTD Embedded! Robotics! IoT! VLSI Design! Projects! Technical Consultancy! Education! STEM! Software! Summer Training 2016 Advance Embedded Systems Fast track of AVR and detailed working on STM32 ARM Processor with RTOS- Real Time Operating Systems Covering 1. Hands on Topics and Sessions Covered in Summer

More information

Hello, and welcome to this presentation of the STM32L4 power controller. The STM32L4 s power management functions and all power modes will also be

Hello, and welcome to this presentation of the STM32L4 power controller. The STM32L4 s power management functions and all power modes will also be Hello, and welcome to this presentation of the STM32L4 power controller. The STM32L4 s power management functions and all power modes will also be covered in this presentation. 1 Please note that this

More information

CN310 Microprocessor Systems Design

CN310 Microprocessor Systems Design CN310 Microprocessor Systems Design Microcontroller Nawin Somyat Department of Electrical and Computer Engineering Thammasat University Outline Course Contents 1 Introduction 2 Simple Computer 3 Microprocessor

More information

ZiLOG Real-Time Kernel Version 1.2.0

ZiLOG Real-Time Kernel Version 1.2.0 ez80acclaim Family of Microcontrollers Version 1.2.0 PRELIMINARY Introduction The (RZK) is a realtime, preemptive, multitasking kernel designed for time-critical embedded applications. It is currently

More information

Mechatronics and Measurement. Lecturer:Dung-An Wang Lecture 6

Mechatronics and Measurement. Lecturer:Dung-An Wang Lecture 6 Mechatronics and Measurement Lecturer:Dung-An Wang Lecture 6 Lecture outline Reading:Ch7 of text Today s lecture: Microcontroller 2 7.1 MICROPROCESSORS Hardware solution: consists of a selection of specific

More information

ELC4438: Embedded System Design ARM Cortex-M Architecture II

ELC4438: Embedded System Design ARM Cortex-M Architecture II ELC4438: Embedded System Design ARM Cortex-M Architecture II Liang Dong Electrical and Computer Engineering Baylor University Memory system The memory systems in microcontrollers often contain two or more

More information

Wireless Sensor Networks (WSN)

Wireless Sensor Networks (WSN) Wireless Sensor Networks (WSN) Operating Systems M. Schölzel Operating System Tasks Traditional OS Controlling and protecting access to resources (memory, I/O, computing resources) managing their allocation

More information

AVR Microcontrollers Architecture

AVR Microcontrollers Architecture ก ก There are two fundamental architectures to access memory 1. Von Neumann Architecture 2. Harvard Architecture 2 1 Harvard Architecture The term originated from the Harvard Mark 1 relay-based computer,

More information

BLE MODULE SPECIFICATIONS

BLE MODULE SPECIFICATIONS WIRELESS-TAG BLE MODULE SPECIFICATIONS nrf51-01/02/dk Bluetooth Low Energy (BLE) module of nrf51-01/02 is the next generation BLE module released by SEMITRION electronics. The modules use nrf51822 from

More information

nesc Prof. Chenyang Lu How should network msg be handled? Too much memory for buffering and threads

nesc Prof. Chenyang Lu How should network msg be handled? Too much memory for buffering and threads nesc Prof. Chenyang Lu CSE 521S 1 How should network msg be handled? Socket/TCP/IP? Too much memory for buffering and threads Data buffered in network stack until application threads read it Application

More information

Interface DAC to a PC. Control Word of MC1480 DAC (or DAC 808) 8255 Design Example. Engineering 4862 Microprocessors

Interface DAC to a PC. Control Word of MC1480 DAC (or DAC 808) 8255 Design Example. Engineering 4862 Microprocessors Interface DAC to a PC Engineering 4862 Microprocessors Lecture 22 Cheng Li EN-4012 licheng@engr.mun.ca DAC (Digital-to-Analog Converter) Device used to convert digital pulses to analog signals Two methods

More information

Hardware OS & OS- Application interface

Hardware OS & OS- Application interface CS 4410 Operating Systems Hardware OS & OS- Application interface Summer 2013 Cornell University 1 Today How my device becomes useful for the user? HW-OS interface Device controller Device driver Interrupts

More information

Towards a Resilient Operating System for Wireless Sensor Networks

Towards a Resilient Operating System for Wireless Sensor Networks Towards a Resilient Operating System for Wireless Sensor Networks Hyoseung Kim Hojung Cha Yonsei University, Korea 2006. 6. 1. Hyoseung Kim hskim@cs.yonsei.ac.kr Motivation (1) Problems: Application errors

More information

Customize service and solution for wireless transportation products. Bluetooth Module Hardware Datasheet BLE1010C2P

Customize service and solution for wireless transportation products. Bluetooth Module Hardware Datasheet BLE1010C2P Customize service and solution for wireless transportation products Bluetooth Module Hardware Datasheet Chongqing JINOU Science and Technology Development Co., Ltd. 2015-09-01 Contents 1. Features... 1

More information

Part 1: Introduction to device drivers Part 2: Overview of research on device driver reliability Part 3: Device drivers research at ERTOS

Part 1: Introduction to device drivers Part 2: Overview of research on device driver reliability Part 3: Device drivers research at ERTOS Some statistics 70% of OS code is in device s 3,448,000 out of 4,997,000 loc in Linux 2.6.27 A typical Linux laptop runs ~240,000 lines of kernel code, including ~72,000 loc in 36 different device s s

More information

CSE 153 Design of Operating Systems

CSE 153 Design of Operating Systems CSE 153 Design of Operating Systems Winter 19 Lecture 3: OS model and Architectural Support Last time/today Historic evolution of Operating Systems (and computing!) Today: We start our journey in exploring

More information

CSE 153 Design of Operating Systems Fall 18

CSE 153 Design of Operating Systems Fall 18 CSE 153 Design of Operating Systems Fall 18 Lecture 2: OS model and Architectural Support Last time/today l Historic evolution of Operating Systems (and computing!) l Today: We start our journey in exploring

More information

An Incubator Project in the Apache Software Foundation. 13 July 2016

An Incubator Project in the Apache Software Foundation.  13 July 2016 An Incubator Project in the Apache Software Foundation http://mynewt.apache.org/ 13 July 2016 Apache Mynewt Open Source OS for Constrained IoT MCU / Hardware independent ARM Cortex-M*, AVR, MIPS, more...

More information

Lecture 4: Mechanism of process execution. Mythili Vutukuru IIT Bombay

Lecture 4: Mechanism of process execution. Mythili Vutukuru IIT Bombay Lecture 4: Mechanism of process execution Mythili Vutukuru IIT Bombay Low-level mechanisms How does the OS run a process? How does it handle a system call? How does it context switch from one process to

More information

Xen and the Art of Virtualization. CSE-291 (Cloud Computing) Fall 2016

Xen and the Art of Virtualization. CSE-291 (Cloud Computing) Fall 2016 Xen and the Art of Virtualization CSE-291 (Cloud Computing) Fall 2016 Why Virtualization? Share resources among many uses Allow heterogeneity in environments Allow differences in host and guest Provide

More information

Spring 2017 :: CSE 506. Device Programming. Nima Honarmand

Spring 2017 :: CSE 506. Device Programming. Nima Honarmand Device Programming Nima Honarmand read/write interrupt read/write Spring 2017 :: CSE 506 Device Interface (Logical View) Device Interface Components: Device registers Device Memory DMA buffers Interrupt

More information

Lecture 14. Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Lecture 14. Ali Karimpour Associate Professor Ferdowsi University of Mashhad Lecture 14 AUTOMATIC CONTROL SYSTEMS Ali Karimpour Associate Professor Ferdowsi University of Mashhad Lecture 4 The AVR Microcontroller Introduction to AVR CISC (Complex Instruction Set Computer) Put as

More information

The Software of Things T Y S O N T U T T L E C E O S I L I C O N L A B S A S P E N C O R E C E O S U M M I T S H E N Z H E N 8 N O V E M B E R 2018

The Software of Things T Y S O N T U T T L E C E O S I L I C O N L A B S A S P E N C O R E C E O S U M M I T S H E N Z H E N 8 N O V E M B E R 2018 The Software of Things T Y S O N T U T T L E C E O S I L I C O N L A B S A S P E N C O R E C E O S U M M I T S H E N Z H E N 8 N O V E M B E R 2018 Most technology we ve built so far was for the Internet

More information

Typical Applications: GHz Bluetooth low energy systems - Proprietary 2.4 GHz systems - Sports and leisure equipment - Mobile phone accessories,

Typical Applications: GHz Bluetooth low energy systems - Proprietary 2.4 GHz systems - Sports and leisure equipment - Mobile phone accessories, PTR5618 Coin-size Ultra Low Power Bluetooth Low Energy System on Module Embedded Cortex M4F 32 bit processor The PTR5618 ultra-low power Bluetooth Low Energy/ANT/2.4GHz Proprietary Multi-protocol modules

More information

Reindeer Technologies Pvt Ltd Excellence through Innovation

Reindeer Technologies Pvt Ltd Excellence through Innovation RDZM-T24FZ 2.4 GHZ IEEE 802.15.4/ZIGBEE RF TRANSCEIVER Datasheet Reindeer Technologies Pvt Ltd Excellence through Innovation S-2, Old No. 15, New No. 31 Rajamannar Street, T Nagar, Chennai 600017 India.

More information

NanoRK. EECE 494 Sathish Gopalakrishnan

NanoRK. EECE 494 Sathish Gopalakrishnan NanoRK EECE 494 Sathish Gopalakrishnan Outline Hardware platform for sensor networks The NanoRK operating system Developing applications with NanoRK Some tips and tricks 2 NanoRK feature list C GNU tool

More information

Operating systems for embedded systems

Operating systems for embedded systems Operating systems for embedded systems Embedded operating systems How do they differ from desktop operating systems? Programming model Process-based Event-based How is concurrency handled? How are resource

More information

Interconnects, Memory, GPIO

Interconnects, Memory, GPIO Interconnects, Memory, GPIO Dr. Francesco Conti f.conti@unibo.it Slide contributions adapted from STMicroelectronics and from Dr. Michele Magno, others Processor vs. MCU Pipeline Harvard architecture Separate

More information

Product Specification

Product Specification Product Specification 15mm x 27mm Description One of the most capable Bluetooth modules available, the BT-21 Bluetooth OEM Module is designed for maximum flexibility. The BT-21 module includes 14 general

More information

19: I/O Devices: Clocks, Power Management

19: I/O Devices: Clocks, Power Management 19: I/O Devices: Clocks, Power Management Mark Handley Clock Hardware: A Programmable Clock Pulses Counter, decremented on each pulse Crystal Oscillator On zero, generate interrupt and reload from holding

More information

Zilog Real-Time Kernel

Zilog Real-Time Kernel An Company Configurable Compilation RZK allows you to specify system parameters at compile time. For example, the number of objects, such as threads and semaphores required, are specez80acclaim! Family

More information

NUC123xxxAN Series Errata Sheet. Errata Sheet for 32-bit NuMicro Family Rev May 19, 2016

NUC123xxxAN Series Errata Sheet. Errata Sheet for 32-bit NuMicro Family Rev May 19, 2016 NUC123xxxAN Series Errata Sheet Errata Sheet for 32-bit NuMicro Family Rev. 1.04 May 19, 2016 Document Information Abstract Apply to This errata sheet describes the functional problems known at the release

More information

Getting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop. Version 1.05

Getting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop. Version 1.05 Getting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop Version 1.05 Agenda Introduction to ARM Cortex Cortex -M4F M4F and Peripherals Code Composer Studio Introduction to StellarisWare, I iti

More information

Power Management. José Costa. Software for Embedded Systems. Departamento de Engenharia Informática (DEI) Instituto Superior Técnico

Power Management. José Costa. Software for Embedded Systems. Departamento de Engenharia Informática (DEI) Instituto Superior Técnico Power Management José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-03-30 José Costa (DEI/IST) Power Management 1 Outline CPU Power Consumption

More information

Interrupts and Time. Real-Time Systems, Lecture 5. Martina Maggio 28 January Lund University, Department of Automatic Control

Interrupts and Time. Real-Time Systems, Lecture 5. Martina Maggio 28 January Lund University, Department of Automatic Control Interrupts and Time Real-Time Systems, Lecture 5 Martina Maggio 28 January 2016 Lund University, Department of Automatic Control Content [Real-Time Control System: Chapter 5] 1. Interrupts 2. Clock Interrupts

More information

AVR XMEGA Product Line Introduction AVR XMEGA TM. Product Introduction.

AVR XMEGA Product Line Introduction AVR XMEGA TM. Product Introduction. AVR XMEGA TM Product Introduction 32-bit AVR UC3 AVR Flash Microcontrollers The highest performance AVR in the world 8/16-bit AVR XMEGA Peripheral Performance 8-bit megaavr The world s most successful

More information

CHAPTER 3 WIRELESS MEASUREMENT INSTRUMENT

CHAPTER 3 WIRELESS MEASUREMENT INSTRUMENT CHAPTER 3 WIRELESS MEASUREMET ISTRUMET This chapter gives a functional description of the WMI hardware and software for implementation in IVDS. A detailed technical description is not given, but is provided

More information

AN4749 Application note

AN4749 Application note Application note Managing low-power consumption on STM32F7 Series microcontrollers Introduction The STM32F7 Series microcontrollers embed a smart architecture taking advantage of the ST s ART- accelerator

More information

STM32G0 MCU Series Efficiency at its Best

STM32G0 MCU Series Efficiency at its Best STM32G0 MCU Series Efficiency at its Best Key Messages of STM32G0 Series 2 2 3 Efficient Arm Cortex -M0+ at 64 MHz Compact cost: maximum I/Os count Best RAM/Flash Ratio Smallest possible package down to

More information

Processes. Dr. Yingwu Zhu

Processes. Dr. Yingwu Zhu Processes Dr. Yingwu Zhu Process Growing Memory Stack expands automatically Data area (heap) can grow via a system call that requests more memory - malloc() in c/c++ Entering the kernel (mode) Hardware

More information

Interrupts and Time. Interrupts. Content. Real-Time Systems, Lecture 5. External Communication. Interrupts. Interrupts

Interrupts and Time. Interrupts. Content. Real-Time Systems, Lecture 5. External Communication. Interrupts. Interrupts Content Interrupts and Time Real-Time Systems, Lecture 5 [Real-Time Control System: Chapter 5] 1. Interrupts 2. Clock Interrupts Martina Maggio 25 January 2017 Lund University, Department of Automatic

More information

Mercury System SB310

Mercury System SB310 Mercury System SB310 Ultrasonic Board - Product Datasheet Author Francesco Ficili Date 20/05/2018 Status Released Pag. 1 Revision History Version Date Author Changes 1.0 20/05/2018 Francesco Ficili Initial

More information

Chap.6 Limited Direct Execution. Dongkun Shin, SKKU

Chap.6 Limited Direct Execution. Dongkun Shin, SKKU Chap.6 Limited Direct Execution 1 Problems of Direct Execution The OS must virtualize the CPU in an efficient manner while retaining control over the system. Problems how can the OS make sure the program

More information

BT2540 Bluetooth 4.0 BLE (CC2540) Module Users Manual

BT2540 Bluetooth 4.0 BLE (CC2540) Module Users Manual BT2540 Bluetooth 4.0 BLE (CC2540) Module Users Manual Revision 1.0 Online download: This manual: /images/manual/bluetooth/bt2540manual.pdf Software: http:///images/manual/bluetooth/cdrom-bt2540.rar 2012.08.31.

More information

Oberon M2M IoT Platform. JAN 2016

Oberon M2M IoT Platform. JAN 2016 Oberon M2M IoT Platform JAN 2016 www.imgtec.com Contents Iot Segments and Definitions Targeted Use Cases for IoT Oberon targeted use cases IoT Differentiators IoT Power Management IoT Security Integrated

More information

Chapter 4 Using BIOS 1

Chapter 4 Using BIOS 1 Chapter 1 Using BIOS 4 4.1 About the Setup Utility The computer uses the latest American Megatrends Inc. BIOS with support for Windows Plug and Play. The CMOS chip on the motherboard contains the ROM setup

More information

Secure Microcontrollers for Smart Cards. AT90SC Summary

Secure Microcontrollers for Smart Cards. AT90SC Summary Features High-performance, Low-power 8-bit AVR RISC Architecture 120 Powerful Instructions Most Single Clock Cycle Execution Up to 64K Bytes Flash Program Memory Endurance: 10K Write/Erase Cycles Up to

More information

JetBox 9300/9310 User Manual. Hardware

JetBox 9300/9310 User Manual. Hardware JetBox 9300/9310 User Manual Hardware www.korenix.com 0.0.6 Copyright Notice Copyright 2008 Korenix Technology Co., Ltd. All rights reserved. Reproduction without permission is prohibited. Information

More information

1. Attempt any three of the following: 15

1. Attempt any three of the following: 15 (2½ hours) Total Marks: 75 N. B.: (1) All questions are compulsory. (2) Make suitable assumptions wherever necessary and state the assumptions made. (3) Answers to the same question must be written together.

More information

Product Technical Brief S3C2416 May 2008

Product Technical Brief S3C2416 May 2008 Product Technical Brief S3C2416 May 2008 Overview SAMSUNG's S3C2416 is a 32/16-bit RISC cost-effective, low power, high performance micro-processor solution for general applications including the GPS Navigation

More information

Embedded Systems Design (630414) Lecture 1 Introduction to Embedded Systems Prof. Kasim M. Al-Aubidy Computer Eng. Dept.

Embedded Systems Design (630414) Lecture 1 Introduction to Embedded Systems Prof. Kasim M. Al-Aubidy Computer Eng. Dept. Embedded Systems Design (630414) Lecture 1 Introduction to Embedded Systems Prof. Kasim M. Al-Aubidy Computer Eng. Dept. Definition of an E.S. It is a system whose principal function is not computational,

More information

SiFive FE310-G000 Manual c SiFive, Inc.

SiFive FE310-G000 Manual c SiFive, Inc. SiFive FE310-G000 Manual 1.0.3 c SiFive, Inc. 2 SiFive FE310-G000 Manual 1.0.3 SiFive FE310-G000 Manual Proprietary Notice Copyright c 2016-2017, SiFive Inc. All rights reserved. Information in this document

More information

Integrating Concurrency Control and Energy Management in Device Drivers. Chenyang Lu

Integrating Concurrency Control and Energy Management in Device Drivers. Chenyang Lu Integrating Concurrency Control and Energy Management in Device Drivers Chenyang Lu Overview Ø Concurrency Control: q Concurrency of I/O operations alone, not of threads in general q Synchronous vs. Asynchronous

More information

M68HC08 Microcontroller The MC68HC908GP32. General Description. MCU Block Diagram CPU08 1

M68HC08 Microcontroller The MC68HC908GP32. General Description. MCU Block Diagram CPU08 1 M68HC08 Microcontroller The MC68HC908GP32 Babak Kia Adjunct Professor Boston University College of Engineering Email: bkia -at- bu.edu ENG SC757 - Advanced Microprocessor Design General Description The

More information

Moneta: A High-Performance Storage Architecture for Next-generation, Non-volatile Memories

Moneta: A High-Performance Storage Architecture for Next-generation, Non-volatile Memories Moneta: A High-Performance Storage Architecture for Next-generation, Non-volatile Memories Adrian M. Caulfield Arup De, Joel Coburn, Todor I. Mollov, Rajesh K. Gupta, Steven Swanson Non-Volatile Systems

More information

Product Technical Brief S3C2412 Rev 2.2, Apr. 2006

Product Technical Brief S3C2412 Rev 2.2, Apr. 2006 Product Technical Brief S3C2412 Rev 2.2, Apr. 2006 Overview SAMSUNG's S3C2412 is a Derivative product of S3C2410A. S3C2412 is designed to provide hand-held devices and general applications with cost-effective,

More information

Titan silicon root of trust for Google Cloud

Titan silicon root of trust for Google Cloud Scott Johnson Dominic Rizzo Secure Enclaves Workshop 8/29/2018 Titan silicon root of trust for Google Cloud 1 Cloud Perspective: We need a silicon root of trust Software infrastructure Datacenter equipment

More information

Rayson Bluetooth Module

Rayson Bluetooth Module Rayson Bluetooth Module Low Energy Smart Module Features Bluetooth standard V4.0 conformity. CSR000/00 chip Programmable general purpose PIO controller : Switch-mode power supply. IC for EEPROM and ICs

More information

8. Power Management and Sleep Modes

8. Power Management and Sleep Modes 8. Power Management and Sleep Modes 8.1 Features Power management for adjusting power consumption and functions Five sleep modes Idle Power down Power save Standby Extended standby Power reduction register

More information

Ultra Low Power Microcontroller - Design Criteria - June 2017

Ultra Low Power Microcontroller - Design Criteria - June 2017 Ultra Low Power Microcontroller - Design Criteria - June 2017 Agenda 1. Low power technology features 2. Intelligent Clock Generator 3. Short wake-up times 4. Intelligent memory access 5. Use case scenario

More information

STM8L and STM32 L1 series. Ultra-low-power platform

STM8L and STM32 L1 series. Ultra-low-power platform STM8L and STM32 L1 series Ultra-low-power platform 8-bit and 32-bit MCU families 2 Flash (bytes) 2 M 1 M 128 K 16 K 8-bit Core STM8S Mainstream STM8A F and STM8AL Automotive STM8L Ultra-low-power 32-bit

More information

eip-24/100 Embedded TCP/IP 10/100-BaseT Network Module Features Description Applications

eip-24/100 Embedded TCP/IP 10/100-BaseT Network Module Features Description Applications Embedded TCP/IP 10/100-BaseT Network Module Features 16-bit Microcontroller with Enhanced Flash program memory and static RAM data memory On board 10/100Mbps Ethernet controller, and RJ45 jack for network

More information

APPLICATION NOTE. AT11008: Migration from ATxmega16D4/32D4 Revision E to Revision I. Atmel AVR XMEGA. Introduction. Features

APPLICATION NOTE. AT11008: Migration from ATxmega16D4/32D4 Revision E to Revision I. Atmel AVR XMEGA. Introduction. Features APPLICATION NOTE AT11008: Migration from ATxmega16D4/32D4 Revision E to Revision I Atmel AVR XMEGA Introduction This application note lists out the differences and changes between Revision E and Revision

More information

Embedded Programming with ARM Cortex-M3 Basic Experiments 1

Embedded Programming with ARM Cortex-M3 Basic Experiments 1 Embedded Programming with ARM Cortex-M3 Basic Experiments 1 Alan Xiao, Ph.D Handheld Scientific, Inc. qiwei@handheldsci.com Today s Topics Basics (with the Discovery board): 1. General Input/Output (GPIO)

More information

TINY System Ultra-Low Power Sensor Hub for Always-on Context Features

TINY System Ultra-Low Power Sensor Hub for Always-on Context Features TINY System Ultra-Low Power Sensor Hub for Always-on Context Features MediaTek White Paper June 2015 MediaTek s sensor hub solution, powered by the TINY Stem low power architecture, supports always-on

More information

The possibility of combining interface modules allows various bus and network systems to be integrated into the B&R SYSTEM 2005.

The possibility of combining interface modules allows various bus and network systems to be integrated into the B&R SYSTEM 2005. 5.2 CP260 5.2.1 General Information The CPU is inserted in the main rack directly next to the power supply module. It requires two slots. Only the status LEDs can be seen with the module door closed. The

More information

Age nda. Intel PXA27x Processor Family: An Applications Processor for Phone and PDA applications

Age nda. Intel PXA27x Processor Family: An Applications Processor for Phone and PDA applications Intel PXA27x Processor Family: An Applications Processor for Phone and PDA applications N.C. Paver PhD Architect Intel Corporation Hot Chips 16 August 2004 Age nda Overview of the Intel PXA27X processor

More information

Wireless-Tag WT51822-S1

Wireless-Tag WT51822-S1 Wireless-Tag WT51822-S1 Bluetooth Low Energy 4.1 Module DATASHEET Description Bluetooth Low Energy (BLE) module of WT51822-S1 is the next generation BLE4.1(Compatible With BLE4.0) module released by Wireless-Tag

More information

PS Telematik-Projekt: Wireless Embedded Systems

PS Telematik-Projekt: Wireless Embedded Systems 19589 - PS Telematik-Projekt: Wireless Embedded Systems First Steps Bastian Blywis, Dr. Achim Liers Department of Mathematics and Computer Science Institute of Computer Science 08. October, 2008 Institute

More information

RFID A1 Module User Manual V1.183

RFID A1 Module User Manual V1.183 RFID A1 Module User Manual V1.183 Table of Contents 1 Introduction... 4 1.1 Device Overview... 4 1.2 Pinout... 5 1.3 Application... 6 2 Electrical Characteristics... 7 2.1 Test Conditions... 7 2.2 Absolute

More information

eip-10 Embedded TCP/IP 10-BaseT Network Module Features Description Applications

eip-10 Embedded TCP/IP 10-BaseT Network Module Features Description Applications Embedded TCP/IP 10-BaseT Network Module Features 8-bit reprogrammable Microcontroller with Enhanced Flash program memory, EEPROM and Static RAM data memory On board 10Mbps Ethernet controller, and RJ45

More information

8051 Microcontroller Interrupts

8051 Microcontroller Interrupts 8051 Microcontroller Interrupts There are five interrupt sources for the 8051, which means that they can recognize 5 different events that can interrupt regular program execution. Each interrupt can be

More information