Disclaimers. Trademarks. Copyrights. Novos FCFS Environment User Guide

Size: px
Start display at page:

Download "Disclaimers. Trademarks. Copyrights. Novos FCFS Environment User Guide"

Transcription

1

2 Disclaimers Embedded Environments Co. (Company), provides this User Guide as is WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. The complete text of the Novos Documentation License is available at the Company website, The Company reserves the right to revise this publication at any time and to make changes to its content and the software it represents and without obligation to inform any person or entity of such revisions or changes. Trademarks Novos and the following derivatives are trademarks of Embedded Environments Co: Novos, Novos FB, Novos Foreground/Background, Novos EFB, Novos Extended Foreground/Background, Novos FCFS, Novos First Come, First Served Scheduling, Novos RRS, Novos Round Robin Scheduling, Novos PPS, Novos Pre-emptive Priority Scheduling Other product and company names mentioned in this document may be the trademarks or registered trademarks of their respective owners. Copyrights Ownership of and all copyrights to the source code of the Novos environment as it relates to this document are held by Embedded Environments Co. It is distributed as free software. You can copy it, modify it and even redistribute it under the terms of the Novos Software License as published on the Company website, Ownership of and all rights to this publication, including the copyright, are held and/or reserved by Embedded Environments Co. This document is licensed to you as the sole user. No part of this document may be reproduced, photocopied, stored on a retrieval system, redistributed or transmitted without the express written consent of Embedded Environments Co. Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 2 of 154

3 Modification History Version # Major Release # Minor Release # Date Author Revised Sections Oct-2016 ATB Initial Release Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 3 of 154

4 Table of Contents Disclaimers... 2 Trademarks... 2 Copyrights... 2 Modification History... 3 Table of Contents... 4 List of Examples List of Figures List of Tables Foreword Chapter 1 How to Use This Guide Scope of this Guide Novos Usage Commercial Usage Errors and Inaccuracies Conventions Used in This Guide Cautions, Tips and Notes Font and Capitalization Usage Chapter 2 Novos Environments for Embedded Systems Source Code Common Code and Headers Novos Environment APIs Port-Specific Code and Headers Core Functions Configuring System Processing Priority Queue Size Enumerated Values of DIH Priorities Enumerated Values of FG Task Priorities Stack Alignment Parametric Diagnostics Terminal Error Return Mode Compiling Object Classes Class Properties Objects Object Properties Object Identifiers Creating Objects Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 4 of 154

5 Allocating RAM for an Object Object Header Terminal Errors Terminal Error Packet Terminal Error Handler Exiting the Terminal Error Handler User-Defined Terminal Error Handler Application Program Interface (API) The Service Name Service Completion Code Usage Target Chapter 3 The Novos First Come, First Served Scheduling (FCFS) Environment Introduction Features Planes of Operation Interrupt Plane Foreground Plane Background Plane Stacks Stack Orientation Guard Words System Stack Background Stacks System Initialization System Properties System RAM User RAM System Stack Idle Task Stack System Processing Priority Queue Classes Foreground Execution Entities Foreground Execution Support Foreground Entity Control Block Foreground Carrier Packet Deferred Interrupt Handler Event Action Routine Foreground Tasks Background Execution Entities (Tasks) Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 5 of 154

6 Reusing User RAM Used RAM List Chapter 4 Interrupt Processing Introduction Interrupt Processing Sequence Interrupt Vectors Starting an ISR Preserving the Interrupted CPU Context Switching Stacks in an ISR Immediate Interrupt Handling Form of the IIH Scheduling the Deferred Interrupt Handler Ending an ISR Deferred Interrupt Handler (DIH) Example ISR Chapter 5 Deferred Interrupt Handlers Introduction States of a DIH Using Deferred Interrupt Handlers Definition of a DIH Object DIH Properties Creating a DIH Referencing a DIH DIH Services DIH Example Chapter 6 Event Action Routines Introduction States of an EAR Using Event Action Routines Definition of an EAR Object EAR Properties Creating an EAR Referencing an EAR EAR-Event Association Options Multiple EARs Associated with an Event Execution of an EAR EAR Services EAR Example Chapter 7 Foreground Tasks Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 6 of 154

7 Introduction Using FG Tasks Definition of a FG Task Object FG Task Properties Creating a FG Task Referencing a FG Task FG Task Services Chapter 8 Background Tasks Introduction Task Control Block The Idle Task Current Task Pre-emption Background Ready List What is a Task? Task Code Template Infinite Life Model Finite Life Model Task Priority Background Task States INITIALIZED State READY State RUNNING State BLOCKED State CLOSED State Using Background Tasks Task Scheduling Definition of a Background Task Background Task Properties Task Stack Creating a Background Task Referencing a Background Task Referencing the Current Task Referencing the Idle Task Background Task Events Background Task Operations Closing a Background Task Terminating a Background Task Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 7 of 154

8 Background Task Services Chapter 9 Timebase Counter Introduction Timebase Counter States Using the Timebase Counter Definition of the Timebase Counter Timebase Counter Properties Creating the Timebase Counter Conversion of Real-Time to Ticks Referencing the Timebase Counter Timebase Counter Services Chapter 10 Alarms Introduction Alarm Types One-Shot Alarms Cyclic Alarms Alarm States Using Alarms Definition of an Alarm Object Alarm Properties Creating an Alarm Closing an Alarm Referencing an Alarm Conversion from Time to Ticks Relative Time Alarm Period Ambiguity Testing an Alarm Alarm Events Associating an Alarm Event with an EAR Alarm Services Chapter 11 Event Groups Introduction Event Group States Using Event Groups Definition of an Event Group Object Event Group Properties Creating an Event Group Closing an Event Group Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 8 of 154

9 Referencing an Event Group Testing Event Group Flags Boolean Operators Testing from a Background Task Multiple Tests on an Event Group Testing from a Foreground Entity or Idle Task Event Group Events Associating an Event Group Event with an EAR Multiple EAR Associations with an Event Group Event Event Group Services Chapter 12 Queues Introduction Queue Producer Multiple Producers Queue Consumer Multiple Consumers Data Transfer Modes Order of Data Movement First-In, First-Out (FIFO) Order Last-In, First-Out (LIFO) Order Peeking in a Queue Queue States Using Queues Definition of a Queue Object Queue Properties Creating a Queue Closing a Queue Referencing a Queue Queue Operations Queue Operations in a Background Task Queue Operations in a Foreground Entity Queue Events Associating a Queue Event with an EAR Background Tasks Foreground Tasks and the Idle Task Queue Services Chapter 13 Semaphores Introduction Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 9 of 154

10 Semaphore States Using Semaphores Definition of a Semaphore Object Semaphore Types Semaphore Properties Creating a Semaphore Closing a Semaphore Referencing a Semaphore Semaphore Operations Semaphore Operations in the Background Posting a Signal Testing for a Posted Signal Semaphore Operations in the Foreground Semaphore Events Associating a Semaphore Event with an EAR Semaphore Services Chapter 14 Memory Pools Introduction Memory Pool Types Memory Pool States Using Memory Pools Definition of a Memory Pool Object Memory Pool Properties Creating a Memory Pool HARD_FIXED Memory Pool SOFT_FIXED Memory Pool SOFT_DEMAND Memory Pool Closing a Memory Pool Referencing a Memory Pool Memory Pool Operations Memory Pool Operations in the Background Getting a RAM Block Empty Fixed Memory Pool Empty SOFT_DEMAND Memory Pool Freeing a RAM Block Memory Pool Operations in the Foreground Memory Pool Events Associating a Memory Pool Event with an EAR Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 10 of 154

