|
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
|