|
The C6000 Embedded Design Workshop Using SYS/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 program simple DSP solutions and how to easily adapt them into increasingly more complex systems as system requirements evolve.
Texas Instruments SYS/BIOS RTOS supports multiple architectures: MSP430, Stellaris-M3, C2000, C6000 and other ARM platforms.
This workshop's primary focus is on SYS/BIOS 6.3x running on a single-core DSP (C6748). However, the concepts discussed can be easily "ported" to ARM+DSP and multi-core devices (C66x) running SYS/BIOS or DSP/BIOS (BIOS ver... 5.4x+). Also, all O/S-specific concepts apply to all processors supported by SYS/BIOS.
Several chapters introduce tools and processes used by SoC (ARM+DSP) and multi-core (C66x) users such as C6EZRun/Accel, Codec Engine, SysLink and MSGQ. If users are primarily Linux/ARM focused, it might be a good idea to consider the 4 day Linux Embedded System Design using ARM and ARM+DSP Workshop (especially if Codec Engine is of primary concern).
This workshop is not intended to be platform specific. While the labs were written to run on OMAP-L138 EVM (C6748 AND OMAP-L138 SOMs) using CCS v5.1, the concepts and APIs apply to all TI C6000 platforms and can be helpful for users of CCSv3.3 or CCSv4 as well.
Although this workshop uses SYS/BIOS (a.k.a BIOS 6.3x), the learning experience for DSP/BIOS users will be more than sufficient. API names change and there are some new features in SYS/BIOS, but what the O/S can do and how it works is relatively the same. This class version has an optional chapter on DSP/BIOS (12a) that covers the most important topics related to creating DSP/BIOS projects using TCF files - and includes a lab. With increasing numbers of students wanting more info on SYS/BIOS the decision was made to completely switch from DSP/BIOS to SYS/BIOS at this point. The other factor driving the switch is that all new processors in 2011 and beyond are ONLY supported by SYS/BIOS.
The workshop is now broken into 4 new parts: "Core Essentials" (first 5 chapters), "Kicking It Up a Notch" (the next 3 chapters), "Advanced System Optimization" (chapters 9-11) and "Grab Bag" (where we give students a choice of 5 topics).
The goal here is that each person who attends this workshop should be very grounded in the first 5 chapters, the ESSENTIAL skills, after leaving the workshop. If students comprehend and are able to demonstrate skills in the "kicking it" and "advanced" chapters, that is even better. The "Grab Bag" chapters can be covered as time and interest permits.
Almost every chapter has a lab - we really do believe in the fact that students learn more by DOING. Each of the first 10 chapters of the workshop include one or more hands-on lab sessions, intended to allow you to try out the concepts covered and increase your confidence to write 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 programming.
Choose the SYS/BIOS workshop if you are:
- Developing code for the C6000 DSP using SYS/BIOS or DSP/BIOS
- ARM + DSP user who wants to understand the DSP "black box" and the RTOS (BIOS) running on that CPU
- MSP430, C28x, Stellaris-M3 user who wants a deeper dive into SYS/BIOS
Choose the Linux Embedded System Design workshop using ARM and ARM+DSP if you are:
- primarily an ARM/Linux programmer
- planning to use Codec Engine extensively (ARM+DSP framework for running local and remote algorithms)
ARM, Stellaris Cortex, MSP430, C55x, C28x Users:
- ARM, Stellaris, MSP430 users will be using SYS/BIOS exclusively. You can learn a great deal about this RTOS in the SYS/BIOS workshop. The only architecture NOT supported by SYS/BIOS is C55x - but the RTOS concepts are the same between DSP/ and SYS/BIOS.
Workshop Schedule and Pricing
United States $1595.00 Register Now
2H2012 dates TBA
|
European
€1800 excluding VAT
For any further demand of this workshop in Europe, please submit your request here.
For any questions please contact asktexas@ti.com
Thank you - EMEA training organization.
|
Course Author’s Official Wiki site:
Click“HERE” to go to the author’s official wiki site to read the most up-to-date info and contents for this workshop. The author posts all documentation (student guide and powerpoint slides) as well as all lab and solution files.
He also includes a lab environment setup guide that walks users through the entire setup process to create the lab environment based on the target platform – currently the OMAP-L138/C6748 EVM from LogicPD. So, for the latest info, go check out the author’s official wiki site…
Workshop Outline
1. Devices
- Provide an overview of the DSP, MCU, ARM and ARM+DSP devices from TI
- Highlight a few of the peripherals on these devices
2. Introduction to CCSv5
- Describe the fundamentals of Code Composer Studio (CCS) v5
- Demonstrate new features of CCSv5 such as workspaces, perspectives and views
- Describe the device/system memory map and how to create a linker.cmd file
- Lab 2: Create, build and debug several code examples using CCSv5
3. Introduction to SYS/BIOS
- Explore the basic features of the SYS/BIOS Real-time Operating System (TTOS)
- Define SYS/BIOS thread types and how the scheduler prioritizes threads in a system.
- Learn how to create a new SYS/BIOS project
- Lab 3: SYS/BIOS Blink LED
4. C6000 Hardware Interrupts (Hwi)
- Describe how a peripheral (McASP) works and how it generates an event (Hwi)
- Describe how hardware interrupts (Hwi) work on a C64x +architecture
- Demonstrate how to create an Hwi via CCS's config tool
- Lab 4: Use an Hwi to respond to McASP interrupts
5. Using Swi and Tasks
- Understand how Swi's complement Hwi's
- Compare/contrast Swi and Tasks
- Describe use of semaphores and Tasks in a system and how to create them
- Identify how Tasks are prioritized within the BIOS scheduler
- Lab 5: Use Swi to perform "ALGO" as follow-up to Hwi. Change Swi to Task.
6. Clock Functions and RTA Tools
- Describe how to configure Clock Functions to execute periodically
- Use Timestamp to benchmark code
- Configure all the RTA tools - including Logs, Execution Graph and CPU/Thread Load
- Lab 6: Add lock Fxn and observe RTA results
7. Inter-thread Communication
- Describe how to share resources between threads on a single-core DSP
- Compare different use cases (concurrent access vs. issue/reclaim model)
- Analyze several BIOS building blocks for data sharing and signaling
- Identify where semaphores can be a good choice vs. where they produce problems.
8. Using Dynamic Memory
- Compare/contrast static and dynamic systems
- Define heaps and describe how to configure them
- Describe how to eliminate the drawbacks of using std heaps (fragments,non-determinism)
- Implement dynamic object creation
- Lab 8: Create Semaphores and Tasks dynamically
9. C and System Optimizations
- Describe how to configure and use the various compiler/optimizer options
- Discuss the key techniques to increase performance or reduce code size
- Demonstrate how to use optimized libraries
- Overview key system optimizations
- Lab 8: Use FIR algo on audio data, optimize using the compiler, benchmark
10. Cache and Internal Memory
- Compare/contrast different uses of memory (internal,external, cache)
- Define cache terms and definitions
- Describe C64x+ cache architecture
- Demonstrate how to configure and use cache optimally
- Lab 10: Modify an existing system to use cache - benchmark solutions
11. Using EDMA3
- Understand the basic terminology related to EDMA3
- Be able to describe how a transfer starts, how it is configured and what happens after the transfer completes
- Understand how EDMA3 interrupts are generated
- Be able to easily read EDMA3 documentation and have a great context to work from to program the EDMA3 in your application
12. List of "Grab Bag" Topics - the following topics will be taught provided time and interest (students vote) Each topic takes about 30-45 minutes plus any lab time if necessary
- Intro to DSP/BIOS
- Booting from Flash
- C6000 Architecture Details
- DSP, ARM+DSP Software Tools
- Drivers - SIO/PSP/IOM
Course Prerequisites
Familiarity with C programming will be very helpful, as all the code used and written in the class is C based. Some experience with basic object oriented coding and operating system code that is "thread-based" is also helpful. If you have minimal or no C coding experience, this course may challenge you beyond your limits. However, some people have been known to simply import the solution files and walk through the lab steps - which is totally acceptable. This is an adult-learning environment, so it is up to the student to challenge themselves at a level that will provide the best learning experience for them as an individual.
Since this class does not presume a particular TI DSP/MCU platform, no prior experience with any particular DSP or MCU hardware is required. However, experience with embedded system programming (memory management skills) is helpful, but not required.
All European and USA Multi-day workshops are conducted in English
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 2:00pm -4: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.
In the event of short notice cancellation Texas Instruments is liable solely for the refund of workshop fees.
Minimum = 5 Maximum = 12
|