Presentation is loading. Please wait.

Presentation is loading. Please wait.

DSP/BIOS Real Time Operating system using DSP /ARM processor.

Similar presentations


Presentation on theme: "DSP/BIOS Real Time Operating system using DSP /ARM processor."— Presentation transcript:

1 DSP/BIOS Real Time Operating system using DSP /ARM processor

2 Ajay Patil Chapter 4, Slide 2 Learning Objectives  Introduce DSP/BIOS and its components.  Introduce the software tools for managing DSP/BIOS components and objects.

3 Ajay Patil Chapter 4, Slide 3 Real time embededd system  The system in which some specific work has to be done in specific time period are called real time embedded systems.  The embedded software consists of the operating system and application software.

4 Ajay Patil Chapter 4, Slide 4  The services provided by Operating system are accessed through the Application Programming Interface (API) to develop application software.  The API is a set of function calls using which you can access the various kernal objects and service provided by kernal.

5 Ajay Patil Chapter 4, Slide 5DSP/BIOS  The DSP/BIOS is an operating system (scalable real time kernal) that can provide:  A graphical interface for static system setup.  Real-time scheduling and synchronization.  Real-time analysis (RTA)  Real-time data exchange (RTDX).  DSP/BIOS provides preemptive multi-threading, hardware abstraction, and configuration tools.

6 Ajay Patil Chapter 4, Slide 6 DSP/BIOS - API Modules Instrumentation/Real-Time Analysis LOG Message Log manger STS Statistics accumulator manager TRC Trace manager RTDX Real-Time Data Exchange manager Thread Types HWI Hardware interrupt manager SWI Software interrupt manager TSK Multitasking manager IDL Idle function & processing loop manager Clock and Periodic Functions CLK System clock manager PRD Periodic function manger Comm/Synch between threads SEM Semaphores manager MBX Mailboxes manager LCK Resource lock manager Input/Output PIP Data pipe manager HST Host input/output manager SIO Stream I/O manager DEV Device driver interface Memory and Low-level Primitives MEM Memory manager SYS System services manager QUE Queue manager ATM Atomic functions GBL Global setting manager

7 Ajay Patil Chapter 4, Slide 7 DSP/BIOS module features and Benefits  DSP/BIOS API provides programming number of TI devices and easy program development tool  All DSP/BIOS objects can be configured statically and bound into an executable program image.  Instrumentation data can be formatted on host.  The APIs are modularized so only those APIs that are used by the program need to bound into executable module.

8 Ajay Patil Chapter 4, Slide 8  A program can dynamically create and delete objects that are used in special situations.  The threading provides thread types for variety of situations.  Hardware interrupts, software interrupts, tasks, idle functions,and periodic functions all are supported.

9 Ajay Patil Chapter 4, Slide 9  Structure to support communication and synchronization between threads are provided. These includes These includes  Semaphores,  mailboxes, and  resource locks.

10 Ajay Patil Chapter 4, Slide 10  Two I/O models are supported for maximum flexibility and power.  Pipes are used for target/host communication and two support simple cases in which one thread writes to the pipes and another reads from pipes.  Streams are used for more complex I/O and to support device driver.

11 Ajay Patil Chapter 4, Slide 11 DSP/BIOS Components

12 Ajay Patil Chapter 4, Slide 12 Files created By DSP/ BIOS .cdb. Stores configuration settings .cmd. Linker command file .h. Includes DSP/BIOS module header files and declares external variables for objects created in the configuration file .s67. Assembly language source file for DSP/BIOS settings .h67. Assembly language header file included by program .c. Code for Chip Support Library (CSL) structures and settings

13 Ajay Patil Chapter 4, Slide 13 LOG (Event Log Manager).   Log objects capture information about events in real time. System events are captured in the system log. We can configure additional logs. Your program can add messages to any log.

14 Ajay Patil Chapter 4, Slide 14 LOG module function FunctionDescription LOG_disable Disable A LOG LOG_enable Enable A LOG LOG_error / lOG_message Write a message to system log LOG_event Append a unformatted message to a log LOG_printf Append a formatted message to a log LOG_reset Reset a log

15 Ajay Patil Chapter 4, Slide 15Task  Task- Any real time operating system consists number of tasks, it include operating system tasks and Application specific tasks.  Each task in an embedded is implemented as an infinite loop  The tasks consists of its name, a unique ID, a priority, a stack and task control block that contain all information related to the task.

16 Ajay Patil Chapter 4, Slide 16 Task scheduler  Only one processor has to handle multiple tasks, the tasks have to share the CPU time in a disciplined manner so that one task tasks does not get lot of time while others are waiting forever.  Therefore each task has to be assigned priority, and a mechanism for deciding which task will get CPU time next has to be worked out. This is known as task scheduler.

17 Ajay Patil Chapter 4, Slide 17Semaphore  Semaphore is like a key to house.  Semaphore –it is kernel Object that is used for both resource synchronization and task synchronization.  Each Module has its Specific Management Function Calls.  When multiple task are running, two or more task may need to share the same resource.

18 Ajay Patil Chapter 4, Slide 18 Semaphore function FunctionDescription SEM_create Create a SEMAPHORE SEM_delete Delete a SEMAPHORE SEM_pend wait for a semaphore SEM_post Signal a semaphore SEM_ipost Signal a semaphore (interrupt only) SEM_reset Reset a semaphore SEM_new Initialize a semaphore SEM_count Get current semaphore count

19 Ajay Patil Chapter 4, Slide 19  Mailboxes- it is just like a postal box.A task can have a mailbox into which others can post a mail. A task or ISR sends the message to mailbox.  Message queues (Queue manager) can be considered as an array of mailboxes.

20 Ajay Patil Chapter 4, Slide 20 MailBox function FunctionDescription MBX_create Create a mailbox MBX_delete Delete a mailbox MBX_pend wait for a message from mailbox MBX_post Post a message to mailbox

21 Ajay Patil Chapter 4, Slide 21Pipes  Pipes can be used for inter task communication  One task may send data packets through one pipe and other taskk may send acknowledge through other pipes Task 1 Task 2

22 Ajay Patil Chapter 4, Slide 22 Naming conventions  Each DSP/BIOS module has a unique name that is used as a prefix for operations (functions), header files, and objects for the module.  The name is comprised of 3 or more uppercase alphanumerics.  All identifiers beginning with upper- case letters followed by an underscore (XXX_*) should be treated as reserved words.

23 Ajay Patil Chapter 4, Slide 23 Module header Names  Each DSP/BIOS module has two header files containing declarations of all constants, types, and functions made available through that module’s interface.  xxx.h  DSP/BIOS APIs header files for C programs. Our C source files should include std.h and the header files for any modules the C functions use.  Xxx.h67  DSP/BIOS API header files for Assembly programs.

24 Ajay Patil Chapter 4, Slide 24 Object Names  System objects that are included in the configuration by default typically have names with a 3 or 4-letter code for the module that defines or uses the objects.  for e.g, the default configuration includes a LOG object Called LOG_system.

25 Ajay Patil Chapter 4, Slide 25 Operation names  The format for the DSP/BIOS API operation name is MOD_action, where MOD is the letter code for the module that contains the operation,and action is the Action performed by the module  For e.g SWI_post

26 Ajay Patil Chapter 4, Slide 26  The user writes code (‘C’/assembly) using the DSP/BIOS library.  The user can use the configuration tools to setup the system.  All the files generated constitute a project.

27 Ajay Patil Chapter 4, Slide 27 Calling DSP/BIOS API from Main  DSP/BIOS initialization takes place in two place  During BIOS_init which runs before mains and BIOS_start which runs after your program returns from main

28 Ajay Patil Chapter 4, Slide 28


Download ppt "DSP/BIOS Real Time Operating system using DSP /ARM processor."

Similar presentations


Ads by Google