11 Background Tasks Foreground Tasks and the Idle Task Memory Pool Services Chapter 15 Mutex Class Introduction Mutex States Mutex and Semaphore Differences Nested Ownership Definition of a Mutex Object Mutex Properties Creating a Mutex Closing a Mutex Using Mutexes Referencing a Mutex Mutex Operations Acquiring a Mutex Releasing a Mutex Priority Inversion Handling Mutex Services Chapter 16 Special Services Appendix A ISR Examples Cortex-Mx SysTick Driver with ISR Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 11 of 154

12 List of Examples Example 1-1 Code example Example 2-1 Definition of Size of System Processing Priority Queue Example 2-2 Default DIH Priority Definitions Example 2-3 Default Foreground Task Priority Definitions Example 2-4 Stack Alignment Definition Example 2-5 Class Properties Structure Example 2-6 Object Header Structure Example 2-7 Terminal Error Packet Example 2-8 Novos Service Name Conventions Example 3-1 System Properties Structure Example 3-2 Used Block Header Structure Example 5-1 Service to Schedule a DIH Example 5-2 Deferred Interrupt Handler Property Structure Example 5-3 Service Prototype to Create a DIH Example 6-1 Event Action Routine Property Structure Example 6-2 Service Prototype to Create an EAR Example 7-1 Foreground Task Property Structure Example 7-2 Service Prototype to Create a Foreground Task Example 8-1 Task Code Prototype Example 8-2 Infinite Life Task Model Example 8-3 Finite Life Task Model (Using Conditional) Example 8-4 Finite Life Task Model (Using Count) Example 8-5 Background Task Properties Structure Example 8-6 Service Prototype to Create a Background Task Example 8-7 Current Task Reference Examples Example 10-1 Alarm Properties Example 10-2 Service Prototype to Create an Alarm Example 10-3 Converting from Time to Ticks Example 11-1 Event Group Properties Structure Example 11-2 Service Prototype to Create an Event Group Example 12-1 Queue Properties Structure Example 12-2 Service Prototype to Create a Queue Example 13-1 Semaphore Properties Structure Example 13-2 Service Prototype to Create a Semaphore Example 14-1 Memory Pool Properties Structure Example 14-2 Service Prototype to Create a Memory Pool Example 15-1 Mutex Properties Structure Example 15-2 Service Prototype to Create a Mutex Example A-1 Cortex-M0 SysTick Driver with ISR Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 12 of 154

13 List of Figures Figure 2-1 Novos FCFS Default SPPQ Organization Figure 2-2 SPPQ Priority Level Mapping Figure 3-1 The Empty SPPQ Figure 3-2 SPPQ with One FGE Scheduled Figure 3-6 Used RAM List Organization Figure 7-1 Time Triggered Rate Monotonic Scheduling Example Figure 8-1 Initial Background Ready List Figure 8-2 BRL with TASK_C Added Figure 8-3 Current Task and BRL Changes Figure 8-4 Task State Transitions Figure 10-1 Alarm State Transitions Figure 10-2a Alarm Activation Figure 10-2b Alarm Activation with Earlier Expiration Figure 10-3 Problem with One Tick Alarm Period Figure 10-4 Testing an Alarm at Irregular Intervals Figure 10-5 Alarm Associated with Event Action Routine Figure 11-1a One Task Waiting for an Event Group Match Figure 11-1b Two Tasks Waiting for an Event Group Match Figure 11-2 Event Group with Multiple Tests Figure 12-1 One Queue Event Association with One Event Action Routine Figure 13-1 Semaphore State Transitions Figure 13-2 Response Time for Semaphore Signal in FCFS Scheduling Figure 13-3 Use of EAR with Semaphore Event Figure 14-1 Newly Created HARD_FIXED Memory Pool in Full State Figure 14-2 Newly Created SOFT_DEMAND Memory Pool Figure 14-3 Full SOFT_DEMAND Memory Pool Figure 14-4 SOFT_DEMAND Memory Pool with Two Blocks Assigned Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 13 of 154

14 List of Tables Table 2-1 Novos Environment Names and Abbreviations Table 2-2 Descriptions of Object Header Properties Table 3-1 Special Services allowed in the IIH Table 3-2 Novos FCFS Supported Classes Table 5-1 Descriptions of DIH Properties Table 5-2 Novos FCFS Services for DIH class Table 6-1 EAR Property Descriptions Table 6-2 Options for Managing EAR and Event Associations Table 6-3 Novos FCFS Services for EAR class Table 7-1 Foreground Task Property Descriptions Table 7-2 Novos FCFS Services for Foreground Task class Table 8-1 Background Task Property Descriptions Table 8-2 Background Task Class Services Table 9-1 Timebase Counter States Table 9-2 Novos Timebase Counter Services Table 10-1 Alarm States Table 10-2 Alarm Properties Descriptions Table 10-3 Pend Options for Unexpired Alarms Table 10-4 Alarm Event Definitions Table 10-5 Alarm Services Table 11-1 Event Group States Table 11-2 Event Group Property Descriptions Table 11-3 Pend Options for Incomplete Queueing Operations Table 11-4 Boolean Operator and Flag Clearing Options Table 11-5 Event Group Services Table 12-1 Queue Transfer Modes Table 12-2 Queue States Table 12-3 Queue Properties Descriptions Table 12-4 Pend Options for Incomplete Queueing Operations Table 12-5 Queue Transition Events Table 12-6 Queue Class Services Table 13-1 Semaphore States Table 13-2 Semaphore Types Table 13-3 Queue Properties Descriptions Table 13-4 Pend Options for Incomplete Semaphore Testing Operations Table 13-5 Semaphore Events Table 13-6 Semaphore Class Services Table 14-1 Memory Pool Types Table 14-2 Memory Pool States Table 14-3 Memory Pool Properties Descriptions Table 14-4 Pend Options for Incomplete RAM Block Allocation Requests Table 14-5 Memory Pool State Transition Events Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 14 of 154

15 Table 14-6 Memory Pool Class Services Table 15-1 Mutex States Table 15-2 Mutex Properties Descriptions Table 15-3 Pend Options for Incomplete Mutex Acquisition Operations Table 15-4 Mutex Class Services Table 16-1 Special Services Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 15 of 154

16 Foreword Over many years as a designer and developer of schedulers, real-time kernels and executives, and real-time operating system (RTOS) products for embedded systems, I have witnessed the effect that the choice of environment has on the success or failure of a project. For the past 25 years or so, the environment of choice has tended towards the RTOS. There are many RTOS products available in the market today and they are solid, proven packages. Some are free and some are not. But without regard to their license fee, or lack thereof, an RTOS is not always the best foundation for the application at hand. With the advent of the Internet of Things (IoT), there will be billions of processors used in tens of thousands of IoT applications. Some of these applications will be good candidates for the RTOS environment. Many others will not because the typical RTOS is likely to be overkill in terms of functionality and footprint. I believe that developers of embedded systems, whether for IoT or general applications, will benefit from environment choices other than the typical RTOS. The Novos environments for embedded systems represent those choices. They were created for use in applications that use resource constrained 9-, 16- and 32-bit CPUs. The Novos environments are not only easy to use but very well suited for use where the designer has to be mindful of the constraints imposed by RAM, ROM and power budgets. It is my opinion that the application itself dictates the environment for which it is best suited. That is especially true for embedded systems that share a single primary resource the processor. Central to the environment is how the application shares that processor. The essence of processor sharing is best described as scheduling, of which there are many types. Some are simple and some not so simple. Numerous questions about scheduling will confront the designer. Do application components require priorities? Does the application need preemptive scheduling? Is a cooperative scheduling policy sufficient? Is deterministic performance necessary? Is a simple loop-based approach sufficient? Hard or soft real-time? Albert Einstein is often quoted as saying Everything should be made as simple as possible, but not simpler. In deference to Dr. Einstein, a good dictum for engineering an embedded system is to use the simplest environment with the simplest scheduling policy that fits the application s requirements. It makes good sense because simpler environments tend to make testing and maintenance easier. Taken together, the use of the appropriate environment for the application greatly improves the probability of achieving a successful result. Thank you for choosing a Novos environment and we trust you will find it meets your application s requirements and is also easy to use. And if you have ideas on its usage, extensions or ways to improve the product, we would like to hear from you. In the meantime, good luck with your development. Tom Barrett Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 16 of 154

