ti Linux Embedded System Design Workshop Designing with Texas Instruments ARM and ARM+DSP Systems Student Guide Workshop Student Notes Revision 2.10 August 2010 Technical Training Workshop Goals Notice Creation of derivative works unless agreed to in writing by the copyright owner is forbidden. No portion of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior written permission from the copyright holder. Texas Instruments reserves the right to update this Guide to reflect the most current product information for the spectrum of users. If there are any differences between this Guide and a technical reference manual, references should always be made to the most current reference manual. Information contained in this publication is believed to be accurate and reliable. However, responsibility is assumed neither for its use nor any infringement of patents or rights of others that may result from its use. No license is granted by implication or otherwise under any patent or patent right of Texas Instruments or others. Copyright © 2006 - 2010 by Texas Instruments Incorporated. All rights reserved. Training Technical Organization Texas Instruments, Incorporated 7834 Churchill Way, MS 3984 Dallas, TX 75251-1903 (972) 917-3889 Revision History October 2006, Version 0.80 (alpha) December 2006, Versions 0.90/0.91 (alpha2) January 2007, Version 0.92 (beta) February 2007, Version 0.95 March 2008, Versions 0.96 (errata) April 2008, Version 0.98 (chapter rewrites & errata) September 2008, Version 1.30 (beta 1 & 2) October 2008, Version 1.30 (beta 3) February 2010, Version 2.00 August 2010, Version 2.10 0 - 2 DM644x DaVinci Workshop - Introduction Workshop Goals Welcome Topics Workshop Goals...................................................................................................................................... 0-4 Where To Get Additional Information/Training? ...................................................................................0-6 Workshop Outline ................................................................................................................................... 0-7 About You................................................................................................................................................ 0-8 Administrative Topics ............................................................................................................................. 0-8 DM644x DaVinci Workshop - Introduction 0 - 3 Workshop Goals Workshop Goals Workshop Goal “Learn how to put together a ARM-based Linux embedded system.” Given that you already know: How to program in C Basics of Linux Understand basic embedded system concepts Provided with: Linux Distribution for ARM TI foundation software, incl: Codec Engine, Codecs (i.e. Algo’s) Tools: DVEVM, SDK/DVSDK In this workshop, you’ll learn the essential skills required to put together a Linux ARM or ARM+DSP based system Workshop Prerequisites Pre-requisite Skills Required Some knowledge of C programming Basic Linux skills (i.e. shell commands, etc.) Recommended Embedded system basics (memory map, linking, etc.) Basic Linux programming (processes, threads, etc.) Nice to have C6x DSP programming Understanding of Linux device drivers Video Application/System Knowledge Not Required No H/W design experience required 0 - 4 DM644x DaVinci Workshop - Introduction Workshop Goals Focus of Linux/ARM Workshop This workshop focuses on applications which plan to use TI’s ARM or ARM+DSP software model: ARM running embedded Linux DSP running DSP/BIOS Signal processing (and IPC) via Codec Engine (VISA API) Signal Processing Layer (CODECs and algorithms) built using xDM/xDAIS API Building programs with GNU Make (gMake) and TI’s Real-Time Software XDC tools What Will You Accomplish? When you leave the workshop, you should be able to… Describe the basic silicon features and options of the TI high-performance ARM and ARM+DSP processors Draw a diagram describing the building blocks used in TI’s ARM+DSP foundation software Build a Linux application which uses: The audio and video Linux drivers provided in the Linux distribution Invoke local (ARM-based) and remote (DSP-based) signal processing algorithms via Codec Engine (VISA API) Create the building-blocks used by the Codec Engine: Use gMake & Configuro to build a signal processing Engine and DSP Server Algorithms/Codecs: Describe the xDM/xDAIS API’s used to access algorithms Write an algorithm following the XDM API Tools: Setup the DVEVM hardware tool by configuring various U-Boot parameters DM644x DaVinci Workshop - Introduction 0 - 5 Where To Get Additional Information/Training? Where To Get Additional Information/Training? Why Don’t We Cover Everything? • In 4 days, it is impossible to cover everything. However, we do cover about an equivalent of a college semester course on the DM644x. • We provide the following lists as a starting place for additional information. Where can I get additional skills? (from TI) Texas Instruments Curriculum DaVinci / OMAP / Sitara System Integration Building Linux based Systems Workshop using Linux (4-days) ( ARM or ARM+DSP processors ) www.ti.com/training System Integration Workshop using DSP/BIOS Building BIOS based Systems (4-days) ( DSP processors ) www.ti.com/training Developing Algo’s for C6x DSP’s C6000 Optimization Workshop (4-days) ( Are you writing/optimizing algorithms www.ti.com/training for latest C64x+ or C674x DSP’s CPU’s ) Online Resources: DaVinci Open-Source Linux Mail List OMAP / Sitara / DaVinci Wiki http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source http://processors.wiki.ti.com Gstreamer and other projects http://linux.davincidsp.com or https://gforge.ti.com/gf/ TI E2E Community (videos, forums, blogs) TI Software http://e2e.ti.com http://www.ti.com/dvevmupdates, http://www.ti.com/dms http://www.ti.com/myregisteredsoftware This workshop presentation & exercises http://processors.wiki.ti.com/index.php/OMAP™/DaVinci™_System_Integration_using_Linux_Workshop Where can I get additional skills? (Non-TI) Non-TI Curriculum A few references, to get you started: “Linux For Dummies”, by Dee-Ann LeBlanc “Linux Pocket Guide”, by Daniel J. Barrett free-electrons.com/training Linux www.linux-tutorial.info/index.php www.oreilly.com/pub/topic/linux The Linux Documentation Project: www.tldp.org Rute Linux Tutorial: http://rute.2038bug.com/index.html.gz “Building Embedded Linux Systems”, by Karim Yaghmour Embedded Linux “Embedded Linux Primer”, by Christopher Hallinan free-electrons.com/training “Beginning Linux Programming” Third Edition, by Neil Linux Application Programming Matthew and Richard Stones ARM Programming http://www.arm.com/ (not required for Linux based designs) “Linux Device Drivers” Third Edition, by Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman Writing Linux Drivers http://lwn.net/Kernel/LDD3/ www.adeneo.com “The Art of Digital Video”, John Watkinson “Digital Television”, H. Benoit Video “Video Demystified”, Keith Jack “Video Compression Demystified”, Peter Symes 0 - 6 DM644x DaVinci Workshop - Introduction Workshop Outline Workshop Outline Linux Embedded System Design Workshop Introduction 0. Welcome 1. Device Families Overview 2. TI Foundation Software 3. Introduction to Linux/U-Boot 4. Tools Overview Application Coding 5. Building Programs with gMake 6. Device Driver Introduction 7. Video Drivers : V4L2 and FBdev 8. Multi-Threaded Systems Using the Codec Engine 9. Local Codecs : Given an Engine 10. Local Codecs : Building an Engine 11. Remote Codecs : Given a DSP Server 12. Remote Codecs : Building a DSP Server Algorithms 13. xDAIS and xDM Authoring 14. (Optional) Using DMA in Algorithms 15. (Optional) Intro to DSPLink Copyright © 2010 Texas Instruments. All rights reserved. Lab Exercises Introduction 3. Configure U-Boot and boot the DVEVM Application 5. Building programs with XDC; explore XDC pkg files Programming 6. Given: File ? Audio; Build: Audio In ? Audio Out 7. Setup an On-Screen Display banner Video In ? Video Out 8. Concurrently run audio and video loop-thru programs Using the 9. Use a provided Engine (containing local codecs) Codec Engine 10. Build an Engine (given local codecs) 11. Use remote codecs (using a provided DSP Server) 12. Build a DSP Server (given DSP-based codecs) Optional: Swap out video_copy codec for H.264 codec Optional: H.264 A/V record & playback Copyright © 2010 Texas Instruments. All rights reserved. DM644x DaVinci Workshop - Introduction 0 - 7 About You About You About your Experience – A Show Of Hands (No right or wrong answers, we just want to know where you’re coming from) Who is building a Video application If not, what other types of applications Experienced with Linux Linux command line (Bash) Mounting drives, NFS Linux C Programmer GCC, gMake Linux threads (processes, pThread) Previous TI DSP developer? Another TI processor Competitor’s processor Experience building Embedded Systems Memory maps and linking Bootloading a processor Administrative Topics Administrative Topics Name Tags Start & End Times Bathrooms Phone calls Lunch !!! Let us know if you’ll miss part of the workshop TTO Technical Training Organization 0 - 8 DM644x DaVinci Workshop - Introduction TI ARM/ARM+DSP Devices Introduction In this chapter a cursory overview of Texas Instruments ARM and ARM+DSP devices by examining
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages504 Page
-
File Size-