1 / 28

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

DSP/BIOS Real Time Operating system using DSP /ARM processor. Learning Objectives. Introduce DSP/BIOS and its components. Introduce the software tools for managing DSP/BIOS components and objects. Real time embededd system.

saskia
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Learning Objectives • Introduce DSP/BIOS and its components. • Introduce the software tools for managing DSP/BIOS components and objects.

  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. 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. DSP/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. DSP/BIOS - API Modules 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 Instrumentation/Real-Time Analysis LOG Message Log mangerSTS 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

  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. 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. Structure to support communication and synchronization between threads are provided. These includes • Semaphores, • mailboxes, and • resource locks.

  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. DSP/BIOS Components

  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. 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. LOG module function

  15. Task • 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. 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. Semaphore • 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. Semaphore function

  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. MailBox function

  21. Pipes • 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 2 Task 1

  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. 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. 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. 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. 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. 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. Thank You

More Related