17 Chapter 1: Chapter 1 How to Use This Guide Scope of this Guide This document is intended to explain how the Novos First Come, First Served Scheduling (FCFS) environment works and how it is organized to help you achieve a successful application development. It assumes the reader has a basic knowledge of developing embedded systems, how Foreground/Background systems work in general and the use of First Come, First Served cooperative task scheduling in particular. It is not meant to be a tutorial on how to design or implement embedded applications based on such organizations or whether the Novos FCFS environment is best for your application. Because this document does not deal with the details of individual Novos environment services, there is limited information about them herein except where they serve illustrative purposes. However, there is an accompanying manual, The Novos First Come, First Served Scheduling Environment Services Reference Guide, available for a small fee, which provides detailed usage information on all services in the Novos FCFS environment. In combination with this guide, you should have an in-depth knowledge about successfully employing the Novos FCFS environment in your embedded application. For more information, please go to our website at Novos Usage Unless you have agreed to and purchased a commercial license to the Novos First Come, First Served Scheduling environment, your use of this publication and the related source code is limited to your personal use only. Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 17 of 154

18 Chapter 1: The Company has invested considerable time and expense in order to provide the source code for the Novos First Come, First Served Scheduling environment free of charge for non-commercial use. We do not ask for nor require a portion of any compensation you might receive from your efforts that incorporate it. Our compensation comes partly from your purchase of the license to this Guide. By accepting that license you have agreed to treat us in a fair and equitable manner. Distribution, copying or otherwise making this Guide available to third parties is not fair treatment. You would not only be in violation of that agreement, but you would be depriving us of revenue that will go towards product improvement and as compensation for our efforts. Commercial Usage For commercial users, the Novos commercial license includes an initial warranty period within which Embedded Environments Co. will provide you with maintenance and updates to your licensed product. For more information on commercial use licenses for Novos environments, please visit our website at Errors and Inaccuracies Every effort has been made to ensure that the information herein is correct and accurately reflects the capabilities and services of the Novos First Come, First Served Scheduling environment. However, as in all such documents, technical inaccuracies and typographical errors do occur. Should you detect such errors, we invite you to submit information about them to us. The Company will make changes to this document from time-to-time and we will correct errors and incorporate useful changes into any new editions. Your comments and assistance in this effort helps us improve the product and benefits other users. Conventions Used in This Guide This document uses several conventions that are intended to improve your experience in using it. Some of the conventions are typographical and some are graphical. Cautions, Tips and Notes Warnings, cautions, tips and notes are graphical icons intended to highlight an associated paragraph or concept in order to save you time and to improve your understanding of the product. The presented information is of critical importance and you should understand it and take it into consideration in your development. Failing to do so may lead you to induce errors that can lead to unintended system behavior or cause a loss of time. Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 18 of 154

19 Chapter 1: This is information useful to clarify a particular point about the current or recent topic. An idea or usage suggestion that may help you solve a problem related to the current topic Font and Capitalization Usage Example 1-1 The document employs several typographical conventions to identify elements commonly used in a discussion about embedded software. File names are represented in Regular 11 point Courier font such as Novos_api.h. Novos service names are represented in Regular 11 point Courier font such as ES_CreateAlarm. Excluding object identifiers, specifically defined elements and those defined as a variable of an enumerated type are represented in Bold 12 point Courier font such as Q_NOT_EMPTY or NOPEND. Service call parameters, object states, variables and elements in system or object properties structures are represented in Italicized 11 point Courier font such as pvariable or Not_Empty. Object identifiers are represented in upper case Regular 11 point Courier font such as ALARMID. Code fragments, examples and property structures are represented in Regular 10 point Courier font as shown in Example 1-1. Code example void myfunc(parameter1, parameter2) {... /* code for the function in here */ } Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 19 of 154

20 Chapter 2: Chapter 2 Novos Environments for Embedded Systems Source Code Embedded Environments Co. supplies all of the Novos environment code for a particular processor as C source. The code set contains components that are common to all environments and some that are specific to the port to a particular processor. In general, those elements of the latter type are found in one file, PORT_Functions.c and an associated header file, TOOL_CPUspecs.h. Unless otherwise stated elsewhere, the Novos environment code is specific to a processor core. It does not attempt to cover all of the variants that the semiconductor manufacturer builds around the processor core. The source code is tuned to serve particular environments commonly used in the development of embedded systems. There are five environments in the Novos suite whose names are taken from the primary scheduling model used for the application. An abbreviation is used for each member used to distinguish one environment from another. For the sake of brevity, this document will primarily use the abbreviations where it is necessary to draw distinctions between the products. The five environments and their abbreviations are shown in Table 2-1. Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 20 of 154

21 Chapter 2: Table 2-1 Novos Environment Names and Abbreviations Novos Environment Name Novos Foreground/Background Environment Novos Extended Foreground/Background Environment Novos First Come, First Served Scheduling Environment Novos Round Robin Scheduling Environment Novos Pre-emptive Priority Scheduling Environment Abbreviation Novos FB Novos EFB Novos FCFS Novos RRS Novos PPS Common Code and Headers The complete set of common code for the Novos FCFS environment resides in twelve.c files and ten.h files. A particular file name may appear in all Novos environments but the contents of the file for the various environments will not be the same. All of the.h header files are present in each Novos environment but they, too, contain differences between the various environments. Within these files, the specific environment determines what the content will be. Different environments have some common services and some that are only found in another environment. The result is a set of files with content specifically tuned for the particular environment you are using, which should help to ease the memory budget for your application. Novos Environment APIs The file names in the Novos environment source code distribution that begin with the prefix APIs for contain the services for the associated class. The symbols of the Novos environment s services are visible to the application and form the Application Program Interface (API). When you want to perform a particular Novos service, just call the associated function. The set of services that are available to the application is found in the header file Novos_api.h. A complete explanation of each service in the Novos FCFS environment, including its input parameters, outputs, errors and completion codes is available in the aforementioned publication Novos First Come, First Served Scheduling Environment Services Reference Guide, which is a stand-alone document. In any application code module that makes calls to the Novos environment services, you must ensure the Novos_api.h file is among the module s set of included files. Port-Specific Code and Headers The file PORT_Functions.c and its related header, TOOL_CPUspecs.h, contain all of the content that has anything to do with processor-specific and tool-specific details. In other words, these files reflect the port of the Novos products to a given processor and/or toolchain. When included and compiled Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 21 of 154

