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

Similar documents
2 ABOUT VISUALDSP++ In This Chapter. Figure 2-0. Table 2-0. Listing 2-0.

3.0 Kernel (VDK) User s Guide

W5.0 Kernel (VDK) User s Guide (including the ADSP-BFxxx, ADSP-21xxx, ADSP-TSxxx)

W5.0 Kernel (VDK) User s Guide

Zilog Real-Time Kernel

ZiLOG Real-Time Kernel Version 1.2.0

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

W4.0 Kernel (VDK) User s Guide

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

W5.0 Kernel (VDK) User s Guide

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

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory


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

Real-Time Programming

real-time kernel documentation

Lesson 5: Software for embedding in System- Part 2

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

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

Efficiency and memory footprint of Xilkernel for the Microblaze soft processor

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

Outline: System Development and Programming with the ADSP-TS101 (TigerSHARC)

Multiprocessor and Real- Time Scheduling. Chapter 10

Interrupts (Exceptions) Gary J. Minden September 11, 2014

Engineer To Engineer Note

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document C28X CCS

Interrupts (Exceptions) (From LM3S1968) Gary J. Minden August 29, 2016

Lecture 3: Concurrency & Tasking

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

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

Introduction. CS3026 Operating Systems Lecture 01

µcos-ii Real-Time Kernel for CrossCore Embedded Studio version Release Notes What is µc/os-ii Real-Time Kernel for CrossCore Embedded Studio

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document AVR32A GCC

Migrating to Cortex-M3 Microcontrollers: an RTOS Perspective

Lecture notes Lectures 1 through 5 (up through lecture 5 slide 63) Book Chapters 1-4

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

INDEX. Figure I-0. Listing I-0. Table I-0. Symbols.DIRECTIVE (see Assembler directives)? preprocessor operator 3-34

RT3 - FreeRTOS Real Time Programming

Linux Driver and Embedded Developer

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

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document MSP430 GCC

Systemy RT i embedded Wykład 11 Systemy RTOS

Interrupts Peter Rounce - room 6.18

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

Process Coordination and Shared Data

Introduction to Real-Time Operating Systems

Programming Embedded Systems

Process Context & Interrupts. New process can mess up information in old process. (i.e. what if they both use the same register?)

AN HONORS UNIVERSITY IN MARYLAND UMBC. AvrX. Yousef Ebrahimi Professor Ryan Robucci

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

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document MSP430/X CCS

Process- Concept &Process Scheduling OPERATING SYSTEMS

WS_CCESBF7-OUT-v1.00.doc Page 1 of 8

Single thread Scheduler All processes called once each sample

EEL 4744C: Microprocessor Applications. Lecture 7. Part 1. Interrupt. Dr. Tao Li 1

Reading Assignment. Interrupt. Interrupt. Interrupt. EEL 4744C: Microprocessor Applications. Lecture 7. Part 1

Embedded System Curriculum

CSc33200: Operating Systems, CS-CCNY, Fall 2003 Jinzhong Niu December 10, Review

Grundlagen Microcontroller Interrupts. Günther Gridling Bettina Weiss

INTERRUPT MANAGEMENT An interrupt is a hardware mechanism used to service an event that can be external or internal to

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document. ARM Cortex-M0 Atollic

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document MSP430 IAR

Module 1. Introduction:

3.1 Introduction. Computers perform operations concurrently

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

Section 2 Introduction to VisualDSP++

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

Exam TI2720-C/TI2725-C Embedded Software

REAL TIME OPERATING SYSTEMS: A COMPLETE OVERVIEW

µc/os-iii Real-Time Kernel for CrossCore Embedded Studio version Release Notes Introduction

Using the FreeRTOS Real Time Kernel

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

Green Hills Software, Inc.

What is µc/os-iii Real-Time Kernel for CrossCore Embedded Studio

A New Real-time Kernel development on an embedded platform

6/20/2018. Lecture 2: Platforms & RTOS. Outline. Lab Setup (20 min) Labs work. Lecture: Platform + RTOS

Faculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology

The components in the middle are core and the components on the outside are optional.

In Class Assignment 2

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

Interrupt/Timer/DMA 1

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

VALLIAMMAI ENGINEERING COLLEGE

Mobile Operating Systems Lesson 01 Operating System

Embedded Operating Systems

Frequently Asked Questions about Real-Time

EE458 - Embedded Systems Lecture 8 Semaphores

Reference Model and Scheduling Policies for Real-Time Systems

Short Term Courses (Including Project Work)

Process Scheduling Queues

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

Blackfin Optimizations for Performance and Power Consumption

Embedded Systems. 5. Operating Systems. Lothar Thiele. Computer Engineering and Networks Laboratory

Institutionen för systemteknik

Operating System. Operating System Overview. Structure of a Computer System. Structure of a Computer System. Structure of a Computer System

Dr. Rafiq Zakaria Campus. Maulana Azad College of Arts, Science & Commerce, Aurangabad. Department of Computer Science. Academic Year

Design and Implementation Interrupt Mechanism

WS_CCESSH-OUT-v1.00.doc Page 1 of 8

Nios II. uc/os-ii porting with Nios II Altera Corporation

SIDDHARTH GROUP OF INSTITUTIONS :: PUTTUR Siddharth Nagar, Narayanavanam Road QUESTION BANK (DESCRIPTIVE) UNIT I OPERATING SYSTEMS

