Support Across The Board ™ Visual DSP Kernel (VDK)

Slides:



Advertisements
Similar presentations
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Advertisements

Chapter 3 Basic Input/Output
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Computer Hardware & Systems
Yaron Doweck Yael Einziger Supervisor: Mike Sumszyk Spring 2011 Semester Project.
Tutorial 3 - Linux Interrupt Handling -
Computer System Overview
1 OS Structure, Processes & Process Management. 2 Recap OS functions  Coordinator  Protection  Communication  Resource management  Service provider.
Chapter 13 Embedded Systems Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
ECE 526 – Network Processing Systems Design Software-based Protocol Processing Chapter 7: D. E. Comer.
Process Description and Control Module 1.0. Major Requirements of an Operating System Interleave the execution of several processes to maximize processor.
Process Description and Control Chapter 3. Major Requirements of an Operating System Interleave the execution of several processes to maximize processor.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
1 Computer System Overview OS-1 Course AA
1 Process Description and Control Chapter 3. 2 Process Management—Fundamental task of an OS The OS is responsible for: Allocation of resources to processes.
CSCE 351: Operating System Kernels
Chapter 13 Embedded Systems
Advanced OS Chapter 3p2 Sections 3.4 / 3.5. Interrupts These enable software to respond to signals from hardware. The set of instructions to be executed.
Figure 1.1 Interaction between applications and the operating system.
Chapter 11 Operating Systems
Mehmet Can Vuran, Instructor University of Nebraska-Lincoln Acknowledgement: Overheads adapted from those provided by the authors of the textbook.
CHAPTER 9: Input / Output
1 I/O Management in Representative Operating Systems.
Using Two Queues. Using Multiple Queues Suspended Processes Processor is faster than I/O so all processes could be waiting for I/O Processor is faster.
7/14/20151 Introduction toVisual DSP Kernel VDK for Multi-threaded environment ENCM491 – Real Time (in 1 hour) M. Smith, Electrical and Computer Engineering,
1 Threads Chapter 4 Reading: 4.1,4.4, Process Characteristics l Unit of resource ownership - process is allocated: n a virtual address space to.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
AMG Attendance System Product Description Copyright © 2009 AMG Employee Management, Inc.AMG Employee Management, Inc.
Performance Evaluation of Real-Time Operating Systems
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
System Calls 1.
Interrupts. What Are Interrupts? Interrupts alter a program’s flow of control  Behavior is similar to a procedure call »Some significant differences.
Advanced Operating Systems CIS 720 Lecture 1. Instructor Dr. Gurdip Singh – 234 Nichols Hall –
CHAPTER 9: Input / Output
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
Fall 2012 Chapter 2: x86 Processor Architecture. Irvine, Kip R. Assembly Language for x86 Processors 6/e, Chapter Overview General Concepts IA-32.
Other Chapters From the text by Valvano: Introduction to Embedded Systems: Interfacing to the Freescale 9S12.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
CE Operating Systems Lecture 11 Windows – Object manager and process management.
The Amiga Operating System: Past and Present Aaron Hensley Kayla Zinn Brad Campbell Gregory Mathurin Josh Benson.
RTX - 51 Objectives  Resources needed  Architecture  Components of RTX-51 - Task - Memory pools - Mail box - Signals.
Multi-threaded projects Services and Drivers Alternate ways of doing Labs 1, 2, 3 and 4.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
1 Process Description and Control Chapter 3. 2 Process A program in execution An instance of a program running on a computer The entity that can be assigned.
Lecture 3 CSE 341 – Microprocessors Lecture 3 Md. Omar Faruqe UB 1228
Embedded Computer - Definition When a microcomputer is part of a larger product, it is said to be an embedded computer. The embedded computer retrieves.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
CHAPTER 7 CONCURRENT SOFTWARE Copyright © 2000, Daniel W. Lewis. All Rights Reserved.
DSP/BIOS Real Time Operating system using DSP /ARM processor.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
Wednesday NI Vision Sessions
Advanced Operating Systems CS6025 Spring 2016 Processes and Threads (Chapter 2)
Introduction to Operating Systems Concepts
Operating System Overview
Advanced Operating Systems CIS 720
CS501 Advanced Computer Architecture
Computer Architecture
Interrupts In 8085 and 8086.
VDK Concepts and Features How to Create a Project with VDK support
Microcomputer Systems 1
Computer System Overview
Process Description and Control
Threads Chapter 4.
Interrupt handling Explain how interrupts are used to obtain processor time and how processing of interrupted jobs may later be resumed, (typical.
VDK Concepts and Features How to Create a Project with VDK support
Outline Operating System Organization Operating System Examples
VDK Concepts and Features How to Create a Project with VDK support
Threads CSE 2431: Introduction to Operating Systems
Presentation transcript:

Support Across The Board ™ Visual DSP Kernel (VDK)

Copyright © Avnet, Inc., Analog Devices, Inc. All rights reserved. VDK Module Outline What is the VDK? Why Do We Need a Kernel? VDK Concepts and Features How to Create a Project with VDK support Debug Capabilities Summary/Conclusion

Copyright © Avnet, Inc., Analog Devices, Inc. All rights reserved. What is the VDK? The Visual DSP Kernel is a pre-emptive kernel designed to run efficiently on Analog Devices family processors Included with VisualDSP++ development tools No NRE or royalties associated with VDK

Copyright © Avnet, Inc., Analog Devices, Inc. All rights reserved. Why do we need a kernel? A simple application that does only one task may not need a kernel –i.e.) Blind processing of a super loop If you have more than one task, an application could be structured in a couple of ways –Respond to an event Events change execution state –Assign tasks a given priority and execute high priority tasks more often These approaches get difficult when –You need to preserve the state of a task –Low priority tasks may steal processing time longer than anticipated