22 Chapter 2: with the common files for the Novos environment, the result is the Novos environment library for use on a particular processor. Core Functions Configuring The Core_Functions.c file contains functions used by the Novos environment service functions and some internal operations. The functions in the Core_Functions.c file are not callable from the application. The application should never call a function found in the Core_Functions.c file. Direct use of those functions may result in errors or other unintended consequences. The distributed code for the Novos FCFS environment comes defined for a very capable configuration that should be amenable to a large number of applications. All you need to do is to compile it into a library, link that library with your compiled application code and start your tests. However, if the default Novos FCFS environment configuration does not meet your requirements, it is very easy to change. There are only a few minor configuration options that you have in any Novos environment. These configuration options are found in the header file NovosConfig.h. System Processing Priority Queue Size Example 2-1 The most important of the configuration options is the definition of the number of priority levels in the System Processing Priority Queue (SPPQ), which governs all Foreground operations. The default definition is LEVELS_8, which defines the SPPQ as having eight priority levels, is shown in Example 2-1. Definition of Size of System Processing Priority Queue #define LEVELS_8 /* This the default value */ The default Novos FCFS environment supports all eight priority levels three for DIH operations, one for Event Action Routines and four for Foreground tasks (FG tasks) as depicted in Figure 2-1. The Novos environments use an interrupt servicing model that has two levels an immediate level and a deferred level (See Chapter 4 for complete details). By default, the Deferred Interrupt Handlers (DIH) run in the highest three priority levels in the SPPQ. Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 22 of 154

23 Chapter 2: Figure 2-1 Novos FCFS Default SPPQ Organization If that number of priority levels is too small for your application, you will need to make a change to the definition. Changing the definition has implications throughout the system and requires a compilation of the PORT_Functions.c file and a new link. Any re-definition of the number of priority levels in the System Processing Priority Queue must be a multiple of 8. Other acceptable values are LEVELS_16, LEVELS_24 and LEVELS_32. Any extension of the number of DIH priority levels in the System Processing Priority Queue must include a re-definition of the enumerated variables of type DIH_PRIORITY in the NovosConfig.h file. If the processor port of the Novos environment does not support instructions that find the most significant bit in a data word, the Novos port will have to map the SPPQ priorities with bytes. Depending on the number of SPPQ levels you define, the SPPQ and its priority levels are mapped in one or more bytes as illustrated in Figure 2-2. Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 23 of 154

24 Chapter 2: The default definition of LEVELS_8 for the Novos FCFS environment requires only one byte for the SPPQ_LevelMask as there are 8 priority levels in the System Processing Priority Queue. Higher levels of priority require a different approach. The variable SPPQ_LevelMask contains 2, 3 or 4 high order bits that map the bytes for definitions of LEVELS_16, LEVELS_24 and LEVELS_32. The definition for the number of SPPQ priority levels is found in the C header file, NovosConfig.h. Figure 2-2 SPPQ Priority Level Mapping Enumerated Values of DIH Priorities Example 2-2 The Novos environments use an interrupt servicing model that has two levels an immediate level and a deferred level. The Deferred Interrupt Handlers run in the highest three priority levels in the SPPQ by default. These priority levels are found as values of the enumerated type DIH_PRIORITY, in the ENUMcodes.h file and have the values shown in Example 2-2. However, if you wish to change the definitions to more or fewer priorities, you may do so, but it will be necessary to recompile the library. Default DIH Priority Definitions typedef enum dihprio { HIGH_PRI = 1, /* High priority at FG level 1 */ MEDIUM_PRI = 2, /* Medium priority at FG level 2 */ LOW_PRI = 3 /* Low priority at FG level 3 */ } DIH_PRIORITY; Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 24 of 154

Novos PPS Environment User Guide

Novos PPS Environment User Guide Copyright 2016 Embedded Environments Co.- All Rights Reserved Page 1 of 165 Disclaimers Embedded Environments Co. (Company), provides this User Guide as is WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESSED

More information

Novos. Preemptive Priority Scheduling Environment. Services Reference Guide

Novos. Preemptive Priority Scheduling Environment. Services Reference Guide Novos Environments for Embedded Systems Preemptive Priority Scheduling Environment (Novos PPS) Services Reference Guide Embedded Environments Co. Copyright 2016 Embedded Environments Co.- All Rights Reserved

More information

Quadros. RTXC Kernel Services Reference, Volume 1. Levels, Threads, Exceptions, Pipes, Event Sources, Counters, and Alarms. Systems Inc.

Quadros. 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 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

CODE TIME TECHNOLOGIES. Abassi RTOS. CMSIS Version 3.0 RTOS API

CODE TIME TECHNOLOGIES. Abassi RTOS. CMSIS Version 3.0 RTOS API CODE TIME TECHNOLOGIES Abassi RTOS CMSIS Version 3.0 RTOS API Copyright Information This document is copyright Code Time Technologies Inc. 2011-2013. All rights reserved. No part of this document may be

More information

Micrium µc/os II RTOS Introduction EE J. E. Lumpp

Micrium µc/os II RTOS Introduction EE J. E. Lumpp Micrium µc/os II RTOS Introduction (by Jean Labrosse) EE599 001 Fall 2012 J. E. Lumpp μc/os II μc/os II is a highly portable, ROMable, very scalable, preemptive real time, deterministic, multitasking kernel

More information

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9 Implementing Scheduling Algorithms Real-Time and Embedded Systems (M) Lecture 9 Lecture Outline Implementing real time systems Key concepts and constraints System architectures: Cyclic executive Microkernel

More information

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable What s An OS? Provides environment for executing programs Process abstraction for multitasking/concurrency scheduling Hardware abstraction layer (device drivers) File systems Communication Do we need an

More information

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document. ARM Cortex-A9 CCS

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document. ARM Cortex-A9 CCS CODE TIME TECHNOLOGIES Abassi RTOS Porting Document ARM Cortex-A9 CCS Copyright Information This document is copyright Code Time Technologies Inc. 2012. All rights reserved. No part of this document may

More information

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document. ARM Cortex-M3 CCS

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document. ARM Cortex-M3 CCS CODE TIME TECHNOLOGIES Abassi RTOS Porting Document ARM Cortex-M3 CCS Copyright Information This document is copyright Code Time Technologies Inc. 2011,2012. All rights reserved. No part of this document

More information

Real-Time Programming

Real-Time Programming Real-Time Programming Week 7: Real-Time Operating Systems Instructors Tony Montiel & Ken Arnold rtp@hte.com 4/1/2003 Co Montiel 1 Objectives o Introduction to RTOS o Event Driven Systems o Synchronization

More information

Tasks. Task Implementation and management

Tasks. Task Implementation and management Tasks Task Implementation and management Tasks Vocab Absolute time - real world time Relative time - time referenced to some event Interval - any slice of time characterized by start & end times Duration

More information

embos Real-Time Operating System embos plug-in for IAR C-Spy Debugger Document: UM01025 Software Version: 3.1 Revision: 0 Date: May 3, 2018

embos Real-Time Operating System embos plug-in for IAR C-Spy Debugger Document: UM01025 Software Version: 3.1 Revision: 0 Date: May 3, 2018 embos Real-Time Operating System Document: UM01025 Software Version: 3.1 Revision: 0 Date: May 3, 2018 A product of SEGGER Microcontroller GmbH www.segger.com 2 Disclaimer Specifications written in this

More information

Using the FreeRTOS Real Time Kernel

Using the FreeRTOS Real Time Kernel Using the FreeRTOS Real Time Kernel NXP LPC17xx Edition Richard Barry iii Contents List of Figures... vi List of Code Listings... viii List of Tables... xi List of Notation... xii Preface FreeRTOS and

More information

embos Real-Time Operating System embos plug-in for IAR C-Spy Debugger Document: UM01025 Software Version: 3.0 Revision: 0 Date: September 18, 2017

embos Real-Time Operating System embos plug-in for IAR C-Spy Debugger Document: UM01025 Software Version: 3.0 Revision: 0 Date: September 18, 2017 embos Real-Time Operating System embos plug-in for IAR C-Spy Debugger Document: UM01025 Software Version: 3.0 Revision: 0 Date: September 18, 2017 A product of SEGGER Microcontroller GmbH & Co. KG www.segger.com

More information

embos Real-Time Operating System CPU & Compiler specifics for embos Visual Studio Simulation

embos Real-Time Operating System CPU & Compiler specifics for embos Visual Studio Simulation embos Real-Time Operating System CPU & Compiler specifics for Document: UM01060 Software Version: 5.02 Revision: 0 Date: July 25, 2018 A product of SEGGER Microcontroller GmbH www.segger.com 2 Disclaimer

More information

AC OB S. Multi-threaded FW framework (OS) for embedded ARM systems Torsten Jaekel, June 2014

AC OB S. Multi-threaded FW framework (OS) for embedded ARM systems Torsten Jaekel, June 2014 AC OB S Multi-threaded FW framework (OS) for embedded ARM systems Torsten Jaekel, June 2014 ACOBS ACtive OBject (operating) System Simplified FW System for Multi-Threading on ARM embedded systems ACOBS

More information

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document C28X CCS

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document C28X CCS CODE TIME TECHNOLOGIES Abassi RTOS Porting Document C28X CCS Copyright Information This document is copyright Code Time Technologies Inc. 2012-2013. All rights reserved. No part of this document may be

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

Q Kernel. Thread-Metric RTOS Test Suite. Version Q Kernel is a product of Quasarsoft Ltd.

Q Kernel. Thread-Metric RTOS Test Suite. Version Q Kernel is a product of Quasarsoft Ltd. Version 6.0-3343 Q Kernel is a product of Quasarsoft Ltd. License Q-Kernel-Free Copyright (c) 2013 QuasarSoft Ltd. Q-Kernel-Free is free software: you can redistribute it and/or modify it under the terms

More information

Remaining Contemplation Questions

Remaining Contemplation Questions Process Synchronisation Remaining Contemplation Questions 1. The first known correct software solution to the critical-section problem for two processes was developed by Dekker. The two processes, P0 and

More information

General Objectives: To understand the process management in operating system. Specific Objectives: At the end of the unit you should be able to:

General Objectives: To understand the process management in operating system. Specific Objectives: At the end of the unit you should be able to: F2007/Unit5/1 UNIT 5 OBJECTIVES General Objectives: To understand the process management in operating system Specific Objectives: At the end of the unit you should be able to: define program, process and

More information

Efficiency and memory footprint of Xilkernel for the Microblaze soft processor

Efficiency and memory footprint of Xilkernel for the Microblaze soft processor Efficiency and memory footprint of Xilkernel for the Microblaze soft processor Dariusz Caban, Institute of Informatics, Gliwice, Poland - June 18, 2014 The use of a real-time multitasking kernel simplifies

More information

Contents. List of Figures... vi. List of Code Listings... viii. List of Tables... xi. List of Notation... xii

Contents. List of Figures... vi. List of Code Listings... viii. List of Tables... xi. List of Notation... xii Contents List of Figures... vi List of Code Listings... viii List of Tables... xi List of Notation... xii Preface FreeRTOS and the Cortex-M3... 1 Multitasking on a Cortex-M3 Microcontroller... 2 An Introduction

More information

Avaya Contact Center Express Release 5.0 XMPP Gateway

Avaya Contact Center Express Release 5.0 XMPP Gateway Avaya Contact Center Express Release 5.0 XMPP Gateway Release 5.0 August 2010 2005 to 2010 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this

More information

Avaya Contact Center Express Release 4.1 XMPP Gateway

Avaya Contact Center Express Release 4.1 XMPP Gateway Avaya Contact Center Express Release 4.1 XMPP Gateway Release 4.1 January 2010 2005 to 2009 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this

More information

Introduction to the ThreadX Debugger Plugin for the IAR Embedded Workbench C-SPYDebugger

Introduction to the ThreadX Debugger Plugin for the IAR Embedded Workbench C-SPYDebugger C-SPY plugin Introduction to the ThreadX Debugger Plugin for the IAR Embedded Workbench C-SPYDebugger This document describes the IAR C-SPY Debugger plugin for the ThreadX RTOS. The ThreadX RTOS awareness

More information

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document AVR32A GCC

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document AVR32A GCC CODE TIME TECHNOLOGIES Abassi RTOS Porting Document AVR32A GCC Copyright Information This document is copyright Code Time Technologies Inc. 2011-2013. All rights reserved. No part of this document may

More information

Process- Concept &Process Scheduling OPERATING SYSTEMS

Process- Concept &Process Scheduling OPERATING SYSTEMS OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne PROCESS MANAGEMENT Current day computer systems allow multiple

More information

DSP/BIOS Kernel Scalable, Real-Time Kernel TM. for TMS320 DSPs. Product Bulletin

DSP/BIOS Kernel Scalable, Real-Time Kernel TM. for TMS320 DSPs. Product Bulletin Product Bulletin TM DSP/BIOS Kernel Scalable, Real-Time Kernel TM for TMS320 DSPs Key Features: Fast, deterministic real-time kernel Scalable to very small footprint Tight integration with Code Composer

More information

Q.1 Explain Computer s Basic Elements

Q.1 Explain Computer s Basic Elements Q.1 Explain Computer s Basic Elements Ans. At a top level, a computer consists of processor, memory, and I/O components, with one or more modules of each type. These components are interconnected in some

More information

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

GLOSSARY. VisualDSP++ Kernel (VDK) User s Guide B-1 B GLOSSARY Application Programming Interface (API) A library of C/C++ functions and assembly macros that define VDK services. These services are essential for kernel-based application programs. The services

More information

CODE TIME TECHNOLOGIES. mabassi RTOS. Porting Document. SMP / ARM Cortex-A9 CCS

CODE TIME TECHNOLOGIES. mabassi RTOS. Porting Document. SMP / ARM Cortex-A9 CCS CODE TIME TECHNOLOGIES mabassi RTOS Porting Document SMP / ARM Cortex-A9 CCS Copyright Information This document is copyright Code Time Technologies Inc. 2012-2016. All rights reserved. No part of this

More information

Exam TI2720-C/TI2725-C Embedded Software

Exam TI2720-C/TI2725-C Embedded Software Exam TI2720-C/TI2725-C Embedded Software Wednesday April 16 2014 (18.30-21.30) Koen Langendoen In order to avoid misunderstanding on the syntactical correctness of code fragments in this examination, we

More information

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document. ATmega128 GCC

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document. ATmega128 GCC CODE TIME TECHNOLOGIES Abassi RTOS Porting Document ATmega128 GCC Copyright Information This document is copyright Code Time Technologies Inc. 2011,2012. All rights reserved. No part of this document may

More information

IBM. Software Development Kit for Multicore Acceleration, Version 3.0. SPU Timer Library Programmer s Guide and API Reference

