TMS320C64x+™ DSP System Integration Workshop using DSP/BIOS
 Training Home TRAINING HOME
DETAILS
LOGISTICS

TMS320C64x+TM DSP System Integration Workshop using DSP/BIOS  Agenda

 1. Introduction

  • List objectives of the workshop
  • Overview of the topics to be covered in the workshop
  • Brief overview of the DSK
  • Lab: learn how to test and configure an EVM 'out of the box'

 2. Real-Time System Concepts

  • Define the topology common to most DSP systems
  • List factors involved in design of a real-time system
  • Compare and contrast tradeoffs in R/T system design
  • Identify where various BIOS elements apply to DSP systems
  • Observe how BIOS can be used in systems from small to extensive
  • Lab: practice CCS skills to create/download/debug DSP project

 3. Hardware Interrupts (HWI)

  • Describe the concepts of foreground / background processing
  • List details of the Idle (IDL) thread
  • Compare Hardware Interrupts (HWI) to ISR’s
  • Demonstrate how to invoke Interrupt Preemption
  • Describe the purpose of the Interrupt Monitor
  • Create an HWI object using CCS Gconf tool
  • Add an idle thread to a given CCS project
  • Lab: Observe performance of HWI threads using CCS tools

 4. Software Interrupts (SWI)

  • Describe the basic concepts of SWIs
  • Demonstrate how to post a SWI
  • Describe the SWI object
  • List several SWI posting options
  • Demonstrate how QUEues can be used to communicate from HWI to SWI
  • Lab: Add an SWI to an HWI-based system; use QUE to pass buffers between threads 

 5. Tasks and Semaphores (TSK, SEM)

  • Describe the fundamental concepts of tasks
  • Demonstrate the use of semaphores in tasks
  • Author TSK code using simple data block pointers
  • Create a TSK with the CCS GUI
  • Describe the TSK object
  • Explain the value of double buffers in DSP systems
  • Lab: Modify SWI based code to employ TSK

 6. Streams (SIO)

  • Describe the concept of BIOS streams
  • List the key stream API
  • Adapt a Task to use stream interfacing
  • Describe the benefits of multi-buffer streams
  • Set up a stream via the configuration tool
  • Describe how streams can interface to SWI
  • Lab: Adapt TSK system to employ streams to IOM driver

 7. Multi-Threaded Systems (CLK, PRD)

  • Describe the way BIOS can implement a time base
  • Setup a time base via the BIOS CLK module
  • Describe the results of invoking various BIOS CLK API
  • Set functions to run at a periodic rate via the PRD module
  • Describe how to implement delayed ‘one-shot’ functions
  • Describe how the scheduler can be managed via BIOS API
  • List various BIOS scheduler management API
  • Lab: scheduler management API for system performance

 8. BIOS Instrumentation (LOG, STS, SYS, TRC)

  • Demonstrate statistical data on variables without halting the DSP
  • Describe why printf() is unsuitable for real-time systems
  • Describe how LOG_printf() overcomes this problem
  • Demonstrate how to use LOG_printf() in debugging
  • Describe how to implement trace control
  • Demonstrate how to perform real-time graphing
  • Describe the various API for responding to system errors
  • Lab: Incorporate/ observe R/T instrumentation into lab solution

 9. Static Systems (GCONF, TCONF)

  • List the advantages and limitations of static systems
  • Demonstrate how to define target memory in CCS
  • Demonstrate routing S/W components into desired H/W memory
  • Describe the files created in a CCS project build
  • Observe the results of a built project
  • Describe how to optimally tune a static system
  • Describe the startup sequence of a BIOS based system
  • Lab: adapt prior lab to use different linking options 

10. Dynamic Systems (MEM, BUF)

  • Contrast static and dynamic system coding benefits
  • Implement dynamic BIOS object creation and deletion
  • Contrast the BIOS MEM API to malloc and free
  • Contrast MEM API with BUF API
  • Lab: Modify the prior static solutions to employ dynamic methods

11. Inter-Thread Communication (MSGQ, ...) 

  • Become familiar with signaling/data transfer methods in DSP/BIOS
    • ATM Atomic Fxns
    • SEM Semaphore
    • LCK Lock
    • MBX Mailbox
    • QUE Queue
    • SCOM Synchronized Comm
    • MSGQ Message Queue
  • Each API compared/contrasted to select optimal choice in an application

12. Input Output Mini-Drivers (IOM)

  • Describe the concepts of BIOS drivers
  • List the key MD API
  • List the basic activities in each MD function
  • Describe the support tools for writing IOMs
  • Describe all components of an example IOM

13. DSP Algorithm Standard (XDAIS)

  • Describe the benefits of using XDAIS compliant algorithms
  • Describe how users control algorithm behaviour
  • Describe how users control algorithm’s RAM and ROM usage
  • Describe how XDAIS algorithms support multiple instances
  • List the interface methods required in XDAIS algorithms
  • List the sequence of actions in using an XDAIS algorithm
  • Use Component Wizard to develop an XDAIS interface

15. Review

  • Review of lessons learned
  • Overview of TI development tools
  • Where to go for more information

 

* European classes are subject to cancellation if minimum number of attendees is not met one week prior to the date of the workshop.  

* US classes are subject to cancellation if minimum number of attendees is not met two weeks prior to  the date of the workshop.

 Minimum = 5   Maximum = 12