The DaVinci/OMAP System Integration using Linux workshop covers the development of a generic video application. This application is being used because the peripherals on these first DaVinci devices were chosen to greatly accelerate the video applications (and their development). However these concepts can easily be applied to other types of systems. Other processors discussed are the DM646x, DM3xx, OMAP35x and OMAP-L1xx processors
Beginning with an overview of the device architecture, this workshop will use a generic video system to explore the various DM644x hardware peripherals and software components. The workshop will concentrate on the various software components provided by Texas Instruments: device drivers, Codec Engine (interprocessor communication framework), xDM (codec/algorithm interface standard). At the end of the workshop, attendees will have the opportunity to use and evaluate a variety of advanced system design/debug details.
Workshop Outline
1. Introduction to DaVinciTM Technology: Device, Software, and Tools
Video system overview
Device system architecture
Introduction to the software architecture (Codec Engine, xDM)
Overview of tools
2. Application Layer Programming
Getting data in/out of the system
Intro to device drivers
Using a hard disk drive
Using the audio serial port
Using the video capture/display drivers (V4L2,FBdev)
Adding ARM®-based (local) processing to the Input/Output thread
Moving real-time processing tasks to the DSP (remote processing)
3. Signal Processing Layer Programming
Using the xDM interfaces to write signal processing algorithms
ARM/Linux-based processing
DSP-based processing
Packaging signal processing content for easy configuration and re-use
4. Advanced System Programming Details
Advanced System Configuration - Using the DVSDK
Using the config tool to easily substitute codec algorithms
Changing the priorities of processing tasks running on the DSP
Using the CE trace features
Using the SoC Analyzer to evaluate system performance
About DaVinci Technology-Based TMS320DM644x Digital Media Processors
DaVinci technology is optimized for digital video systems and includes DSP-based SoCs, multimedia codecs, APIs, frameworks and development tools. These integrated components are the industry's first complete offering of an open platform for video system development.
This workshop focuses on the DM644x architecture, which is a highly integrated SoC that has absorbed many of the external components required for digital video. The DM644x processors, available today, are based on the TMS320C64x+TM DSP core and ARM926 processor and include video accelerators, networking peripherals and external memory/storage interfaces all specifically tuned for video.
TMS320DM6443 digital media processor is tuned for video decode applications and provides all of the processing components required to decode digital video.
TMS320DM6446 digital media processor, tuned for encode and decode applications, adds video encoding capabilities through a dedicated video processing front-end capable of capturing various digital video formats.
Not sure which workshop is best for you? Use the Selection Tools listed below
The course has been designed for software and system engineers who are planning to use the Texas Instruments DM644x, DM646x, DM3xx, OMAP35x and OMAP-Llxx devices.
The workshop addresses building a system using the various software drivers and framework components provided by Texas Instruments including:
ARM running MontaVista Linux
DSP running DSP/BIOSTM kernel
Signal processing and interprocessor communication (IPC) via Codec Engine (VISA API)
Signal Processing Layer (codecs and algorithms) built using xDM/xDAIS API
Real-Time software components (codecs, Servers, Engines) packaged with XDC tool
Prerequisites
While these prerequisites are note officially required, we offer them as guidance for the skills used in this workshop. Enhancing your knowledge in these areas before the workshop should help you get the most from your Texas Instruments' workshop experience.
Required
Working knowledge of C programming - This is the primary computer language used for this course. If you are not actively programming in C on a regular basis, we suggest that you refresh your C programming knowledge through a book or course prior to attending the workshop.
Not required, but highly recommended
Basic Linux OS skills (i.e. shell commands, etc.)
Embedded system basics (what is a memory map, linking, etc.)
Nice to have
TMS320C64xTM DSP Programming
Basic Linux programming (processes, threads, etc.)
Understanding of Linux device drivers
Video Application/System knowledge
What is not covered in the workshop
Please note that this course was not designed for hardware layout/design engineers. While the material may prove useful to hardware engineers, the course does not address their specific needs. These concerns are being addressed through a series of application notes and reference designs. Please contact your local TI representative (or the Product Information Center - support@ti.com) if you have further questions.
How can attending a Texas Instruments Workshop help you with your project?
See what our customers are saying....
"This workshop greatly reduces the learning curve and provides a good view of where to start and what is available."
"This workshop is wonderfully organized. The lab progression is excellent. It was a great experience."
"This workshop has helped me get a complete grasp of the DaVinci. I have a board and have been coding it some before this point. The course helped solidify my understanding."
"This workshop has taught me, in a very short time, all the things that the DaVinci technology can do for me. Now I have confirmation that our choice of DaVinci is an excellent match for our project needs."