IBM. Software Development Kit for Multicore Acceleration, Version 3.0. SPU Timer Library Programmer s Guide and API Reference IBM Software Development Kit for Multicore Acceleration, Version 3.0 SPU Timer Library Programmer s Guide and API Reference Note: Before using this information and the product it supports, read the information

More information

Using the FreeRTOS Real Time Kernel

Using the FreeRTOS Real Time Kernel Using the FreeRTOS Real Time Kernel i ii Using the FreeRTOS Real Time Kernel Renesas RX600 Edition Richard Barry iii First edition published 2011. All text, source code and diagrams are the exclusive property

More information

Operating System Concepts Ch. 5: Scheduling

Operating System Concepts Ch. 5: Scheduling Operating System Concepts Ch. 5: Scheduling Silberschatz, Galvin & Gagne Scheduling In a multi-programmed system, multiple processes may be loaded into memory at the same time. We need a procedure, or

More information

8: Scheduling. Scheduling. Mark Handley

8: Scheduling. Scheduling. Mark Handley 8: Scheduling Mark Handley Scheduling On a multiprocessing system, more than one process may be available to run. The task of deciding which process to run next is called scheduling, and is performed by

More information

SMP T-Kernel Specification

SMP T-Kernel Specification SMP T-Kernel Specification Ver. 1.00.00 TEF021-S002-01.00.00/en February 2009 SMP T-Kernel Specification (Ver.1.00.00) TEF021-S002-01.00.00/en February 2009 Copyright 2006-2009 T-Engine Forum. All Rights

More information

FreeRTOS X. Task Notifications Semaphores Family Critical Section FreeRTOS Producer Consumer Tasks

FreeRTOS X. Task Notifications Semaphores Family Critical Section FreeRTOS Producer Consumer Tasks FreeRTOS X Task Notifications Semaphores Family Critical Section FreeRTOS Producer Consumer Tasks Task Notifications Semaphores Family Binary Semaphore Counting Semaphore Mutex Recursive Mutex Critical

More information

CPU Scheduling (1) CPU Scheduling (Topic 3) CPU Scheduling (2) CPU Scheduling (3) Resources fall into two classes:

CPU Scheduling (1) CPU Scheduling (Topic 3) CPU Scheduling (2) CPU Scheduling (3) Resources fall into two classes: CPU Scheduling (Topic 3) 홍성수 서울대학교공과대학전기공학부 Real-Time Operating Systems Laboratory CPU Scheduling (1) Resources fall into two classes: Preemptible: Can take resource away, use it for something else, then

More information

FreeRTOS. A Brief Overview. Christopher Kenna. October 1, Avionics. FreeRTOS 1 / 34

FreeRTOS. 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 information

NuttX Realtime Programming

NuttX Realtime Programming NuttX RTOS NuttX Realtime Programming Gregory Nutt Overview Interrupts Cooperative Scheduling Tasks Work Queues Realtime Schedulers Real Time == == Deterministic Response Latency Stimulus Response Deadline

More information

One 32-bit counter that can be free running or generate periodic interrupts

One 32-bit counter that can be free running or generate periodic interrupts PSoC Creator Component Datasheet Multi-Counter Watchdog (MCWDT_PDL) 1.0 Features Configures up to three counters in a multi-counter watchdog (MCWDT) block Two 16-bit counters that can be free running,

More information

DATA ITEM DESCRIPTION

DATA ITEM DESCRIPTION DATA ITEM DESCRIPTION Form Approved OMB NO.0704-0188 Public reporting burden for collection of this information is estimated to average 110 hours per response, including the time for reviewing instructions,

More information

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document. 8051/8052 Keil Compiler

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document. 8051/8052 Keil Compiler CODE TIME TECHNOLOGIES Abassi RTOS Porting Document 8051/8052 Keil Compiler Copyright Information This document is copyright Code Time Technologies Inc. 2011. All rights reserved. No part of this document

More information

CODE TIME TECHNOLOGIES. µabassi RTOS. User s Guide

CODE TIME TECHNOLOGIES. µabassi RTOS. User s Guide CODE TIME TECHNOLOGIES µabassi RTOS User s Guide Copyright Information This document is copyright Code Time Technologies Inc. 2013-2018. All rights reserved. No part of this document may be reproduced

More information

Secure software guidelines for ARMv8-M. for ARMv8-M. Version 0.1. Version 2.0. Copyright 2017 ARM Limited or its affiliates. All rights reserved.

Secure software guidelines for ARMv8-M. for ARMv8-M. Version 0.1. Version 2.0. Copyright 2017 ARM Limited or its affiliates. All rights reserved. Connect Secure software User Guide guidelines for ARMv8-M Version 0.1 Version 2.0 Page 1 of 19 Revision Information The following revisions have been made to this User Guide. Date Issue Confidentiality

More information

You have accessed an older version of a Paradyne product document.

You have accessed an older version of a Paradyne product document. You have accessed an older version of a Paradyne product document. Paradyne is no longer a subsidiary of AT&T. Any reference to AT&T Paradyne is amended to read Paradyne Corporation. Paradyne 6700-A2-GB41-10

More information

Announcements. Reading. Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) CMSC 412 S14 (lect 5)

Announcements. Reading. Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) CMSC 412 S14 (lect 5) Announcements Reading Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) 1 Relationship between Kernel mod and User Mode User Process Kernel System Calls User Process

More information

Lecture 3: Concurrency & Tasking

Lecture 3: Concurrency & Tasking Lecture 3: Concurrency & Tasking 1 Real time systems interact asynchronously with external entities and must cope with multiple threads of control and react to events - the executing programs need to share

More information

Final Examination. Thursday, December 3, :20PM 620 PM. NAME: Solutions to Selected Problems ID:

Final Examination. Thursday, December 3, :20PM 620 PM. NAME: Solutions to Selected Problems ID: CSE 237B EMBEDDED SOFTWARE, FALL 2009 PROF. RAJESH GUPTA Final Examination Thursday, December 3, 2009 5:20PM 620 PM NAME: Solutions to Selected Problems ID: Problem Max. Points Points 1 20 2 25 3 35 4

More information

Embedding OS in AVR microcontrollers. Prof. Prabhat Ranjan DA-IICT, Gandhinagar

Embedding OS in AVR microcontrollers. Prof. Prabhat Ranjan DA-IICT, Gandhinagar Embedding OS in AVR microcontrollers Prof. Prabhat Ranjan (prabhat_ranjan@daiict.ac.in) DA-IICT, Gandhinagar Operating System Fundamentals The kernel is the core component within an operating system Operating

More information

SAPtips. Journal. Creating a Well-Developed Master Data Management Solution in BW. August/September 2005 Volume III Issue 4. SAPtips.

SAPtips. Journal. Creating a Well-Developed Master Data Management Solution in BW. August/September 2005 Volume III Issue 4. SAPtips. Page 1 Creating a Well-Developed Master Data Management Solution in BW By Arthur Pat Pesa, arthurpesa, inc Editor Note: Pat Pesa delivers another one-two-three punch with his discussion of developing,

More information

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document MSP430 GCC

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document MSP430 GCC CODE TIME TECHNOLOGIES Abassi RTOS Porting Document MSP430 GCC Copyright Information This document is copyright Code Time Technologies Inc. 2011,2012. All rights reserved. No part of this document may

More information

Cisco TEO Adapter Guide for Microsoft System Center Operations Manager 2007

Cisco TEO Adapter Guide for Microsoft System Center Operations Manager 2007 Cisco TEO Adapter Guide for Microsoft System Center Operations Manager 2007 Release 2.3 April 2012 Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com

