Summary of Contents for Texas Instruments TMS320DM6437
Page 1
TMS320DM6437 DVDP Getting Started Guide Literature Number: SPRUEV6 July 2007...
Page 2
IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improve- ments, and other changes to its products and services at any time and to discontinue any product or service without notice. Customers should obtain the latest relevant information before placing orders and should verify that such information is current and complete.
Page 3
EVALUATION BOARD/KIT IMPORTANT NOTICE Texas Instruments (TI) provides the enclosed product(s) under the following conditions: This evaluation board/kit is intended for use for ENGINEERING DEVELOPMENT, DEMON- STRATION, OR EVALUATION PURPOSES ONLY and is not considered by TI to be a finished end-product fit for general consumer use.
Page 4
FCC Warning This evaluation board/kit is intended for use for ENGINEERING DEVELOPMENT, DEMON- STRATION, OR EVALUATION PURPOSES ONLY and is not considered by TI to be a finished end-product fit for general consumer use. It generates, uses, and can radiate radio frequency energy and has not been tested for compliance with the limits of computing devices pursuant to part 15 of FCC rules, which are designed to provide reasonable protection against radio frequency interference.
Preface About This Guide The TMS320DM6437 DVDP (Digital Video Development Platform) is an evaluation platform that showcases the DM643x architecture and lets users evaluate the power and performance of the DM643x as a Multimedia engine. The intended audience is the user who is developing software on the DM643x.
Page 8
Contents Additional Procedures ............A-1 This appendix describes optional procedures you may use depending on your setup and specific needs.
Chapter 1 TMS320DM6437 DVDP Overview This chapter introduces the TMS320DM6437 DVDP (Digital Video Development Platform). Topic Page 1.1 Welcome! ..........1–2 1.2 What’s in this Kit? .
Page 10
The board included in this kit is the DaVinci DM6437 EVM board from Spectrum Digital. The TMS320DM6437 processor takes full advantage of the DaVinci software and development infrastructure by allowing designers to focus on the application functionality. Developers can implement video, audio, voice, and speech technology through...
This board contains DaVinci TMS320DM6437 DSP device. USB cable. This connects the EVM board to your PC workstation to enable emulation debugging via Code Composer Studio. Universal power supply. Use this to power the board. Ethernet cable. This connects the EVM board to a PC workstation to enable the host side of the demo application.
When you are ready for more information about DaVinci Technology and the DM643x architecture, see the following: TMS320DM6437 Digital Video Development Platform (DVDP): http://www.ti.com/dm6437dvdp DM6437 EVM at Spectrum Digital: http://c6000.spectrumdigital.com/evmdm6437...
Chapter 2 DVDP Hardware and Software Setup This chapter tells you how to set up the DVDP hardware and software. Topic Page 2.1 Setting Up the Hardware ........2–2 2.2 Installing the Software .
Page 14
Setting Up the Hardware Setting Up the Hardware To set up the hardware, use the steps that follow: 1) The DVDP is sensitive to static discharges. Use a grounding strap or other device to prevent damaging the board. Be sure to connect communication cables before applying power to any equipment.
Page 15
Setting Up the Hardware 4) Install the following software using the CDs included with the kit. See Section 2.2, Installing the Software for more details. 5) Connect a composite video cable from an NTSC or PAL video camera or some other video input device to the EVM board’s Video In RCA jack J5 as shown below.
Page 16
Setting Up the Hardware 7) Connect an audio cable from a CD player, microphone, or other audio device to the EVM board’s Audio Line In Connector 3.5 mm stereo jack P10. Audio Input Audio Output 8) Connect an audio cable from a speaker to the EVM board’s Audio Line Out Connector 3.5 mm stereo jack P13.
Page 17
Spectrum Digital CD with the filenames targ645x.inf and sdusb2em.sys. See the TMS320DM6437 EVM Quick Start Installation Guide for USB debugging and troubleshooting hints. DVDP Hardware and Software Setup...
Installing the Software Installing the Software To install the software needed to use the DVDP, follow these steps: 1) Use the Spectrum Digital CDs to install Code Composer Studio 3.3. 2) Also use the same Spectrum Digital CDs to install the DM6437 EVM Drivers and Target Content.
Page 19
Installing the Software The DVSDK installation creates the following key directories in the default directory, which is C:\dvsdk_1_xx_xx_xx. biosutils_1_xx_xx. DSP/BIOS Log Server for NDK programs. codec_combos. Codec combinations that use the Codec Engine. codec_engine_1_xx_xx. The Codec Engine framework. codecs_1_xx. A/V codecs packaged for Codec Engine. data.
Chapter 3 Running the Demonstration Software This chapter explains how to run the software demos provided with the DVDP. Topic Page 3.1 Overview of the Demo Software......3–2 3.2 Running the Demos in Standalone Mode .
Overview of the Demo Software Overview of the Demo Software The demo software provided with the DVDP allows you to run examples that encode and/or decode a signal. The examples can be run either entirely on the target (standalone) or via a PC host application. Four example modes are provided: Preview mode.
Page 23
Running the Demos in Standalone Mode The Capture/Display mode uses D1 format for video display. D1 has a resolution of 720 × 480 pixels if you are using NTSC and 720 × 576 pixels if you are using PAL. The Encode/Decode Loopback mode uses CIF format for video display. CIF (Common Intermediate Format) video format, when using NTSC, has a resolution of 352 x 240 pixels and a frame rate of about 30 frames per second.
Running the Demos with the PC Host Application Running the Demos with the PC Host Application The target-side demo application is stored in Flash memory and runs automatically when you power up the board. Alternately, you can run the target-side demo application manually by following these steps: 1) If you have not already done so, use CCStudio Setup to select the DM643x platform.
Page 25
Running the Demos with the PC Host Application To run the host-side component of the demo application, follow these steps: 1) To start the host-side demo application, run the run.bat file in the C:\dvsdk_1_xx_xx_xx\dm6437_demo_x_xx_xx\hostapp directory. You can run this file from a DOS prompt or double-click on the file in Windows Explorer.
Page 26
Running the Demos with the PC Host Application 2) Click the Discover button to find the IP address of the EVM board. (If more than one board is found, the IP and MAC addresses of all boards running the target application are listed in the drop-down, and you can select the one you want.
Page 27
Running the Demos with the PC Host Application 5) You can read log messages from the target-side application in the Target Messages area: 6) To configure the application, you must first click Stop at the bottom of the window. This makes the Control area active. 7) In the Mode area, select the mode in which you want to run the demo.
Page 28
Running the Demos with the PC Host Application 8) In the Video Settings area, choose the video codec and its properties for the current demo mode. You can select H.264 or MPEG4 encoding and decoding. Optionally, you can set a custom frame rate and/or encoding bit rate (either a variable or constant bit rate).
Page 29
Running the Demos with the PC Host Application 9) In the Config area, choose various options for how the application should run: Enable Video. On by default. Off disables video preview and encode/decode. Enable Audio. On by default. Off disables audio preview and encode/decode.
Page 30
Running the Demos with the PC Host Application After you click Play, the Progress bar shows the percentage of the video file that has been consumed by the target's video decoder. The K-Bytes fields show the number KB of video and audio processed thus far.
Running the Demos with the PC Host Application 3.3.1 Preview Mode (Capture / Display) This mode does not use an input file or an output file. It simply captures video from the input video device (for example, a camera) and sends it to the display.
About Buttons and Switches About Buttons and Switches The subsections that follow describe some useful buttons and switches on the board. 3.4.1 PAL/NTSC Switch The board jumper JP1 determines whether NTSC or PAL is used. The jumper controls this setting as shown in the following diagram. Board Edge NTSC 3.4.2...
About Buttons and Switches resolution of 352 x 240 pixels and a frame rate of about 30 frames per second. If you are using PAL, CIF has a resolution of 352 x 288 pixels and a frame rate of about 25 frames per second. The demo also reads the SW4-3 switch (the rightmost switch when looking at the board edge-on) at startup and enables audio output if the switch is in the DOWN position.
Chapter 4 Rebuilding DVDP Software This chapter explains how to rebuild the software provided with the DVDP. Topic Page 4.1 Software Overview ........4–2 4.2 Rebuilding the Demo Target Software.
(evaluation version). Customers can use the provided Codec Engine or choose individual components for their own video application development. For the TMS320DM6437 DVDP, which is a DSP-only kit, the DVSDK includes Microsoft Windows host software. For more information about the software components used in these applications see www.ti.com and the PDF files included with the...
Rebuilding the Demo Target Software Rebuilding the Demo Target Software As a way to prepare to develop your own applications, you may modify the target demo applications provided with the DVDP. This document does not discuss in detail how to modify these applications. 4.2.1 Rebuilding the Examples To rebuild the examples, follow these steps:...
Page 38
Rebuilding the Demo Target Software exclusive execution-time analysis of codecs, drivers, and tasks shows whether algorithms are performing up to specifications and the impact of preemption on their performance. Data for the SoC Analyzer is collected in real-time from framework instrumentation and is transported over TCP/IP for analysis and visualization.
Page 39
Rebuilding the Demo Target Software The dm6437_demo.out file was built with device driver instrumentation turned off. However, pre-built instrumented versions of the driver libraries have been provided with the DVSDK product. To use these instrumented drivers, simply follow these steps: 1) Right-click on the demo project in CCStudio, and select the Instrumented option.
Page 41
Appendix A Additional Procedures This appendix describes optional procedures you may use depending on your setup and specific needs. Topic Page A.1 Using the Bootloader ........A–2 A.2 Replacing the Demo Codec Combinations .
Using the Bootloader Using the Bootloader You can select one of the following boot modes using the boot device pins. When the board is reset, it captures the status of these pins and branches to the appropriate code to implement the selected boot method. No Boot (non-secure) ROM Boot (non-secure) PCI (DSP as slave)
Using the FlashBurn Utility Using the FlashBurn Utility If you want to place an update to the demo software or your own application in Flash memory, you can use the FlashBurn plug-in utility. Note: For the latest version of the FlashBurn utility and more information about it, see the www.softwaredesignsolutions.com website.
Page 44
Using the FlashBurn Utility 8) In the Step 1 area of the FlashBurn DSK dialog box, connect to the target by choosing the "EVM-DM6437 (cpu_0)" Connection option and clicking the Connect button. The dialog box shows the resulting connection status. 9) In the Step 2 area, click the Browse (...) button next to the "FBTC Program File"...
Page 45
Using the FlashBurn Utility 14) Click the Burn icon or choose Program->Program Flash. The status bar next to the Burn icon shows the progress of the operation. The status bar of the window shows the result of the operation when it is complete. 15) If the burn fails, do a complete erase of the NOR region, and then try again.
The demo host-side application runs on a host machine (typically a PC running Windows or Linux) and connects over the network to a TMS320DM6437 EVM board that is running the target-side demo application. The host-side application lets users control the target’s behavior and stream audio and video files to and from the target.
Page 47
Rebuilding the Demo Host Software JavaScript's syntax allows C programmers to understand and (to a degree) modify programs written in this language even if they have never seen this language before. To learn how to make nontrivial modifications or to write new JavaScript programs, please refer to this Web page: http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide Most C programmers will not need to refer to the JavaScript guide in order to understand the scripts in this section.
Page 48
Rebuilding the Demo Host Software The Rpc.js script (Remote Procedure Call) provides the GUI script with several functions, of which the important ones are: rpc.connect( ipAddr ): Connects to the target at ipAddr. rpc.paramGet( paramName ): Gets the state of a target parameter, such as "mode".
Page 49
Rebuilding the Demo Host Software For details about how the Rpc, Fileio, and Ipc modules work, see their scripts directly. They follow certain rules for exchanging information between the host and the target. It is unlikely you will have to change any of those modules.
Page 50
Rebuilding the Demo Host Software print;" and print() is a built-in function, the message appears. If "var debugFxn = function() {}", all calls to debugFxn() are silent. The global variables "rpc" and "fileio" are for target communication. The global variables "display" and "shell" refer to the system screen and the application's window.
Page 51
Rebuilding the Demo Host Software Here is a diagram of the functions in Main.js and their actions: Global - load target comm. scripts - define global variables - call main() main() - create target comm. objects create GUI objects - call layoutWidgets() - call setEventListeners() - loop till the user closes application layoutWidgets()
Page 52
Rebuilding the Demo Host Software A.4.4 Drawing Screen Controls (Widgets) Since we don’t use a graphical editor to draw the host-side application widgets, we lay them out within the script in a recipe-like fashion. For our application window (the "shell"), the script says which groups of widgets are drawn next to, below, or within others.
Page 53
Rebuilding the Demo Host Software The "Connection" frame is a cell in a larger grid, but it could be the only thing on the screen—we'd script it the same way. This needs to be a "Group" container, because we want a visible frame with "Connection" as the text.
Page 54
Rebuilding the Demo Host Software The following code creates the "Connection" frame inside the current widget, and adds the first two elements—the text and field in the first row. Some formatting statements have been omitted to simplify this example. WID( widgets.Group( $w, SWT.NONE ) ); $w.setText( "Connection"...
Page 55
Rebuilding the Demo Host Software The rest of the layout code for the "Connection" frame lays out the "IP address" label, the invisible 7-column "Composite" with its IP address fields and labels, the "Discover" button and combo box, and the "Connect"...
Page 56
Rebuilding the Demo Host Software A.4.5 Reacting to Button Clicks The setEventListeners() function assigns a function to every widget the user can click. The first such assignment—remembering that "w" is an alias for the "myWidgets" hash table—is as follows: w["btnDiscover"].addListener( SWT.Selection, eventFxnBtnDiscover ); That means, when the user clicks the "Discover"...
Page 57
Rebuilding the Demo Host Software uses or by the function itself if it detects some irregularity. That exception travels up the call stack until it is caught. If no function catches it, the application exits in an error with its call stack listed. This behavior frees us from having to check the return status frequently.
Page 58
Rebuilding the Demo Host Software The new thread may print its message between the two main thread's messages or after. The new thread also could run a loop, perhaps sleeping occasionally by calling java.lang.Thread.sleep(<milliseconds>) or yielding the CPU with java.lang.Thread.yield(). This is all standard for any threading system;...
Page 59
Rebuilding the Demo Host Software The main thread sets the text of the "myText" text widget and creates the new thread. But the new thread is not allowed to call the "getText()" method of the w["myText"] object. It can get around this limitation by calling a method "display.syncExec()"...
Page 60
Rebuilding the Demo Host Software Why didn't we use display.syncExec() (that is, the blocking version)? The answer is, we don't want the fileio thread to be blocked on what is a less important task—updating the widgets—and be less responsive to the data the target sends.
Need help?
Do you have a question about the TMS320DM6437 and is the answer not in the manual?
Questions and answers