OCF for resource-constrained environments
|
|
- Bryan Harmon
- 6 years ago
- Views:
Transcription
1 October 11 13, 2016 Berlin, Germany OCF for resource-constrained environments Kishen Maloor, Intel 1
2 Outline Introduction Brief background in OCF Core Constrained environment charactertics IoTivity-Constrained architecture Building applications Porting to new environments 2
3 Introduction What is OCF? Industry consortium with several member companies Publish open IoT standards Standards supported by open-source reference code 3
4 Introduction What is this talk about? IoTivity-Constrained New open source stack Reference Implementation of OCF standards for resource-constrained devices Easily customizable to any constrained platform configuration 4
5 Introduction RFC 7228: Classes of Constrained Devices Name data size (e.g., RAM) code size (e.g., Flash) Class 0, C0 << 10 KiB << 100 KiB Class 1, C1 ~ 10 KiB ~ 100 KiB Class 2, C2 ~ 50 KiB ~ 250 KiB Challenge: Must accommodate (at a minimum) OS + Network stack + drivers + OCF protocol + OCF application 5
6 IoTivity-Constrained vs IoTivity IoTivity-Constrained For resource-constrained devices Battery-powered door locks, tiny wireless sensors embedded in ceiling etc. Devices run small OS Zephyr, Contiki, RIOT OS etc. IoTivity For multi-function devices PCs, smartphones, gateways etc Devices run full-featured OS Linux, Android, Tizen, Windows etc. Both implementations are protocol compatible 6
7 Brief background in OCF Core OCF resource model RESTful design: Things modeled as resources with properties and methods CRUDN operations on resources (GET / OBSERVE, POST, PUT, DELETE) OCF roles Server role: Exposes hosted resources Client role: Accesses resources on a server Properties Resource URI rt: Resource Type if: Resource Interface p: Policy n: Resource Name 7
8 Brief background in OCF Core OCF Protocols Messaging protocol CoAP (RFC 7252) Resource discovery and reliability CBOR (RFC 7049) encoding of OCF payloads DTLS-based authentication, encryption and access control lists* Uses UDP/IP transport; being adapted to Bluetooth *Refer to the OCF Security spec at 8
9 Brief background in OCF Core Well-known OCF resources Functionality Discovery Device Platform Security Fixed URI /oic/res /oic/d /oic/p /oic/sec/* Refer to the OCF Core spec at 9
10 Brief background in OCF Core OCF request/response examples Resource discovery Multicast GET coap:// :5683/oic/res Unicast response [URI: /a/light; rt = [ oic.r.light ], if = [ oic.if.rw ], p= discoverable, observable] 10
11 Brief background in OCF Core OCF request/response examples GET and PUT requests Unicast GET coap:// :9000/a/light Unicast response [URI: /a/light; state = 0, dim = 0] Unicast PUT coap:// :9000/a/light PayLoad: [state=1;dim=50] Unicast response Status = Success 11
12 Brief background in OCF Core OCF request/response examples OBSERVE / Notify Unicast GET coap:// :9000/a/light; Observe_option= 0 Unicast response [URI: /a/light; state = 1, dim = 50] Notify Observers [URI: /a/light; state = 0, dim = 0, sequence #: 1] 12
13 Working in constrained environments Hardware related Low RAM and flash capacity Low power CPU with low clock cycle Execution efficiency Allow selection of feature subset to fulfill application s purpose 13
14 Working in constrained environments Software related Lightweight OS No dynamic memory management Multiplicity of OS, network stack, hardware platform and peripheral options Varying execution context design and scheduling strategy 14
15 IoTivity-Constrained architectural goals At a high level Cross-platform core Abstract interfaces to system clock, connectivity, PRNG, persistent storage Rapid porting to new environments Static memory allocation Modular design 15
16 IoTivity-Constrained architecture Ports Zephyr Abstract Interfaces Clock RIOT Embedded IoT Application On {Zephyr, Contiki, RIOT, Mynewt, Linux, } APIs IoTivity- Constrained Core PRNG Connectivity Persistent Storage Contiki Linux Concrete Implementations of Interfaces IoTivity-Constrained Framework 16
17 IoTivity-Constrained core Application APIs OCF Client Role OCF Server Role Memory Management Event Queue Resource Model Messaging Security Interact uniformly with Interface implementations for all ports 17
18 IoTivity-Constrained event loop Event loop execution Embedded IoT Application while( ) { oc_main_poll() } Callbacks Resource Layer Interrupt events Messaging Security CoAP Connectivity 18
19 IoTivity-Constrained event loop Enter tickless idle mode during periods of inactivity... // Initialize a semaphore while (1) { oc_clock_time_t next_event = oc_main_poll(); // next_event is the absolute time of the next scheduled event in clock ticks // Meanwhile, do other tasks or sleep (e.g., wait on semaphore)... // Framework invokes a callback when there is new work static void signal_event_loop(void) { // Wake up the event loop (e.g., signal the semaphore) } 19
20 Building applications Application structure Incorporate OCF s client or server roles or both Implement a set of callbacks Initialization (Client / Server) Defining and registering OCF resources (Server) Resource handlers for all supported methods (Server) Response handlers for all requests (Client) Entry point for issuing requests (Client) Framework configuration at build-time (config.h) 20
21 Building applications Setting the callbacks Main task in application main() { static const oc_handler_t handler = {.init = app_init,.signal_event_loop = signal_event_loop,.register_resources = register_resources };... oc_main_init(&handler);... while (1) { oc_clock_time_t next_event = oc_main_poll();... 21
22 Building applications Initialization Client / Server void app_init(void) { oc_init_platform("intel", NULL, NULL); oc_add_device("/oic/d", "oic.d.light", "Lamp", "1.0", "1.0", NULL, NULL); oc_storage_config(./creds ); } Populate standard OCF resources (platform / device) oc_storage_config is defined in the implementation of the storage interface for a target 22
23 Building applications Defining a resource Server-side... void register_resources(void) { oc_resource_t *res = oc_new_resource("/a/light", 1, 0); oc_resource_bind_resource_type(res, "core.light"); oc_resource_bind_resource_interface(res, OC_IF_R); oc_resource_set_default_interface(res, OC_IF_R); oc_resource_set_discoverable(res, true); oc_resource_set_observable(res, true); oc_resource_set_request_handler(res, OC_GET, get_light, NULL); oc_add_resource(res); } 23
24 Building applications Defining a resource handler Server-side... bool light_state; int brightness;... static void get_light(oc_request_t *request, oc_interface_mask_t interface,...) { oc_rep_start_root_object(); // Call oc_get_query_value() to access any uri-query oc_rep_set_boolean(root, state, light_state); oc_rep_set_int(root, brightness_level, brightness); oc_rep_end_root_object(); oc_send_response(request, OC_STATUS_OK); } 24
25 Building applications Resource discovery Client-side oc_do_ip_discovery("oic.r.light", &discovery, NULL);... oc_server_handle_t light_server; char light_uri[64];... oc_discovery_flags_t discovery(..., const char *uri,..., oc_server_handle_t *server,,...) { strncpy(light_uri, uri, strlen(uri)); memcpy(&light_server, server, sizeof(oc_server_handle_t)); return OC_STOP_DISCOVERY; // return OC_CONTINUE_DISCOVERY to review other resources } 25
26 Building applications Issuing a request Client-side oc_server_handle_t light_server; // Populated in the discovery callback char light_uri[64];... oc_do_get(light_uri, &light_server, unit=cd, &get_light, LOW_QOS, NULL);... 26
27 Building applications Handling a response Client-side void get_light(oc_client_response_t *data) { oc_rep_t *rep = data->payload; while (rep!= NULL) { // rep->name contains the key of the key-value pair switch (rep->type) { case BOOL: light_state = rep->value_boolean; break; case INT: brightness = rep->value_int; break; } rep = rep->next; } } 27
28 Building applications Separate response: For slow resources Server-side oc_separate_response_t temp_response; // Separate response handle for a request... static void get_temp(oc_request_t *request, oc_interface_mask_t interface) { oc_indicate_separate_response(request, &temp_response); }... void response_ready( ) {... oc_set_separate_response_buffer(&temp_response); oc_rep_start_root_object(); oc_rep_set_int(root, temp, temperature); oc_rep_end_root_object(); oc_send_separate_response(&temp_response, OC_STATUS_OK); 28
29 Building applications Scheduling events Client / Server Trigger callback after a period of time... oc_event_callback_retval_t run_after_a_sec(void *user_data) {... return DONE; // Tears down the callback // return CONTINUE instead to be called back once more after the preset interval }... oc_set_delayed_callback(null, &run_after_a_sec, 1);... May be used for scheduling one-off or periodic request issuances 29
30 Building applications Handling Interrupts Server-side Applications can define and signal a callback from an external context (eg. ISR) Callback executed on task that runs the event loop oc_define_interrupt_handler(temp_sensor) { // Callback definition... }... static void app_init(void){ oc_activate_interrupt_handler(temp_sensor); // Callback registration... void temp_sensor_isr() {... oc_signal_interrupt_handler(temp_sensor); // Callback Signaling 30
31 Building applications Framework configuration Set at build-time in a file config.h Number of application resources Number of request/response buffers Maximum payload sizes Memory pool sizes Max # of DTLS peers DTLS connection timeout 31
32 Porting to new environments Abstract Interfaces Clock IoTivity- Constrained Core PRNG Connectivity Persistent Storage IoTivity-Constrained Framework 32
33 Porting to new environments Clock interface // Set clock resolution in IoTivity-Constrained s configuration file: config.h #define OC_CLOCK_CONF_TICKS_PER_SECOND (...) typedef uint64_t oc_clock_time_t; // timestamp field width // Declared in port/oc_clock.h // Implement the following functions using the platform/os s APIs, For eg. on Linux // using clock_gettime() void oc_clock_init(void); oc_clock_time_t oc_clock_time(void); unsigned long oc_clock_seconds(void); void oc_clock_wait(oc_clock_time_t t); 33
34 Porting to new environments Connectivity interface // Declared in port/oc_connectivity.h // Implement the following functions using the platform s network stack. int oc_connectivity_init(void); void oc_connectivity_shutdown(void); void oc_send_buffer(oc_message_t *message); void oc_send_multicast_message(oc_message_t *message); uint16_t oc_connectivity_get_dtls_port(void); oc_message_t contains remote endpoint information (IP/Bluetooth address), and a data buffer 34
35 Porting to new environments Connectivity interface: network event synchronization Capture incoming messages by polling or with blocking wait in a separate context and construct an oc_message_t object Message injected into framework for processing via oc_network_event() call Based on nature of OS or implementation, might require synchronization void oc_network_event_handler_mutex_init(void); void oc_network_event_handler_mutex_lock(void); void oc_network_event_handler_mutex_unlock(void); 35
36 Porting to new environments PRNG interface // Declared in port/oc_random.h // Implement the following functions to interact with the platform s PRNG void oc_random_init(void); unsigned int oc_random_value(void); void oc_random_destroy(void); 36
37 Porting to new environments Persistent storage interface // Declared in port/oc_storage.h // Implement the following functions to interact with the platform s persistent storage // oc_storage_read/write must implement access to a key-value store int oc_storage_config(const char *store_ref); long oc_storage_read(const char *key, uint8_t *buf, size_t size); long oc_storage_write(const char *key, uint8_t *buf, size_t size); 37
38 Conclusion Pointers to code Source code: IoTivity mailing list: Project actively developed Ports for RIOT OS, Zephyr, Contiki and Linux Feature gaps, enhancements, pass OCF certification tests Project, code and API documentation Your involvement and contributions are welcome! 38
39 Q & A
OCF Specification Overview Core Technology Specification. OCF 2.0 Release June 2018
OCF Specification Overview Core Technology Specification OCF 2.0 Release June 2018 Core Framework Topics Outline (1 of 2) Objectives RESTful Architecture OCF Roles Resources Basic Operations Organization
More informationIoTivity: The Open Connectivity Foundation and the IoT Challenge
IoTivity: The Open Connectivity Foundation and the IoT Challenge Thiago Macieira Embedded Linux Conference / Open IoT Summit Berlin, October 2016 Who am I? 2 3 About the Open Connectivity Foundation 4
More informationTizen/Artik IoT Practice Part 5 IoTivity Simple Server and Simple Client
1 Tizen/Artik IoT Practice Part 5 IoTivity Simple Server and Simple Client Sungkyunkwan University IoTivity Resource 2 In IoTivity, an entity(e.g. Sensor, Actuator) is being handled as a resource(ocf Resource
More informationIoTivity Big Picture. MyeongGi Jeong Software R&D Center
IoTivity Big Picture MyeongGi Jeong 2016.11.17 Software R&D Center Contents Overview Features Messaging Security Service Q&A Copyright c 2016 SAMSUNG ELECTRONICS. ALL RIGHTS RESERVED Overview IoTivity?
More informationTizen/Artik IoT Lecture Chapter 7. IoTivity Connectivity Abstraction
1 Tizen/Artik IoT Lecture Chapter 7. IoTivity Connectivity Abstraction Sungkyunkwan University Contents 2 Architecture Routing Through Heterogeneous Connectivity Blockwise Transfer Call Path Sending Data
More informationARCHITECTURING AND SECURING IOT PLATFORMS JANKO ISIDOROVIC MAINFLUX
ARCHITECTURING AND SECURING IOT PLATFORMS JANKO ISIDOROVIC CEO @ MAINFLUX Outline Internet of Things (IoT) Common IoT Project challenges - Networking - Power Consumption - Computing Power - Scalability
More informationIOTIVITY INTRODUCTION
IOTIVITY INTRODUCTION Martin Hsu Intel Open Source Technology Center 1 Content may contain references, logos, trade or service marks that are the property of their respective owners. Agenda Overview Architecture
More informationIOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center
IOTIVITY AND EMBEDDED LINUX SUPPORT Kishen Maloor Intel Open Source Technology Center Outline Open Interconnect Consortium and IoTivity Software development challenges in embedded Yocto Project and how
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 informationIoTivity Provisioning Manager Design Specification v0.1d
IoTivity Provisioning Manager Design Specification v0.1d Contributing Authors (alphabetical order): Ashwini Kumar Chul Lee Randeep Singh Sandeep Sharma WooChul Shim 1 Table of Contents Background... 3
More informationOCF Fundamentals. Ravi Subramaniam Principal Engineer, Intel Corporation
OCF Fundamentals Ravi Subramaniam Principal Engineer, Intel Corporation 1 Fundamental Fundamentals OCF Resource Model Mapping onto Comms Transports 2 Many kinds of devices OIC Scope (current) Controller
More informationSoletta. Closing the IoT Development Gap. OpenIoT & ELC Europe 2016
Soletta Closing the IoT Development Gap OpenIoT & ELC Europe 2016 Agenda - Who am I? - IoT Development Gaps - How to close IoT Development Gaps - Soletta Overview - Key Subsystems - Flow Based Programming
More informationDALI 2 Framework Design Document Introduction System Requirements Hardware Requirements Software Requirements...
DALI 2 Framework Design Document Version 1.0 1. Introduction This project provides a Synergy Platform compatible Framework for the Digital Addressable Lighting Interface (DALI; International standard IEC
More informationARM IoT Tutorial. CoAP: The Web of Things Protocol Zach Shelby. April 30 th, 2014
ARM IoT Tutorial CoAP: The Web of Things Protocol Zach Shelby April 30 th, 2014 1 2 Introduction Evolution from M2M to IoT M2M Big Data Internet of Things Services Web The Web Little Data Things 3 3 CoAP:
More informationAssessing interoperability in Internet of Things ecosystems
Assessing interoperability in Internet of Things ecosystems Lars Bendik Dølvik Applied Computer Science Submission date: June 2017 Supervisor: Rune Hjelsvold, IDI Norwegian University of Science and Technology
More informationInteroperability Frameworks for RIOT-OS
Interoperability Frameworks for RIOT-OS @Mattia_Antonini m.antonini@create-net.org Università degli Studi INTEROPERABILITY Berlin, 15th July 2016 Stack Base Layer Service Layer Implementations Official
More informationIP Based Architecture for the Internet of Things. IPV6 and Related Standards for IoT Interoperability November 20, 2014
IP Based Architecture for the Internet of Things IPV6 and Related Standards for IoT Interoperability November 20, 2014 1 IoT Architecture Problems to Solve Interoperability In the way in which software
More informationMetaWatch Firmware Design Guide
MetaWatch Firmware Design Guide MetaWatch Firmware Design Guide Page 1 of 14 1 Contents 1 Contents... 2 2 Introduction... 3 2.1 Revision History... 4 3 Hardware... 5 3.1 Common Watch Features... 5 3.2
More informationIoTivity. Sungkyunkwan University. Presenter: Dzung Tien Nguyen Networking Laboratory,
Sungkyunkwan University IoTivity Presenter: Dzung Tien Nguyen Networking Laboratory, 83345 ntdung@skku.edu Copyright 2000-2015 Networking Laboratory 1/00 Current issues Incompatibility of platforms: Manufacturers
More informationOCF 2.0 Semantic Tagging ATG CR1970. Legal Disclaimer
Template version: 1.0 page 1 OCF 2.0 Semantic Tagging ATG CR1970 Legal Disclaimer THIS IS A DRAFT SPECIFICATION DOCUMENT ONLY AND HAS NOT BEEN ADOPTED BY THE OPEN CONNECTIVITY FOUNDATION. THIS DRAFT DOCUMENT
More informationDotstack Porting Guide.
dotstack TM Dotstack Porting Guide. dotstack Bluetooth stack is a C library and several external interfaces that needs to be implemented in the integration layer to run the stack on a concrete platform.
More informationARM mbed with us Hands On Getting to the Cloud
ARM mbed with us Hands On Getting to the Cloud What is mbed Device Connector? mbed Device Connector mbed Device Connector is a service that lets you to provision and connect Internet of Things (IoT) devices
More informationBluetooth low energy Protocol Stack
APPLICATION NOTE R01AN2768EJ0130 Rev.1.30 Introduction This manual describes how to develop an application using the Bluetooth low energy software (hereafter called BLE software), and overview of RWKE
More informationEmbedded Web Services
Nov 1 st, 2011 Embedded Web Services Zach Shelby, Chief Nerd 1 Course Overview Powering M2M with the Internet of Things Industry examples What are Web Services? CoRE - Constrained RESTful Environments
More informationTizen/Artik IoT Lecture Chapter 10. IoTivity Resource Encapsulation
1 Tizen/Artik IoT Lecture Chapter 10. IoTivity Resource Encapsulation Sungkyunkwan University Contents Resource Encapsulation Components Resource Client API: Key Objects Resource Encapsulation Components
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 informationRF Networking With MSP430 & the ez430-rf2500 Session 2 Miguel Morales, MSP430 Applications 6/5/2008 1
RF Networking With MSP430 & the ez430-rf2500 Session 2 Miguel Morales, MSP430 Applications 6/5/2008 1 Agenda Recap of Session 1 Hardware description Session 2 Lab Overview Lab 2.1 Tilt & Ambient Noise
More informationProvisioning IoT with Web NFC. Zoltan Kis Intel
Provisioning IoT with Web NFC Zoltan Kis (@zolkis), Intel Background JavaScript APIs for IoTivity, Soletta W3C Web NFC editor Web access to hardware Earlier: Network management (DSL) Mesh radio networks
More informationLab Assignment: Interrupt + Lookup Tables + Binary
Lab Assignment: Interrupt + Lookup Tables + Binary Semaphores Objective To learn how to create a single dynamic user defined interrupt service routine callback driver/library. This lab will utilize: Semaphores
More informationEECS 3221 Operating System Fundamentals
EECS 3221 Operating System Fundamentals Instructor: Prof. Hui Jiang Email: hj@cse.yorku.ca Web: http://www.eecs.yorku.ca/course/3221 General Info 3 lecture hours each week 2 assignments (2*5%=10%) 1 project
More informationEECS 3221 Operating System Fundamentals
General Info EECS 3221 Operating System Fundamentals Instructor: Prof. Hui Jiang Email: hj@cse.yorku.ca Web: http://www.eecs.yorku.ca/course/3221 3 lecture hours each week 2 assignments (2*5%=10%) 1 project
More informationInternet of Things: An Introduction
Internet of Things: An Introduction IoT Overview and Architecture IoT Communication Protocols Acknowledgements 1.1 What is IoT? Internet of Things (IoT) comprises things that have unique identities and
More informationConstrained Application Protocol (CoAP) Vilen Looga, M.Sc. Doctoral
Constrained Application Protocol (CoAP) Vilen Looga, M.Sc. Doctoral Student @dcs.aalto Outline Introduction CoAP at a glance Messages Observe Hardware Demo MAMMOTH Conclusions References 50 billion connected
More informations132_nrf52 release notes
s132_nrf52 release notes Table of Contents Introduction to the s132_nrf52 release notes These release notes describe the changes in the s132_nrf52 from version to version. The release notes are intended
More informationImplementation work on open source web of things servers and gateways. Dave Raggett, W3C
Implementation work on open source web of things servers and gateways Dave Raggett, W3C Monday, 11 April 2016 Introduction I am working on two open source Web of Things server projects NodeJS
More information#include <tobii/tobii.h> char const* tobii_error_message( tobii_error_t error );
tobii.h Thread safety The tobii.h header file collects the core API functions of stream engine. It contains functions to initialize the API and establish a connection to a tracker, as well as enumerating
More informationTowards a Zero-Configuration Wireless Sensor Network Architecture for Smart Buildings
Towards a Zero-Configuration Wireless Sensor Network Architecture for Smart Buildings By Lars Schor, Philipp Sommer, Roger Wattenhofer Computer Engineering and Networks Laboratory ETH Zurich, Switzerland
More informationSpiNNaker Application Programming Interface (API)
SpiNNaker Application Programming Interface (API) Version 2.0.0 10 March 2016 Application programming interface (API) Event-driven programming model The SpiNNaker API programming model is a simple, event-driven
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 informationMultitasking. Embedded Systems
Multitasking in Embedded Systems 1 / 39 Multitasking in Embedded Systems v1.0 Multitasking in ES What is Singletasking? What is Multitasking? Why Multitasking? Different approaches Realtime Operating Systems
More informationPusleIR Multitouch Screen Software SDK Specification. Revision 4.0
PusleIR Multitouch Screen Software SDK Specification Revision 4.0 Table of Contents 1. Overview... 3 1.1. Diagram... 3 1.1. PulseIR API Hierarchy... 3 1.2. DLL File... 4 2. Data Structure... 5 2.1 Point
More informationLinux SDK for UPnP Devices v1.4
Linux SDK for UPnP Devices v1.4 Linux SDK for UPnP Devices v1.4 Contents 1 Introduction............................................................. 5 2 License...................................................................
More informationReal-Time Systems Hermann Härtig Real-Time Operating Systems Brief Overview
Real-Time Systems Hermann Härtig Real-Time Operating Systems Brief Overview 02/02/12 Outline Introduction Basic variants of RTOSes Real-Time paradigms Common requirements for all RTOSes High level resources
More informationConstrained Application Protocol (CoAP) Vilen Looga, M.Sc. Doctoral
Constrained Application Protocol (CoAP) Vilen Looga, M.Sc. Doctoral Student @dcs.aalto Outline Introduction CoAP at a glance Messages Observe Hardware Demo MAMMOTH Conclusions References 50 billion connected
More informationChapter 13: I/O Systems. Operating System Concepts 9 th Edition
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne 2013 Chapter 13: I/O Systems Overview I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations
More informationDeveloper manual. (Onvif Client Library) Happytimesoft Technology Co.,LTD
Developer manual (Onvif Client Library) Happytimesoft Technology Co.,LTD Declaration All rights reserved. No part of this publication may be excerpted, reproduced, translated, annotated or edited, in any
More informationRM0327 Reference manual
Reference manual Multi-Target Trace API version 1.0 Overview Multi-Target Trace (MTT) is an application instrumentation library that provides a consistent way to embed instrumentation into a software application,
More informationint fnvgetconfig(handle h, UINT32 id, const void *cfg, size_t sz);... 4
RP-VL-UTIL-V1 Developer s Guide [ Contents ] 1. Introduction... 1 2. Building Environment... 1 3. Operating Environment... 1 4. Function Explanation... 2 4.1. Common API for Transmitting and Receiving...
More informationOpenAMP Discussion - Linaro2018HK. Copyright 2018 Xilinx
OpenAMP Discussion - Linaro2018HK Agenda o SPDX Short Licenses Identifier o Coding Guideline o API Standardisation o Coprocessor Image Format o OpenAMP and Container Page 2 OpenAMP License Page 3 SPDX
More informationProgramming Guide. WISE-PaaS/RMM 3.2. Wireless IoT Sensing Embedded Agent WISE-Agent Programming Guide
Programming Guide WISE-PaaS/RMM 3.2 Wireless IoT Sensing Embedded Agent WISE-Agent Programming Guide Change Log: Date Version / Major change 2015/02/21 V0.1 Scott Chang, create draft document 2015/03/08
More informationMaRTE OS Misc utilities
MaRTE OS Misc utilities Daniel Sangorrin daniel.sangorrin@{unican.es, gmail.com} rev 0.1: 2008-5-12 1. Circular Memory Buffer This is a generic software component that allows the user to write some data
More informationImplementation work on open source web of things servers and gateways. Dave Raggett, W3C
Implementation work on open source web of things servers and gateways Dave Raggett, W3C Monday, 11 April 2016 Reference Architecture Browser for HMI Gateway Cloud based Services Powered, multi-protocol
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 informationChapter 5.6 Network and Multiplayer
Chapter 5.6 Network and Multiplayer Multiplayer Modes: Event Timing Turn-Based Easy to implement Any connection type Real-Time Difficult to implement Latency sensitive 2 Multiplayer Modes: Shared I/O Input
More informationJonas Green, Björn Otterdahl HMS Industrial Networks AB. February 22, 2017
Resource-constrained Industrial Things Proposal for the Adaptation of CoAP to EtherNet/IP Jonas Green, Björn Otterdahl HMS Industrial Networks AB February 22, 2017 Connect all devices in a factory to EtherNet/IP
More informationThis Document describes the API provided by the DVB-Multicast-Client library
DVB-Multicast-Client API-Specification Date: 17.07.2009 Version: 2.00 Author: Deti Fliegl This Document describes the API provided by the DVB-Multicast-Client library Receiver API Module
More informationEmbedded Systems. 5. Operating Systems. Lothar Thiele. Computer Engineering and Networks Laboratory
Embedded Systems 5. Operating Systems Lothar Thiele Computer Engineering and Networks Laboratory Embedded Operating Systems 5 2 Embedded Operating System (OS) Why an operating system (OS) at all? Same
More informationResilient IoT Security: The end of flat security models
Resilient IoT Security: The end of flat security models Xiao Sun Senior Application Engineer ARM Tech Symposia China 2015 November 2015 Evolution from M2M to IoT M2M Silos of Things Standards Security
More informationFreeRTOS. A Brief Overview. Christopher Kenna. October 1, Avionics. FreeRTOS 1 / 34
A Brief Overview Christopher Kenna Avionics October 1, 2010 1 / 34 Introduction Outline 1 Introduction About Kernel Overview 2 Tasks Tasks versus Co-Routines Task Details 3 IPC and Synchronization Queues
More informationAn Architecture for Underwater Networks
An Architecture for Underwater Networks Mandar Chitre Acoustic Research Laboratory, National University of Singapore Lee Freitag Woods Hole Oceanographic Institution Ethem Sozer Massachusetts Institute
More informationEmbedded Software TI2726 B. 7. Embedded software design. Koen Langendoen. Embedded Software Group
Embedded Software 7. Embedded software design TI2726 B Koen Langendoen Embedded Software Group Overview Timing services RTOS and ISRs Design of embedded systems General principles Timing Functionality
More informationVinod Koul, Sanyog Kale Intel Corp. MIPI SoundWire Linux Subsystem: An introduction to Protocol and Linux Subsystem
Vinod Koul, Sanyog Kale MIPI SoundWire Linux Subsystem: An introduction to Protocol and Linux Subsystem Agenda MIPI SoundWire Basics Linux Subsystem SoundWire Linux Bus SoundWire Master SoundWire Slave
More informationAn Implementation of Fog Computing Attributes in an IoT Environment
An Implementation of Fog Computing Attributes in an IoT Environment Ranjit Deshpande CTO K2 Inc. Introduction Ranjit Deshpande CTO K2 Inc. K2 Inc. s end-to-end IoT platform Transforms Sensor Data into
More informationVD Interfaces V0.1. Draft 2
VD Interfaces V0.1 Draft 2 Copyright 2009 Red Hat, Inc. Licensed under a Creative Commons Attribution-Share Alike 3.0 United States License (see http://creativecommons.org/licenses/by-sa/3.0/us/legalcode).
More informationLithe: Lightweight Secure CoAP for the Internet of Things
Lithe: Lightweight Secure CoAP for the Internet of Things S. Raza, H. Shafagh, etc. IEEE Sensors 2013, Volume 13 Speaker: Renato Iida, Le Wang 2 Outline Introduction Background CoAP and DTLS 6LoWPAN DTLS
More informationLecture 3. Introduction to Real-Time kernels. Real-Time Systems
Real-Time Systems Lecture 3 Introduction to Real-Time kernels Task States Generic architecture of Real-Time kernels Typical structures and functions of Real-Time kernels Last lecture (2) Computational
More informationQuadros. RTXC Kernel Services Reference, Volume 1. Levels, Threads, Exceptions, Pipes, Event Sources, Counters, and Alarms. Systems Inc.
Quadros Systems Inc. RTXC Kernel Services Reference, Volume 1 Levels, Threads, Exceptions, Pipes, Event Sources, Counters, and Alarms Disclaimer Quadros Systems, Inc. makes no representations or warranties
More informationAsynchronous Events on Linux
Asynchronous Events on Linux Frederic.Rossi@Ericsson.CA Open System Lab Systems Research June 25, 2002 Ericsson Research Canada Introduction Linux performs well as a general purpose OS but doesn t satisfy
More informationEVE2 BLE Datasheet. The EVE Platform features standardized IO, common OS and drivers and ultra-low power consumption.
Datasheet Main features Software Micro-kernel with scheduling, power and clock management Contiki OS Tickless design Drivers for peripherals Bluetooth 4.1 compliant low energy singlemode protocol stack
More informationECEN 449 Microprocessor System Design. Hardware-Software Communication. Texas A&M University
ECEN 449 Microprocessor System Design Hardware-Software Communication 1 Objectives of this Lecture Unit Learn basics of Hardware-Software communication Memory Mapped I/O Polling/Interrupts 2 Motivation
More informationThe Big Picture So Far. Chapter 4: Processes
The Big Picture So Far HW Abstraction Processor Memory IO devices File system Distributed systems Example OS Services Process management, protection, synchronization Memory Protection, management, VM Interrupt
More informationHLD For SMP node affinity
HLD For SMP node affinity Introduction Current versions of Lustre rely on a single active metadata server. Metadata throughput may be a bottleneck for large sites with many thousands of nodes. System architects
More informationRFC: connectionless Data Link Metalanguage Burkhard Daniel
RFC: connectionless Data Link Metalanguage Burkhard Daniel (burk@stg.com) This RFC details a specification draft for a UDI metalanguage interfacing UDI Network Protocol drivers to UDI Data Link drivers.
More informationLike select() and poll(), epoll can monitor multiple FDs epoll returns readiness information in similar manner to poll() Two main advantages:
Outline 22 Alternative I/O Models 22-1 22.1 Overview 22-3 22.2 Nonblocking I/O 22-5 22.3 Signal-driven I/O 22-11 22.4 I/O multiplexing: poll() 22-14 22.5 Problems with poll() and select() 22-31 22.6 The
More informationOCF 2.0 Constrained Device Support OIC 1.1 Core Technology WG CR Legal Disclaimer
Template version: 1.2 page 1 OCF 2.0 Constrained Device Support OIC 1.1 Core Technology WG CR 2413 Legal Disclaimer THIS IS A DRAFT SPECIFICATION DOCUMENT ONLY AND HAS NOT BEEN ADOPTED BY THE OPEN CONNECTIVITY
More informationOperating Systems 2010/2011
Operating Systems 2010/2011 Input/Output Systems part 1 (ch13) Shudong Chen 1 Objectives Discuss the principles of I/O hardware and its complexity Explore the structure of an operating system s I/O subsystem
More informationIoT on Fedora Using Fedora as a base for the IoT Revolution
IoT on Fedora Using Fedora as a base for the IoT Revolution Presented by Peter Robinson Fedora contriibutor, Red Hatter CC-BY-SA Overview Am I just going to talk ARM? HELL NO!! IoT is a LOT bigger than
More informationOperating Systems. Introduction & Overview. Outline for today s lecture. Administrivia. ITS 225: Operating Systems. Lecture 1
ITS 225: Operating Systems Operating Systems Lecture 1 Introduction & Overview Jan 15, 2004 Dr. Matthew Dailey Information Technology Program Sirindhorn International Institute of Technology Thammasat
More informationTriangle MicroWorks IEC Library Evaluation Kit
T Triangle MicroWorks IEC 61850 Library Evaluation Kit Introduction The IEC 61850 Library Evaluation Kit from Triangle MicroWorks provides a Demo Server application to demonstrate the functionality of
More informationHomework. Reading. Machine Projects. Labs. Intel 8254 Programmable Interval Timer (PIT) Data Sheet. Continue on MP3
Homework Reading Intel 8254 Programmable Interval Timer (PIT) Data Sheet Machine Projects Continue on MP3 Labs Continue in labs with your assigned section 1 Restrictions on ISR Code Software that was executing
More informationAN HONORS UNIVERSITY IN MARYLAND UMBC. AvrX. Yousef Ebrahimi Professor Ryan Robucci
AvrX https://github.com/kororos/avrx Yousef Ebrahimi Professor Ryan Robucci Introduction AvrX is a Real Time Multitasking Kernel written for the Atmel AVR series of micro controllers. The Kernel is written
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 informationSecurity Monitoring of LwM2M Protocol
Security Monitoring of LwM2M Protocol Technical Report FIT-TR-2017-16 Ondřej Ryšavý Marek Rychlý Ondřej Ryšavý Technical Report no. FIT-TR-2017-16 Faculty of Information Technology Brno University of Technology
More informationModel Based Development of Embedded Control Software
Model Based Development of Embedded Control Software Part 5: Portable TDL Run-time System Claudiu Farcas Credits: MoDECS Project Team, Giotto Department of Computer Science cs.uni-salzburg.at Contents
More informationTizen/Artik IoT Lecture Chapter 11. IoTivity Resource Hosting & Resource Directory
1 Tizen/Artik IoT Lecture Chapter 11. IoTivity Resource Hosting & Resource Directory Sungkyunkwan University Contents 2 Resource Hosting Design Resource Hosting in IoTivity Discovery: OICStartCoordinate()
More informationBluetooth Mesh. Johan Hedberg
Bluetooth Mesh Johan Hedberg What is Bluetooth Mesh? New standard which came out in 2017 Many-to-many, multi-hop topology No new Bluetooth HW required Broadcast & relay in a flooding/ripple fashion Mainly
More informationOCF Core Specifiation
OCF Core Specifiation VERSION 1.1.0 June 2017 Part 1 CONTACT admin@openconnectivity.org Copyright Open Connectivity Foundation, Inc. 2016-2017. All Rights Reserved. 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
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 informationMulticast Dissemination Protocol (MDP) Developer's Guide
Multicast Dissemination Protocol (MDP) Developer's Guide Brian Adamson Newlink Global Engineering Corporation Joe Macker Naval Research Laboratory 1
More informationEmbedded Programming for IoT. John Light, Intel OTC OpenIoT Summit, San Diego 6 April 2016
Embedded Programming for IoT John Light, Intel OTC OpenIoT Summit, San Diego 6 April 2016 Embedded programming is a lost art Fewer and fewer engineers understand embedded programming. Embedded software
More informationOS: An Overview. ICS332 Operating Systems
OS: An Overview ICS332 Operating Systems Why are we studying this? After all, you probably will not develop an OS Important to understand what you use: Develop better (apps); What can and cannot be done;
More informationReal-Time Concepts for Embedded Systems Author: Qing Li with Caroline Yao
Real-Time Concepts for Embedded Systems Author: Qing Li with Caroline Yao ISBN: 1-57820-124-1 CMPBooks Chapter 11 Timer and Timer Services Outline 11.1 Introduction 11.2 Real-Time Clocks and System Clocks
More informationMajor Components of the Internet of Things Systems
Major Components of the Internet of Things Systems 1 1. Sensors and Control Units 2 Sensors Analog Sensors: thermistor, photoconductor, pressure gauge and Hall sensor Digital Sensors: touch sensor, proximity
More informationIoT OSes: Contiki-NG Part 1. Luca Mottola
IoT OSes: Contiki-NG Part 1 Luca Mottola luca.mottola@polimi.it Road-map Goals: Acquire concepts Immediately put them in practice Our target platform is Contiki-NG We use Contiki-NG as an opportunity to
More information5/11/2012 CMSIS-RTOS. Niall Cooling Feabhas Limited CMSIS. Cortex Microcontroller Software Interface Standard.
Niall Cooling Feabhas Limited www.feabhas.com Cortex Microcontroller Software Interface Standard CMSIS 2 1 ARM Cortex Family A Series Application MMU Linux, Android, Windows R Series Real-Time MPU M Series
More informationThe Big Picture So Far. Chapter 4: Processes
The Big Picture So Far HW Abstraction Processor Memory IO devices File system Distributed systems Example OS Services Process management, protection, synchronization Memory Protection, management, VM Interrupt
More informationFaculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology
Faculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology exam Embedded Software TI2726-B January 28, 2019 13.30-15.00 This exam (6 pages) consists of 60 True/False
More informationZymkey App Utils: C++
Zymkey App Utils: C++ Generated by Doxygen 1.8.8 Tue Apr 3 2018 07:21:52 Contents 1 Intro 1 2 Hierarchical Index 5 2.1 Class Hierarchy............................................ 5 3 Class Index 7 3.1
More informationReal-Time Systems. Real-Time Operating Systems
Real-Time Systems Real-Time Operating Systems Hermann Härtig WS 2018/19 Outline Introduction Basic variants of RTOSes Real-Time paradigms Common requirements for all RTOSes High level resources Non-Real-Time
More informationResilient IoT Security: The end of flat security models. Milosch Meriac IoT Security Engineer
Resilient IoT Security: The end of flat security models Milosch Meriac IoT Security Engineer milosch.meriac@arm.com Securing a computer system has traditionally been a battle of wits: the penetrator tries
More information