More information

CodeWarrior Development Studio Processor Expert RTOS Adapter User Guide

CodeWarrior Development Studio Processor Expert RTOS Adapter User Guide CodeWarrior Development Studio Processor Expert RTOS Adapter User Guide Document Number: CWPEXRTUG Rev 10.6, 02/2014 2 Freescale Semiconductor, Inc. Contents Section number Title Page Chapter 1 Introduction

More information

Bar Code Discovery. Administrator's Guide

Bar Code Discovery. Administrator's Guide Bar Code Discovery Administrator's Guide November 2012 www.lexmark.com Contents 2 Contents Overview...3 Configuring the application...4 Configuring the application...4 Configuring Bar Code Discovery...4

More information

Paging and Loud Ringing with VVX600 and Algo 8180

Paging and Loud Ringing with VVX600 and Algo 8180 SOLUTION MANUAL September 2015 Rev A Paging and Loud Ringing with VVX600 and Algo 8180 Application Note Polycom, Inc. 1 Paging and Loud Ringing with VVX600 and Algo 8180 Copyright 2015, Polycom, Inc. All

More information

CS418 Operating Systems

CS418 Operating Systems CS418 Operating Systems Lecture 9 Processor Management, part 1 Textbook: Operating Systems by William Stallings 1 1. Basic Concepts Processor is also called CPU (Central Processing Unit). Process an executable

More information

Review. Preview. Three Level Scheduler. Scheduler. Process behavior. Effective CPU Scheduler is essential. Process Scheduling

Review. Preview. Three Level Scheduler. Scheduler. Process behavior. Effective CPU Scheduler is essential. Process Scheduling Review Preview Mutual Exclusion Solutions with Busy Waiting Test and Set Lock Priority Inversion problem with busy waiting Mutual Exclusion with Sleep and Wakeup The Producer-Consumer Problem Race Condition

More information

Group Page with VVX600 & Algo 8180/8186/8188

Group Page with VVX600 & Algo 8180/8186/8188 DOCUMENT TYPE Software 1.5 January 2017 xxxxxxxxxxxx Rev B Group Page with VVX600 & Algo 8180/8186/8188 Application Note Polycom, Inc. 1 Copyright 2017, Polycom, Inc. All rights reserved. No part of this

More information

RT3 - FreeRTOS Real Time Programming

RT3 - FreeRTOS Real Time Programming Formation FreeRTOS Real Time Programming: Real-time programming applied to the FreeRTOS operating system - Systèmes d'exploitation: RTOS RT3 - FreeRTOS Real Time Programming Real-time programming applied

More information

CPS221 Lecture: Operating System Protection

CPS221 Lecture: Operating System Protection Objectives CPS221 Lecture: Operating System Protection last revised 9/5/12 1. To explain the use of two CPU modes as the basis for protecting privileged instructions and memory 2. To introduce basic protection

More information

Swyx Skin Editor - User Documentation

Swyx Skin Editor - User Documentation Swyx Skin Editor - User Documentation Swyx Skin Editor - The Editor for creating individual skins As of: December 2009 2000-2009 Swyx. All rights reserved. Legal Information Whilst Swyx attempt to convey

More information

Intel Platform Innovation Framework for EFI SMBus Host Controller Protocol Specification. Version 0.9 April 1, 2004

Intel Platform Innovation Framework for EFI SMBus Host Controller Protocol Specification. Version 0.9 April 1, 2004 Intel Platform Innovation Framework for EFI SMBus Host Controller Protocol Specification Version 0.9 April 1, 2004 SMBus Host Controller Protocol Specification THIS SPECIFICATION IS PROVIDED "AS IS" WITH

More information

Group Page with VVX600 & Algo 8180/8188

Group Page with VVX600 & Algo 8180/8188 DOCUMENT TYPE September 2015 Rev A Group Page with VVX600 & Algo 8180/8188 Application Note Polycom, Inc. 1 Copyright 2015, Polycom, Inc. All rights reserved. No part of this document may be reproduced,

More information

μc/os-ii Real-Time Kernel for CrossCore Embedded Studio version Release Notes Introduction

μc/os-ii Real-Time Kernel for CrossCore Embedded Studio version Release Notes Introduction μc/os-ii Real-Time Kernel for CrossCore Embedded Studio version 1.1.0 Release Notes Introduction This document contains the release notes for µc/os-ii Real-Time Kernel for CrossCore Embedded Studio version

More information

APPLICATION NOTE. Atmel AT03261: SAM D20 System Interrupt Driver (SYSTEM INTERRUPT) SAM D20 System Interrupt Driver (SYSTEM INTERRUPT)

APPLICATION NOTE. Atmel AT03261: SAM D20 System Interrupt Driver (SYSTEM INTERRUPT) SAM D20 System Interrupt Driver (SYSTEM INTERRUPT) APPLICATION NOTE Atmel AT03261: SAM D20 System Interrupt Driver (SYSTEM INTERRUPT) ASF PROGRAMMERS MANUAL SAM D20 System Interrupt Driver (SYSTEM INTERRUPT) This driver for SAM D20 devices provides an

More information

CPS221 Lecture: Threads

CPS221 Lecture: Threads Objectives CPS221 Lecture: Threads 1. To introduce threads in the context of processes 2. To introduce UML Activity Diagrams last revised 9/5/12 Materials: 1. Diagram showing state of memory for a process

More information

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document. ATmega128 IAR

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document. ATmega128 IAR CODE TIME TECHNOLOGIES Abassi RTOS Porting Document ATmega128 IAR Copyright Information This document is copyright Code Time Technologies Inc. 2011,2012. All rights reserved. No part of this document may

More information

A New Real-time Kernel development on an embedded platform

A New Real-time Kernel development on an embedded platform A New Real-time Kernel development on an embedded platform CSC714: Real Time Systems Project Final Report Spring 2009 BALASUBRAMANYA BHAT (bbhat@ncsu.edu) SANDEEP BUDANUR RAMANNA (sbudanu@ncsu.edu) - 1

More information

Processes, PCB, Context Switch

Processes, PCB, Context Switch THE HONG KONG POLYTECHNIC UNIVERSITY Department of Electronic and Information Engineering EIE 272 CAOS Operating Systems Part II Processes, PCB, Context Switch Instructor Dr. M. Sakalli enmsaka@eie.polyu.edu.hk

More information

spwr_base & spwr_chan

spwr_base & spwr_chan DYNAMIC ENGINEERING 150 DuBois St. Suite C, Santa Cruz, CA 95060 831-457-8891 Fax 831-457-4793 http://www.dyneng.com sales@dyneng.com Est. 1988 spwr_base & spwr_chan Linux Driver Documentation Manual Revision

More information

GUJARAT TECHNOLOGICAL UNIVERSITY MASTER OF COMPUTER APPLICATION SEMESTER: III

GUJARAT TECHNOLOGICAL UNIVERSITY MASTER OF COMPUTER APPLICATION SEMESTER: III GUJARAT TECHNOLOGICAL UNIVERSITY MASTER OF COMPUTER APPLICATION SEMESTER: III Subject Name: Operating System (OS) Subject Code: 630004 Unit-1: Computer System Overview, Operating System Overview, Processes

More information

OpenFlow Trademark Policy

OpenFlow Trademark Policy Introduction OpenFlow Trademark Policy This document outlines the Open Networking Foundation s ( ONF ) policy for the trademarks and graphic logos that we use to identify the OpenFlow specification and

