|
The TMS320C64x+™ DSP System Integration Workshop using DSP/BIOS has been designed to use the latest hardware and software development tools available from Texas Instruments. In addition, this workshop builds around the concepts required to easily author simple DSP solutions and how to easily adapt them into increasingly more complex systems as system requirements evolve.
This workshop is not intended to be platform specific. While the labs were written on the 6437, the concepts and API apply to all TI DSP platforms. In fact, code written in the manner shown in this workshop can be easily adapted from one TI DSP processor to another.
Each of the first 10 chapters of the workshop include one or more 'hands on' lab sessions, intended to allow the attendee to 'try out' the concepts covered and obtain confidence in their ability to author code with the TI tools. Most of the labs adapt prior labs to new solutions, in the same manner as would be done in real life, rather than via 'fill in the blanks' or other non-realistic simulations of actual DSP system authoring.
| European workshop pricing: |
€2250 excluding VAT includes a take-home C5510, C6713, C6416, F2812, or F2808 DSK |
|
€1800 excluding VAT without a take-home DSK |
| Israeli workshop pricing: |
$950 (Please note: This is for the Israeli venue only) |
| United States workshop pricing: |
$1595.00 USD |
| China workshop pricing: |
RMB 3000 tax included |
| Taiwan workshop pricing: |
NT$ 26775 tax included |
| Rest of Asia (excluding Korea and Japan) |
US$ 750 tax excluded |
Workshops are conducted in the following languages:
-
All European and USA Multi-day workshops are conducted in English
-
Workshops in Korea are conducted in Korean
-
Workshops in Japan are conducted in Japanese
-
Workshops in China and Taiwan are conducted in Mandarin Chinese
-
Workshops in other parts of Asia are conducted in English
Who should attend
This workshop is designed for engineers who need to develop or sharpen their design and development skills in real-time software design using Code Composer Studio and DSP/BIOS.
Course Prerequisites
Familiarity with C programming will be very helpful, as almost all the code present in the class is C based. Experience in writing code in C is optimal, but even those able to barely read and follow simple C coding examples should not be overly challenged.
Since this class does not presume a particular TI DSP platform, no prior experience with any particular DSP hardware is required. However, users who will develop on a particular platform may want to consider attending one of the platform specific workshops available from TI to round out their knowledge before beginning their design.
Workshop Comparison Chart
Processor-to-Workshop Selection Chart
Workshop Comparison Chart
| Workshop |
Applicable Devices |
Primary OS |
Peripheral programming |
Framework or Example Code |
Algorithms |
Interrupts |
Cache |
DMA |
Flash Stand-alone system |
| DaVinci™ System Integration using Linux |
DM644x, DM646x, DM355, OMAP35x |
Linux |
PSP Linux drivers |
Codec Engine |
call xDM codecs/algorithms |
|
|
none |
|
| TMS320C64x+™ DSP System Integration using DSP/BIOS |
DM643x, C642x, DM647, DM648 |
DSP/BIOS |
PSP BIOS drivers |
Framework Components (DSKT, DMAN, ACOPY) |
call xDAIS or xDM algorithms |
Yes |
|
DSKT and DMAN framework components |
|
| TMS320C645x DSP System Integration Workshop |
C645x |
DSP/BIOS |
CSL 3.0, NDK, SRIO |
|
none |
Yes |
Yes |
EDMA 3.0 details |
yes |
| TMS320C6000 DSP Optimization Workshop |
All C6000, detailed CPU architecture |
|
overview |
|
create a XDAIS algorithm |
Basic |
Yes |
brief discussion |
|
| TMS320C64x/C67x™ DSP System Integration Workshop |
C6414T, C6415T, C6416T |
DSP/BIOS |
CSL 2.0, Serial port, DMA |
Programming examples |
none |
Yes |
Yes |
EDMA 2.0 details |
yes |
| TMS320DM64x™Video System Integration Workshop |
DM642 |
DSP/BIOS |
CSL 2.0, Serial port, DMA |
Programming examples |
none |
Yes |
Yes |
EDMA 2.0 details |
yes |
| TMS320C28x™ DSP Workshop |
F283xx, F282xx, F281x, F280x |
No OS or DSP/BIOS |
C header files |
Programming examples |
none |
Yes |
|
C28x DMA examples |
yes |
Back to Top
Processor-to-Workshop Selection Chart
Course Details
Classes begin at 8:30 a.m. and run through 5:30 p.m. each day. You can expect to finish class between noon and 2:00pm on the final day.
Cancellation Policy
-
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
Workshop 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
14. Review
- Review of lessons learned
- Overview of TI development tools
- Where to go for more information
|