Transcription:

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 include interrupt handling, thread management, and semaphore management, among other services. Context Switch A process of saving/restoring the processor s state. The scheduler performs the context switch in response to the system change. A hardware interrupt can occur and change the state of the system at any time. Once the processor s state has changed, the currently running thread may be swapped with a higher-priority thread. When the kernel switches threads, the entire processor s state is saved and the processor s state for the thread being switched in is restored. This process is known as a context switch. Critical Region A sequence of instructions, execution of which cannot be interrupted or swapped out. To ensure that the execution of a critical region is uninterrupted, all interrupt service routines must be suspended before calling the critical region. Once the critical region routine has been completed, ISRs are enabled. VisualDSP++ Kernel (VDK) User s Guide B-1

Event A signal, similar to a semaphore, used to synchronize multiple threads in a system. An event is a logical switch, having two binary states (available/true and unavailable/false) that control thread execution. When an event becomes available, all pending (waiting) threads in the wait list are set to be ready-to-run. When an event is available and a thread pends on it, the thread continues running and the event remains available. For error handling purposes, threads can specify a timeout period when pending on an event. A certain time period can be set for posting an event at a given time, thus allowing threads to be made ready to run periodically. An event is a code object of global scope, so any thread can pend on any event. Event properties include the EventBit mask, EventBit value, and combination type. Events are statically allocated and enumerated at run-time. An event cannot be destroyed, but its properties can be changed (see LoadEvent()). EventBit A flag set or cleared to post the event. The Event is posted (available) when the current values of the system EventBits match the EventBit s mask and EventBits values defined by the Event's combination type. There is one and only one EventBits word in a system. It matches the width of the processor's data bus: sixteen bits for ADSP-219x DSPs; thirty-two bits for ADSP-21xxx, and ADSP-TSxxx DSPs. Device Driver A user-written routine that abstracts the hardware implementation from the application code. User code accesses device drivers through a set of Device Driver APIs. B-2 VisualDSP++ Kernel (VDK) User s Guide

Glossary Interrupt An external or internal condition detected by the hardware interrupt controller. In response to an interrupt, the kernel processes a subroutine call to a predefined Interrupt Service Routine (ISR).Interrupts have the following specifications: Latency interrupt disable time the period between the interrupt occurrence and the first ISR s executed instruction. Response interrupt response time the period between the interrupt occurrence and a context switch. Recovery interrupt recovery time the period needed to restore the processor s context and to start the return-from-interrupt (RTI) routine. Interrupt Service Routine (ISR) A routine executed as a response to a software interrupt or hardware interrupt. VDK supports nested interrupts, meaning that the kernel recognizes other interrupts and/or services interrupts with higher priorities while executing the current ISR. VDK ISRs are written in assembly language. VDK reserves the timer and the lowest priority (idle) interrupt. Real-Time Operating System (RTOS) A software executive that handles DSP algorithms, peripherals, and control logic. The fist release of Analog Devices RTOS comprises the following components: kernel, communication manager, support library, and device drivers. RTOS enables structured, scalable, and expandable DSP application development while hiding OS complexity. VisualDSP++ Kernel (VDK) User s Guide B-3

Round-Robin Scheduling A scheduling scheme where all threads at a given priority are given processor time automatically in fixed duration intervals. Round-Robin priorities are specified at build time. Pre-emptive Kernel VisualDSP++ Kernel is a priority-based kernel in which the currently running thread of the highest priority is pre-empted, or suspended, to give system resources to the new highest-priority thread. RTOS Kernel The main module of any Real-Time Operating System. The kernel loads first and permanently resides in the main memory. Typical kernel manages other modules of the Real-Time Operation System. Kernel typical services include context switching and communication management between OS modules. Scheduler A kernel component responsible for scheduling of system threads and interrupt service routines. VDK is a priority-based kernel in which the highest-priority thread is executed first. Semaphore A signal (similar to an event) used to synchronize multiple threads in a system. A semaphore is a logical switch, two states of which (available/true and unavailable/false) control any thread execution. Unlike an event, whose state is automatically calculated, a semaphore is directly manipulated via PendSemaphore() or PostSemaphore(). Posting a semaphore takes a deterministic amount of time and may incur a context switch. B-4 VisualDSP++ Kernel (VDK) User s Guide

Glossary Signal A method of communicating between multiple threads. VDK supports three types of signals: semaphores, events, and device flags. System Configurator The System Configuration control is accessible from the Kernel tab on the Project Window. The Kernel Window provides a graphical representation of the data contained in the vdk.h and vdk.cpp files. Thread A kernel system component that performs a predetermined function and has its own share of system resources. VDK supports multithreading, a run-time environment with concurrently executed independent threads. Threads are dynamic objects that can be created and destroyed at runtime. Thread objects can be implemented in C, C++, or assembly language. A thread s properties include an ID, priority, and current state (wait, ready, run, or interrupted). Each thread maintains its own C/C++ stack. Unscheduled Region A sequence of instructions whose execution can be interrupted, but cannot be swapped out. The kernel acknowledges and services interrupts when an unscheduled region routine is running. VisualDSP++ Kernel (VDK) RTOS kernel from Analog Devices. VDK is a part of VisualDSP++. The kernel is integrated with the Integrated Development and Debugging Environment (IDDE) and assembler, compiler, and linker programs into the DSP development tool chain. VDK is supported on ADSP-219x, ADSP-21xxx, ADSP-TSxxx, and BLACKfin processors. VisualDSP++ Kernel (VDK) User s Guide B-5

Ticks The system level timing mechanism. Every system tick is a timer interrupt. B-6 VisualDSP++ Kernel (VDK) User s Guide