Peripheral State Persistence and Interrupt Management For Transiently Powered Systems
|
|
- Erin Stafford
- 6 years ago
- Views:
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 Gautier Berthou, Tristan Delizy, Kevin Marquet, Tanguy Risset, Guillaume Salagnac RESEARCH REPORT N 9018 February 2017 Project-Team Socrate
More informationSystem 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 informationMementos. 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 informationRESTOP: 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 informationARDUINO 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 informationST19WR08 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 informationSystem 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 informationEnergy-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 informationLast 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 informationTI 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 informationIntegrating 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 informationTypical 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 informationOperating 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 informationMaximize 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 informationMICROPROCESSOR 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 informationProcess 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 informationST33F1M, 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 informationCOSC 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 informationA 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 informationLab 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 informationAUTOBEST: 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 informationOperating 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 informationSmart 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 informationNano 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 informationLecture 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 informationAN5123 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 informationArduino 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 informationST33F1M. 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 informationTEVATRON 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 informationHello, 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 informationCN310 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 informationZiLOG 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 informationMechatronics 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 informationELC4438: 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 informationWireless 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 informationAVR 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 informationBLE 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 informationnesc 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 informationInterface 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 informationHardware 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 informationTowards 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 informationCustomize 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 informationPart 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 informationCSE 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 informationCSE 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 informationAn 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 informationLecture 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 informationXen 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 informationSpring 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 informationLecture 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 informationThe 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 informationTypical 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 informationReindeer 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 informationNanoRK. 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 informationOperating 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 informationInterconnects, 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 informationProduct 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 information19: 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 informationZilog 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 informationNUC123xxxAN 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 informationGetting 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 informationPower 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 informationInterrupts 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 informationAVR 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 informationCHAPTER 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 informationAN4749 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 informationSTM32G0 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 informationProcesses. 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 informationInterrupts 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 informationMercury 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 informationChap.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 informationBT2540 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 informationOberon 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 informationChapter 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 informationSecure 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 informationJetBox 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 information1. 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 informationProduct 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 informationEmbedded 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 informationSiFive 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 informationIntegrating 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 informationM68HC08 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 informationMoneta: 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 informationProduct 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 informationTitan 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 informationRayson 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 information8. 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 informationUltra 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 informationSTM8L 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 informationeip-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 informationAPPLICATION 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 informationEmbedded 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 informationTINY 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 informationThe 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 informationAge 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 informationWireless-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 informationPS 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 informationRFID 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 informationeip-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 information8051 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