Copyright © Avnet, Inc., Analog Devices, Inc. All rights reserved. What does a kernel give you? Automatic preservation of task/system state Assign a scheduling method to tasks Provides synchronization abilities Frees architect from having to design ‘control code’

Copyright © Avnet, Inc., Analog Devices, Inc. All rights reserved. VDK Domain Concepts Application code executes in one of two domains –1 Thread Domain –2 Interrupt Domain Applications and algorithms execute in the thread domain under control of the VDK Kernel Interrupts execute outside this domain and priority is implemented in hardware –Thread execution is halted while in the interrupt domain Device drivers are a bridge between the two domains

Copyright © Avnet, Inc., Analog Devices, Inc. All rights reserved. More VDK Concepts Threads –A segment of code and it’s related variables/data –Each thread has its own stack and executes in supervisor mode Interrupts –Priority based in hardware Strongly recommend writing in assembly but C/C++ is supported Signals –Semaphores, Events, Device Flags, and Messages –Used to synchronize activity Device Drivers –Threads do not communicate with hardware directly –Hide the details of the hardware

Copyright © Avnet, Inc., Analog Devices, Inc. All rights reserved. Threads Thread types defined at project creation Each thread has a unique ThreadID Each thread has its own stack –Programmers responsibility not to overflow The heap for the stack and thread data can be specified

Copyright © Avnet, Inc., Analog Devices, Inc. All rights reserved. Semaphores Signals are used to synchronize thread activity –A semaphore is a token that threads can post or acquire –i.e.) relay race – second runner can not run until it has the baton Semaphores can be periodic –allows given tasks to be scheduled on a fixed interval

Copyright © Avnet, Inc., Analog Devices, Inc. All rights reserved. Events and Event Bits Events are used to synchronize thread activity to the system –Used to convey various system states to threads Similar to semaphores but can convey several combined system states at once

Copyright © Avnet, Inc., Analog Devices, Inc. All rights reserved. Messages Inter-thread communication –Transfer information between threads i.e.) Thread A sends some data for processing to Thread B Application views single and multi- processor systems the same

Copyright © Avnet, Inc., Analog Devices, Inc. All rights reserved. Interrupts Execute using hardware priorities –Spend as little time as necessary and only do the minimal processing required in ISR Any registers used by an ISR must be saved and restored ISRs can be written in assembly, C or C++ –C/C++ not recommended but included for flexibility

Copyright © Avnet, Inc., Analog Devices, Inc. All rights reserved. Device Drivers Device drivers bridge the gap between the thread and interrupt domains –How threads communicate with hardware –Provides a black box view to the application A device driver is a single function with multiple entry points –Initialization –Activation –Open –Close –SyncRead –SyncWrite –IOCtl

Copyright © Avnet, Inc., Analog Devices, Inc. All rights reserved. Creating a Project using VDK VDK support is added from the project wizard in Visual DSP++ Visual DSP++ creates all the necessary project files and skeleton code

Copyright © Avnet, Inc., Analog Devices, Inc. All rights reserved. The System Node Blackfin Threads System Control Thread Configuration

Copyright © Avnet, Inc., Analog Devices, Inc. All rights reserved. Debug Assistance Integrated in to Visual DSP++ VDK Status window –State of each object, active thread, resource management, etc VDK History window –Graphical display of system events –Useful when used with Trigger points

Copyright © Avnet, Inc., Analog Devices, Inc. All rights reserved. VDK Summary Provides a comprehensive set of services reducing the need to create your own control code Allows for rapid prototype of system Easy to move applications/algorithms across ADI processor families Well integrated with the IDDE for efficient editing and debug