More information

Cisco TEO Adapter Guide for Microsoft Windows

Cisco TEO Adapter Guide for Microsoft Windows Cisco TEO Adapter Guide for Microsoft Windows Release 2.3 April 2012 Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com Tel: 408 526-4000 800

More information

Group Page with VVX600 and Algo 8301 Paging Adapter

Group Page with VVX600 and Algo 8301 Paging Adapter DOCUMENT TYPE Software 1.5 Jan 2017 xxxxxxxxxxxx Rev B Group Page with VVX600 and Algo 8301 Paging Adapter Application Note Polycom, Inc. 1 Group Page with VVX600 and Algo 8301 Paging Adapter Version 1.0

More information

Migrating to Cortex-M3 Microcontrollers: an RTOS Perspective

Migrating to Cortex-M3 Microcontrollers: an RTOS Perspective Migrating to Cortex-M3 Microcontrollers: an RTOS Perspective Microcontroller devices based on the ARM Cortex -M3 processor specifically target real-time applications that run several tasks in parallel.

More information

vippaq Main App. User Guide

vippaq Main App. User Guide vippaq Main App. User Guide Edition 1d July 2008 Contents 1 INTRODUCTION 3 1.1 3 2 SYSTEM PREPARATION 4 2.1.1 Measuring Head Connection 5 2.1.2 Position the Measuring Heads 5 2.1.3 Start Job 5 3 MEASURE

More information

Optional Pause Pulse for constant frame length of 282 clock ticks

Optional Pause Pulse for constant frame length of 282 clock ticks PSoC Creator Component Datasheet Single Edge Nibble Transmission (SENT_TX) 1.0 Features Compliant with SAE J2716 APR2016 (Issued 2007-04, Revised 2016-04) without any serial message formats Selectable

More information

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date:

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date: Subject Name: OPERATING SYSTEMS Subject Code: 10EC65 Prepared By: Kala H S and Remya R Department: ECE Date: Unit 7 SCHEDULING TOPICS TO BE COVERED Preliminaries Non-preemptive scheduling policies Preemptive

More information

Timers 1 / 46. Jiffies. Potent and Evil Magic

Timers 1 / 46. Jiffies. Potent and Evil Magic Timers 1 / 46 Jiffies Each timer tick, a variable called jiffies is incremented It is thus (roughly) the number of HZ since system boot A 32-bit counter incremented at 1000 Hz wraps around in about 50

More information

DYNAMIC ENGINEERING 150 DuBois St. Suite C, Santa Cruz, CA Fax Est.

DYNAMIC ENGINEERING 150 DuBois St. Suite C, Santa Cruz, CA Fax Est. DYNAMIC ENGINEERING 150 DuBois St. Suite C, Santa Cruz, CA 95060 831-457-8891 Fax 831-457-4793 http://www.dyneng.com sales@dyneng.com Est. 1988 PCIeBiSerialDb37-LM9 Linux Driver lm9_base & lm9_chan Linux

More information

Data Structure Series

Data Structure Series Data Structure Series This series is actually something I started back when I was part of the Sweet.Oblivion staff, but then some things happened and I was no longer able to complete it. So now, after

More information

smx vs. FreeRTOS by Ralph Moore

smx vs. FreeRTOS by Ralph Moore RTOS Innovators smx vs. FreeRTOS by Ralph Moore This paper compares the commercial RTOS kernel smx to the generic free RTOS kernel FreeRTOS. Both are real-time, multitasking kernels intended for use in

More information

GUI 1.5 Release Notes

GUI 1.5 Release Notes GUI 1.5 Release Notes Released: June 2003 The information contained within this document is subject to change without notice. Copyright 2003 All rights reserved. No part of this documentation may be reproduced,

More information

* There are more than 100 hundred commercial RTOS with memory footprints from few hundred kilobytes to large multiprocessor systems

* There are more than 100 hundred commercial RTOS with memory footprints from few hundred kilobytes to large multiprocessor systems Presented material is based on ü Laura Carnevali: Formal Methods in the Development Life Cycle of Realtime Systems. PhD-Thesis, Univ. of Florence (IT) 2010. (Ch. 1.1-1.3) ü Doug Abbott: Linux for Embedded

More information

Lecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter

Lecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter Lecture Topics Today: Uniprocessor Scheduling (Stallings, chapter 9.1-9.3) Next: Advanced Scheduling (Stallings, chapter 10.1-10.4) 1 Announcements Self-Study Exercise #10 Project #8 (due 11/16) Project

More information

Oracle. Financials Cloud Implementing Subledger Accounting. Release 13 (update 17D)

Oracle. Financials Cloud Implementing Subledger Accounting. Release 13 (update 17D) Oracle Financials Cloud Release 13 (update 17D) Release 13 (update 17D) Part Number E89131-01 Copyright 2011-2017, Oracle and/or its affiliates. All rights reserved. Author: Barbara Snyder This software

More information

Lab 3a: Scheduling Tasks with uvision and RTX

Lab 3a: Scheduling Tasks with uvision and RTX COE718: Embedded Systems Design Lab 3a: Scheduling Tasks with uvision and RTX 1. Objectives The purpose of this lab is to lab is to introduce students to uvision and ARM Cortex-M3's various RTX based Real-Time

More information

Beta Testing Licence Agreement

Beta Testing Licence Agreement Beta Testing Licence Agreement This Beta Testing Licence Agreement is a legal agreement (hereinafter Agreement ) between BullGuard UK Limited ( BullGuard ) and you, either an individual or a single entity,

More information

Windows Device Driver and API Reference Manual

Windows Device Driver and API Reference Manual Windows Device Driver and API Reference Manual 797 North Grove Rd, Suite 101 Richardson, TX 75081 Phone: (972) 671-9570 www.redrapids.com Red Rapids Red Rapids reserves the right to alter product specifications

More information

Avaya CMS Supervisor Reports

Avaya CMS Supervisor Reports Avaya CMS Supervisor Reports Release 16.1 June 2010 2010 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete and accurate

More information

CS201 - Introduction to Programming Glossary By

CS201 - Introduction to Programming Glossary By CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with

More information

DATA ITEM DESCRIPTION

DATA ITEM DESCRIPTION helping projects succeed... 1.TITLE DATA ITEM DESCRIPTION SYSTEM/SUBSYSTEM DESIGN DESCRIPTION (SSDD) VERSION B 2. Identification Number PPA-003461-5 25 May 2012 3. DESCRIPTION/PURPOSE OF THE SSDD 3.1 The

More information

Multiprocessor scheduling

Multiprocessor scheduling Chapter 10 Multiprocessor scheduling When a computer system contains multiple processors, a few new issues arise. Multiprocessor systems can be categorized into the following: Loosely coupled or distributed.

More information

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document. ATmega IAR

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document. ATmega IAR CODE TIME TECHNOLOGIES Abassi RTOS Porting Document ATmega IAR Copyright Information This document is copyright Code Time Technologies Inc. 2011-2013. All rights reserved. No part of this document may

More information

ssj1708 User s Manual Version 1.3 Revised February 2nd, 2009 Created by the J1708 Experts

ssj1708 User s Manual Version 1.3 Revised February 2nd, 2009 Created by the J1708 Experts ssj1708 User s Manual Version 1.3 Revised February 2nd, 2009 Created by the J1708 Experts ssj1708 Protocol Stack License READ THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT CAREFULLY BEFORE OPENING

More information