NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

MCSDK VIDEO 2.x Getting Started TFTP Demo Guide

From Texas Instruments Wiki
Jump to: navigation, search

TIBanner.png


MCSDK Video

(Multicore Video Infrastructure Demo Built on MCSDK)

Version 2.x

Getting Started Guide for TFTP based Demos

Last updated: 10/14/2015


Introduction[edit]

c66x-multicore.jpg

The MCSDK Video (Multicore Video Infrastructure Demo Built on MCSDK) provides software development environment to implement video applications on TI C66x multi-core DSPs. It builds on MCSDK 2.x [MCSDK Getting Started Guide, MCSDK User's Guide] to achieve platform abstraction, networking, and inter-core communication. Multiple Video codecs are integrated in the MCSDK Video for demonstrating video applications on single and multiple cores. Specifically, MCSDK Video 2.x provides TFTP support over Ethernet for data I/O instead of slow freads and fwrites over JTAG. Multiple video demos can be run on TI C66x multi-core DSPs (TMDXEVM6678L EVM) via TFTP.

This Getting Started Guide for TFTP based Demos provides information on installing MCSDK Video and running video demos via TFTP on Windows PCs. By the end of this Getting Started Guide the user should have:

  • Installed CCS
  • Installed the MCSDK Software and its requiring tools
  • Installed the MCSDK Video Software and its requiring tools
  • Run MCSDK Video demos via TFTP
  • Rebuilt the MCSDK Video application if needed


Helpful tips image.jpg

Useful Tip

After completing the material in this Getting Started Guide for TFTP based Demos, it is recommended the user continue on to the Getting Started Guide for PCIe based Demos for additional information on running MCSDK Video demos over PCIe.


Supported Devices/Platforms[edit]

This release supports the following Texas Instrument devices/platforms:

Platform Development Kit Supported Devices Supported EVM
C6678 TMS320C6678, TMS320TCI6608 TMDXEVM6678LXE


Recommended Hardware Emulator:

  1. Blackhawk XDS 560 or
  2. Spectrum Digital XDS 560 or
  3. C6678 XDS100 on board


Supported Demos[edit]

MCSDK Video demos via TFTP demonstrate how to facilitate the development and testing of stand-alone Codecs using TFTP based data IO. DSP receives input test vector from TFTP server on a PC. Then, the input is decoded or encoded by DSP core(s). After that, the decoded/encoded is sent back to PC via TFTP. The following codecs are integrated and demonstrated as out of box MCSDK Video demos via TFTP:

  • Video Encoder: AVCIU, H264HP, H265 (HEVC), JPEG2000, MPEG2, MPEG4
  • Video Decoder: H264BPMP, H264HP, H2655 (HEVC), JPEG20000, MPEG2, MPEG4
  • Image Encoder: JPEG
  • Image Decoder: JPEG


Hardware/OS Requirement[edit]

The MCSDK Video demos via PCIe are validated on Windows XP and Windows 7 PCs.

Software Installation[edit]

This section will walk you through installing the MCSDK Video. The overall steps are:

  1. Install Code Composer Studio 5.x
  2. Install the MCSDK 2.x
  3. Install the MCSDK Video 2.x



Installing Code Composer Studio (as required by the BIOS-MCSDK 2.x)[edit]

The BIOS-MCSDK 2.x uses CCS 5.x. Please refer to MCSDK Video product download page MCSDK Video download for the version of BIOS-MCSDK 2.x and its corresponding CCS version to be installed. To install CCS please refer to the instructions provided in the CCSv5 Getting Started Guide. It is recommended to keep the default installation paths for CCS and the other components.

If you choose to do a custom installation, the following components must be installed to support the MCSDK VIDEO:

  • C6000 DSPs

Sample Custom Installation snap shot:

CCS-setup-01.JPG


Select C6000 DSPs during Choose ISA option:

CCS-setup-02.JPG



Installing the BIOS Multicore Software Development Kit and Dependent Tools[edit]

Please refer to MCSDK Video product download page MCSDK Video download for the version of BIOS-MCSDK 2.x. Make sure CCS is closed before invoking the BIOS-MCSDK installer.

For running the out of box MCSDK Video demos, please select just a single component: MCSDK 2.x.x.x.

BIOS-MCSDK-setup-00.PNG

To rebuild MCSDK VIDEO builds, the following components of BIOS-MCSDK must be installed.

  • PDK C6678
  • EDMA3-LLD
  • SYS/BIOS
  • XDC tools
  • IPC

BIOS-MCSDK-setup-01.JPG

BIOS-MCSDK-setup-02.JPG


Install MinGW as required by MCSDK 2.x for rebuilding MCSDK VIDEO builds

For running demos with pre-built DSP builds, this step is not needed. For building MCSDK VIDEO builds, install MinGW: When installing MinGW, must add the MSYS Basic System and MinGW Developer Toolkit.

MinGW-setup-01.JPG

MinGW-setup-02.JPG




Installing the MCSDK Video[edit]

After installing CCS and MCSDK, the next step is installing the MCSDK VIDEO package. The MCSDK video installer allows you to choose the installation directory. Once the installation is complete all the selected MCSDK video components will be installed in the specified installation directory.

To install the MCSDK Video on your Windows PC, run the MCSDK Video installer (mcsdk_video<version>_setupwin32.exe). It is recommended to keep the default installation paths for CCS and the other components or make sure that CCS and the other components are installed along the same path.

Major Steps of MCSDK Video Installation
  • Step-1: Select Destination Folder
  • Step-2: Select Components

To run the MCSDK video demos with pre-built dsp images, MCSDK Video component is the only component needed as shown below:
Demo-install1.PNG

To rebuild DSP builds, all the components are required as shown below:
Rebuild-installAll.PNG

  • Step-3: Click Next button and that would copy the Components selected in Step-2 to the Destination Folder specified in Step-1, then automatically install MCSDK Video, FC, NWAL, and XDAIS if they have been selected in Step-2
  • Step-4: Click Next button to install Codegen if it has been selected in Step-2
  • Step-5: Click Next button to install Codecs which have been selected in Step-2



Install Active Perl for the MCSDK VIDEO[edit]

Active Perl (5.14.2.1402) can be downloaded from Active Perl 5.14.2.1402. Install it to the default installation directory C:\Perl.


Running MCSDK Video Demos via TFTP[edit]

This section provides instructions on how to run video demos using the pre-built DSP image included in the release package through PCIe. The major steps of running video demos include:

  • Install TFTP
  • Prepare EVM and PC
  • Run Video Demos with TFTP


Where to find the demos[edit]

Demo Name Demo Location inside MCSDK Video Release Package
AVCIU Encoding Demo mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\avciuenc
H264BPMP Decoder Demo mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\h264bpmpdec
H264HP Decoder Demo mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\h264hpdec
H264HP Encoder Demo mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\h264hpenc
H265 (HEVC) Decoder Demo (supported in MCSDK Video 2.2) mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\h265dec
H265 (HEVC) Encoder Demo (supported in MCSDK Video 2.2) mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\h265enc
JPEG2000 Decoding Demo mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\j2kdec
JPEG2000 Encoding Demo mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\j2kenc
JPEG2000 Transcoding Demo mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\j2kencdec
JPEG Decoder Demo mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\jpegdec
JPEG Encoder Demo mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\jpegenc
MPEG2 Decoder Demo mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\mpeg2dec
MPEG2 Encoder Demo mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\mpeg2enc
MPEG4 Decoder Demo mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\mpeg4dec
MPEG4 Encoder Demo mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\mpeg4enc


Install TFTP server on PC[edit]

Download and install TFTP server v3.35 from TFTP Download Link.


Prepare EVM and PC[edit]

Prepare EVM[edit]

  • Connect TI C6678 EVM to the PC via switch.
  • Set the boot pins on the EVM to one of the boot modes (e.g., ROM Ethernet Boot) as specified at Boot Mode Dip Switch Settings

NoteNote: General instructions of setting up your TMDXEVM6678L Evaluation Module (EVM) can be found at the link TMDXEVM6678L EVM Hardware Setup. Browsing this link to become familiar with the Hardware Setup of TMDXEVM6678L EVM is strongly recommended.

  • Take DSP out of Reset

This can be done by unplugging the EVM power and plugging it in again.


Prepare CCS[edit]

Helpful tips image.jpg

Useful Tip

General instructions of connecting the JTAG to the EVM can be found at http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_Getting_Started_Guide#Use_JTAG_to_Load_the_Application. Browsing this link to become familiar with the procedure is strongly recommended.

  • Open CCS
  • Launch the target configuration
  • On Core 0: load the GEL file "<CCS_INSTALL_LOCATION>\ccsv5\ccs_base_5.0.3.00028\emulation\boards\evmc6678l\gel\evmc6678l.gel" into CCS by selecting GEL Files under the Tools menu, and then select Load GEL… as shown below

CCS-LOAD-GEL.JPG

  • Connect Core 0 (via selecting Connect Target under the Target menu)
  • Connect other cores when needed for multi-core codecs


Prepare PC[edit]

  • Make sure the MTU (Maximum Transmission Unit) size for the network interface is 1500 so that TFTP server is not sending fragmented packets. This is because DSP does not support re-assembly of fragmented IP packets.
  • Start TFTP Server on the PC. Click on the settings button and increase the timeout duration in the Settings window. A timeout of 20 seconds should be sufficient.

TFTP-SETTING.JPG

  • Enable ARP entry on the PC so that it can send packets to EVM. This is done by opening the command prompt and entering the command: arp –s <dsp_ip_addr> <dsp_mac_addr>. Note that dsp_ip_addr and dsp_mac_addr are the same as the localIpAddress and localMacAddress, respectively, both of which can be found in the configuration file dsp\siu\vct\testVecs\tftp.cfg. In this tftp.cfg, serverIpAddress and serverMacAddress specify the IP and MAC address of the PC, which can be found be running the command ipconfig /all. Since both the DSP and the PC needs to be in the same subnet, specify DSP's IP address (i.e., localIpAddress) correspondingly after getting the PC's IP address (i.e., serverIpAddress). The DSP's MAC address (i.e., localMacAddress) can be any valid MAC address, such as the physical MAC address of the DSP or the one included in the provided tftp.cfg, as long as the same MAC address is not used anywhere else in the same subnet.
  • Prepare input clip(s) for testing. Copy the input clip(s) to the directory which is shown in Current Directory of the TFTP server or set the Current Directory of the TFTP server to the directory including the input clip(s). In this release of MCSDK Video, input clips are provided for all codecs at dsp\siu\vct\testVecs\<codec>\input directory, except for AVCIU encode, JPEG2K encode, and JPEG2K transcode. To create input clips for these three tests (AVCIU encode, JPEG2K encode, and JPEG2K transcode), please follow steps specified at Creating 1920x1080 10bit 4:2:2 YUV clips.

After the clips are ready, please update dsp\siu\vct\testVecs\<codec>\config\multiclip.cfg with the following information: input file name (the first row), output file name(the first row), number of frames to be decoded or encoded (the third row). Multiple groups of [input file name, output file name, number of frames] can be specified in this multiclip.cfg for automated testing of multiple clips. Any number of clips can be specified.


Run Video Demos with TFTP[edit]

  • Do system reset for Core 0 (via selecting Reset -> System Reset under the Target menu)
  • For multi-core codecs, do CPU reset for the other cores (via selecting Reset -> CPU Reset under the Target menu)
  • On Core 0, run the GEL file from the Scripts menu by selecting EVMTCI6608 Init Functions -> Global_Default_Setup. Wait until the following message is displayed: “C66xx_0: GEL Output: Global Default Setup... Done.”
  • Load the DSP image to Core 0 by selecting Load Program... under the Target menu. Find the image sv04.out in the mkrel/sv04/flat directory.
  • For multi-core codecs, load the same image to the other cores.
  • Make sure the path in the function siuVctRunTask() (siu/vct/siuVctRun.c) is correct for the config files (testVecs.cfg and tftp.cfg under siu/vct/testVecs directory). The path can be relative to the location of the DSP image mkrel/sv04/flat/sv04.out, and is by default “../../../siu/vct/testVecs/testVecs.cfg” and “../../../siu/vct/testVecs/tftp.cfg”. If the path is incorrect, the config files must be placed at that location, or the path can be changed which would require the image to be rebuilt.
  • Make sure TFTP transfer is running while the codec is processing the data.
  • Make sure that the configuration file “siu/vct/testVecs/tftp.cfg” is correct. The configuration file contains the PC’s IP address and MAC address and the DSP’s IP address and MAC address.
  • Make sure that the configuration file “siu/vct/testVecs/testVecs.cfg” points to the configuration files for the testing to be conducted. The codecs which are integrated include: AVC Intra and Ultra encode, JPEG2K encode, JPEG2K decode, and JPEG2K transcode, H264BPMP Decoder, H264HP Decoder, MPEG2 Decoder, MPEG4 Decoder, JPEG Decoder, H264HP encoder, MPEG2 Encoder, MPEG4 Encoder, JPEG Encoder. In MCSDK Video 2.2, HEVC encoder and HEVC decoder are added.
  • Make sure codec configuration files (siu\vct\testVecs\<codec>\config\multiclip.cfg & codecParams.cfg) are matching with the input clip and the testing to be conducted. As mentioned earlier, multiclip.cfg includes input file name (the first row), output file name(the first row), number of frames to be decoded or encoded (the third row). In this release, codec static and dynamic parameters are exposed along with codec name and core team configuration in siu\vct\testVecs\<codec>\config\codecParams.cfg for individual test cases. codecParams.cfg packaged is matching with the input clips provided in the release. For AVC Intra and Ultra encode, JPEG2K encode, and JPEG2K transcode (encode and then decode), codecParams.cfg packaged is for 1920x1080 10-bit 4:2:2 YUV input. Please make sure the codec parameters are correctly supplied when updating input clips and testing requirements.
  • Changes to the configuration files (testVecs.cfg, tftp.cfg, and multiclip.cfg & codecParams.cfg for individual codecs) do not require anything to be rebuilt.
  • On Core 0: run the codec test by selecting Target -> Run. For multi-core codecs, then run the other cores. The application will obtain the input file via TFTP. Once the file transfer has been started, the user’s codec will process the data and output frames will be sent to the file specified on the TFTP server.


Congratulations! At this time, you already should have finished running out of box demos. The following section is for recompiling DSP build.  


Rebuild MCSDK Video Demo Build[edit]

The installed package contains pre-built DSP binary sv04.out, which is sufficient for running the out of box demos. The following steps are needed only when there are changes in the source code and therefore the sample build needs to be recompiled. To rebuild the MCSDK video DSP build, follow the two steps below to set up environment variables and then rebuild the sample build.


Set up environment variables[edit]

Under the installation directory of the MCSDK Video, go to <MCSDK Video Install Dir>\dsp\mkrel, run batch file "setupenvMsys.bat bypass" in a command window. This will execute dsp\mkrel\setupenvMsys.sh and enters shell.

"setupenvMsys.sh" will check if all the required components and tools are available at the specified locations. If not, please refer to the above steps to ensure all the components/tools are installed. If the installation in the above step(s) is not using the default directories, modify dsp\mkrel\setupenvMsys.sh to point to the correct path


Make sample build[edit]

The following is the command to rebuild the DSP application: make [build_name], e.g.,make sv04. This build command will produce directory: <MCSDK Video Install Dir>dsp\mkrel\sv04 with two files: sv04.out and sv04.map.

Helpful tips image.jpg

Useful Tip

1. If a source debugger requires all source files to be combined into a single directory, "FLAT=YES" may be added in the make command line, which will create the directory dsp\mkrel\sv01\flat containing all source and header files used for the build.
2. After making the first build, if there is no source file change in dsp\components directory, "RTSCBYPASS=YES" may be added in the make command line, which will bypass compiling the components. If there is no source file change in dsp\ggcfg\build\hdg\sv01\bios directory, "BIOSCFGPKGBYPASS=YES" may be added in the make command line, which will bypass compiling the BIOS configuration package.



Internals to TFTP Based MCSDK Video Demo[edit]

For users who are interested in how the TFTP based MCSDK video demos are developed, please refer to the following link for the development guide:



Useful Resources and Links[edit]

Product Download and Updates[edit]

For product download and updates, please visit the links listed in the table below.

Product Download Link
MCSDK Video (2.2 GA) Download http://software-dl.ti.com/sdoemb/sdoemb_public_sw/mcsdk_video/latest/index_FDS.html
MCSDK Video (2.2 Alpha) Download http://software-dl.ti.com/sdoemb/sdoemb_public_sw/mcsdk_video/02_02_00_42/index_FDS.html
BIOS MCSDK Download http://software-dl.ti.com/sdoemb/sdoemb_public_sw/bios_mcsdk/02_01_02_06/index_FDS.html
Desktop Linux SDK Download http://software-dl.ti.com/sdoemb/sdoemb_public_sw/desktop_linux_sdk/01_00_02_00/index_FDS.html
C6678 Codec Download http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C6678/index.html



MCSDK Video Instructions[edit]

Please visit the links below to install MCSDK Video, run the video demos, and get the details on how the MCSDK Video demos are developed.

Wiki Links
Getting Started Guide for PCIe demos MCSDK Video Getting Started for PCIe based Demos
Desktop Linux SDK Getting Started
Getting Started Guide for TFTP demos MCSDK Video Getting Started for TFTP based Demos
Development Guide MCSDK Video Development Guide


Technical Support[edit]

For technical discussions and issues, please visit the links listed in the table below.

Forum/Wiki Link
C66x Multicore forum http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639.aspx
Multimedia Software Codecs forum http://e2e.ti.com/support/embedded/multimedia_software_codecs/default.aspx
TI-RTOS forum http://e2e.ti.com/support/embedded/f/355.aspx
Code Composer Studio forum http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/3131.aspx
TI C/C++ Compiler forum http://e2e.ti.com/support/development_tools/compiler/f/343/t/34317.aspx
Embedded Processors wiki http://processors.wiki.ti.com

NoteNote: When asking for help in the forum you should tag your posts in the Subject with “MCSDK VIDEO”, the part number (e.g. “C6678”) and additionally the component (e.g. “NWAL”).



E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article MCSDK VIDEO 2.x Getting Started TFTP Demo Guide here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article MCSDK VIDEO 2.x Getting Started TFTP Demo Guide here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article MCSDK VIDEO 2.x Getting Started TFTP Demo Guide here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article MCSDK VIDEO 2.x Getting Started TFTP Demo Guide here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article MCSDK VIDEO 2.x Getting Started TFTP Demo Guide here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article MCSDK VIDEO 2.x Getting Started TFTP Demo Guide here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article MCSDK VIDEO 2.x Getting Started TFTP Demo Guide here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article MCSDK VIDEO 2.x Getting Started TFTP Demo Guide here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article MCSDK VIDEO 2.x Getting Started TFTP Demo Guide here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity