Please note as of Wednesday, August 15th, 2018 this wiki has been set to read only. If you are a TI Employee and require Edit ability please contact x0211426 from the company directory.

GSG: OMAP35xx WinCE DVSDK Software Setup 1.00.00.04

From Texas Instruments Wiki
Jump to: navigation, search

^ Up to main OMAP35xx WinCE DVSDK Getting Started Guide Table of Contents

Note: This page describes the software setup for OMAP35xx WinCE DVSDK 1.00.00.04. If you are installing OMAP35xx WinCE DVSDK 1.00.00.05 and later, go to the new page.

This topic provides step-by-step instructions for setting up the software you will use to develop applications with the OMAP35xx WinCE DVSDK.

Important Note: The OMAP35x EVM kit comes with a Linux-based DVSDK and software getting started instructions. You should ignore the software setup instructions that come with the OMAP35x EVM from Mistral Solutions. Instead, follow these wiki-based instructions for the WinCE-based version of the DVSDK.

Downloading software

You need to download the following software components before you begin installing:

  • OMAP35x WinCE 6.0 R2 Board Support Package. The OMAP35xx WinCE DVSDK has been developed and tested with the Board Support Package (BSP) developed for OMAP3530 by bSquare. You can download this using TI's Update Advisor from within Code Composer Studio v3.x.
     
  • OMAP35x WinCE 6.0 DVSDK package. You can download this using Update Advisor from within Code Composer Studio v3.x.
     

If you plan to compile any of the software packages delivered with WinCE DVSDK, you will need to download the following software (refer the DVSDK release notes in the DVSDK installation package for exact tools versions used):

Installing the software

Installing the Windows Embedded CE software

You must install the following software prior to installing the OMA35xx WinCE BSP. Note that the software must be installed in the order listed. Contact Microsoft for more information about the listed software and known issues with the installation process:

  • Visual Studio 2005 (VS2005)
  • Visual Studio SP1 (Service Pack 1)
  • Windows Embedded CE 6.0 (Plug In for Visual Studio 2005)
  • Windows CE 6.0 SP1 (Service Pack 1)
  • Windows CE 6.0 R2 Update
  • Windows CE 6.0 Cumulative Product Update Rollup Package 2007 (QFEs)
  • Remaining Windows CE 6.0 QFEs

If you do not already have this software, you can obtain evaluation versions from Microsoft at http://msdn.microsoft.com/en-us/embedded/aa731407.aspx.

Installing TI Code Generation Tools

Run the ti_cgt_c6000_6.1.xx_setup_win32.exe file that you downloaded and answer the prompts within the installer. CAUTION: Instead of the default installation path install TI Code Generation tools in a directory that has no spaces in the path.

Installing DSP/BIOS

Run the bios_setupwin32_5_33_xx.exe file that you downloaded and answer the prompts within the installer.

Installing XDCtools

Run the xdctools_setupwin32_3_10_xx.exe file that you downloaded and answer the prompts within the installer. CAUTION: Instead of the default installation path install XDCtools in a directory that has no spaces in the path.

Installing the Board Support Package (BSP)

Follow the procedures in Chapter 3 of the EVM3530 BSP User Guide to set up the WinCE build environment.

Installing the DVSDK software

To install the OMAP35xx WinCE DVSDK software, follow these steps:

  1. Unzip the DVSDK_WINCE_1_00_00_xx.zip file at C:\ (or the top of your drive). Note that the unzip may fail if you unzip the release with deep directory structure.
  2. Run the TBD.exe installer that was extracted from the zip file.
  3. Read and answer the installer's prompts. You should install the software in the top-level directory (usually C:\).

 

Integrating the WinCE DVSDK with the WinCE OMAP3530 Board Support Package

  1. Follow the steps outlined in the BSP getting started guide to set up your compilation environment with Visual Studio 2005 and the WinCE 6.0 R2 Platform Builder.
  2. Compile BSP with the instructions given in the BSP getting started guide.
  3. Modify the Board Support Package as detailed in the following subsections if applicable:

Modifications to WINCE600\PLATFORM\TI_EVM_3530\FILES\platform.reg

Remove the following lines from the platform.reg file:

IF BSP_DSPLINK
  [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\DSPLINK]
  "Prefix"="DLK"
  "Dll"="dsplinkk.dll"
  "Index"=dword  1
ENDIF BSP_DSPLINK
 
IF SYSGEN_DSPLINK
   [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\CMEMK]
   "Prefix"="CMK"
   "Dll"="cmemk.dll"
   "Index"=dword:1
   ; Make 3 pools available for allocation for block 0
   ; Make 1 pool available for allocation for block 1
   "NumPools0"=dword:7
   "NumPools1"=dword:0
   "Block0_NumBuffers_Pool0"=dword:20
   "Block0_PoolSize_Pool0"=dword:1000 ; size in bytes (hex)
   "Block0_NumBuffers_Pool1"=dword:8
   "Block0_PoolSize_Pool1"=dword:20000 ; size in bytes (hex)
   "Block0_NumBuffers_Pool2"=dword:5
   "Block0_PoolSize_Pool2"=dword:100000 ; size in bytes (hex)
   "Block0_NumBuffers_Pool3"=dword:1
   "Block0_PoolSize_Pool3"=dword:15cfc0 ; size in bytes (hex)
   "Block0_NumBuffers_Pool4"=dword:1
   "Block0_PoolSize_Pool4"=dword:3e800 ; size in bytes (hex)
   "Block0_NumBuffers_Pool5"=dword:1
   "Block0_PoolSize_Pool5"=dword:36ee80 ; size in bytes (hex)
   "Block0_NumBuffers_Pool6"=dword:3
   "Block0_PoolSize_Pool6"=dword:96000 ; size in bytes (hex)
   ;; "Block1_NumBuffers_Pool1"=dword:2
   ;; "Block1_PoolSize_Pool1"=dword:4000 ; size in bytes (hex)
   ; Physical start + physical end can be use to ask CMEM to map a specific range of physical addresses.
   ; This is a potential security risk.  If physical start == 0 then the code hits a special case.
   ; physical end - physical start == length of allocation.  In the special case, memory is allocated
   ; via a call to AllocPhysMem() (as shown in this example).  MmMapIoSpace() is used to map the normal
   ; case where physical start != 0.
   ; physical start and end for block 0
   "PhysicalStart0"=dword:86500000
   "PhysicalEnd0"=dword:87500000
   ; physical start and end for block 1
   "PhysicalStart1"=dword:0
   "PhysicalEnd1"=dword:0
ENDIF SYSGEN_DSPLINK
 

IF BSP_MP3_DECODE_FILTER
  #include "$(_TARGETPLATROOT) \Src\DShowFilters\Audio\mp3decoder\MP3Filter.reg"
ENDIF 
 
IF BSP_H264_DECODE_FILTER
  #include "$(_TARGETPLATROOT)\Src\DShowFilters\Video\h264decoder\H264VideoDecoder.reg"
ENDIF 
 
IF BSP_MPEG4_DECODE_FILTER
  #include "$(_TARGETPLATROOT)\Src\DShowFilters\Video\mpeg4decoder\MPEG4VideoDecoder.reg"
ENDIF 
 
IF BSP_MPEG2_DECODE_FILTER
  #include "$(_TARGETPLATROOT)\Src\DShowFilters\Video\mpeg2decoder\MPEG2VideoDecoder.reg"
ENDIF

Modifications to WINCE600\PLATFORM\TI_EVM_3530\FILES\platform.bib

Remove the following lines from the platform.bib file:

IF BSP_DSHOWFILTER
  decodeCombo.dll $(_FLATRELEASEDIR)\decodeCombo.dll NK SH
  decodeCombo1.dll $(_FLATRELEASEDIR)\decodeCombo1.dll NK SH
ENDIF BSP_DSHOWFILTER
 
IF BSP_DSPLINK
  dsplinkk.dll $(_FLATRELEASEDIR)\dsplinkk.dll NK SHK
  dsplinkapi.dll $(_FLATRELEASEDIR)\dsplinkapi.dll NK
ENDIF BSP_DSPLINK
 
IF BSP_DSPLINK
  cmemk.dll $(_FLATRELEASEDIR)\cmemk.dll NK SHK
ENDIF BSP_CMEM
 
IF BSP_H264_DECODE_FILTER
  H264VideoDecoder.dll $(_FLATRELEASEDIR)\H264VideoDecoder.dll NK SHM
ENDIF BSP_H264_DECODE_FILTER 
 
IF BSP_MPEG4_DECODE_FILTER
  MPEG4VideoDecoder.dll $(_FLATRELEASEDIR)\MPEG4VideoDecoder.dll NK SHM
ENDIF BSP_MPEG4_DECODE_FILTER 
 
IF BSP_MPEG2_DECODE_FILTER
  MPEG2VideoDecoder.dll $(_FLATRELEASEDIR)\MPEG2VideoDecoder.dll NK SHM
ENDIF BSP_MPEG2_DECODE_FILTER 
 
IF BSP_DSHOWFILTER
  decodeCombo.x64P $(_FLATRELEASEDIR)\decodeCombo.x64P NK 
  encodeCombo.x64P $(_FLATRELEASEDIR)\encodeCombo.x64P NK 
ENDIF BSP_DSHOWFILTER

Modifications to WINCE600\PLATFORM\TI_EVM_3530\FILES\config.bib

Note: You do not need to follow this step if you are using bSquare BSP version R6.10 or earlier.

Make sure that memory is reserved for DVSDK needs by making the following changes in the config.bib file:

;Name VA Length Type
ARGS 84000000 00001000 RESERVED ; 4K 
IF BSP_DSPLINK
  IF BSP_SDRAM_BANK1_ENABLE
    NK 84001000 047FF000 RAMIMAGE ; 72MB - 4K
    DISPLAY 88800000 01000000 RESERVED ; 16MB
    CMEM_DSP 89800000 02800000 RESERVED ; 40 MB
    RAM 8C000000 08000000 RAM ; 128MB
  ELSE
    NK 84001000 01FFF000 RAMIMAGE ; 32MB - 4K
    RAM 86000000 02800000 RAM ; 40 MB
    DISPLAY 88800000 01000000 RESERVED ; 16MB
    CMEM_DSP 89800000 02800000 RESERVED ; 40 MB
  ENDIF
ELSE
  IF BSP_SDRAM_BANK1_ENABLE
    NK 84001000 06FFF000 RAMIMAGE ; 112MB - 4K
    DISPLAY 8B000000 01000000 RESERVED ; 16MB
    RAM 8C000000 08000000 RAM ; 128MB
  ELSE
    NK 84001000 02FFF000 RAMIMAGE ; 48MB - 4K
    RAM 87000000 04000000 RAM ; 64MB
    DISPLAY 8B000000 01000000 RESERVED ; 16MB
  ENDIF
ENDIF

Modify the allocation for filesystem RAM as follows:

IF BSP_WCE
  IF BSP_SDRAM_BANK1_ENABLE
    FSRAMPERCENT=0x80808080
  ELSE
    IF BSP_DSPLINK
      FSRAMPERCENT=0x40404040
    ELSE
      FSRAMPERCENT=0x80808080
    ENDIF
  ENDIF
ELSE
  FSRAMPERCENT=0x0A0A0A0A
ENDIF

Integration steps in Visual Studio

  1. Open Visual Studio 2005.
  2. Open the OSDesigns EVM_3530 solution (as described in the BSP documentation)
  3. From the menus, choose Project > EVM_3530 Properties.
  4. In the Property Pages dialog, expand the Configuration Properties list and choose the Environment category.
  5. Click New.
  6. Set the environment variable DVSDK_INSTALL_DIR to the location in which you installed the OMAP35xx WinCE DVSDK (the version shown below may be different from what you have).
    Set environment variable dlg.png
  7. In the Solution Explorer, select the Subprojects node of the EVM_3530 project.
  8. Right-click and select Add Existing Sub-project. (If you have changed your system settings for mouse clicks, modify the right-click to meet your needs.)
    Add subproject.png
  9. Navigate to %DVSDK_INSTALL_DIR%\DVSDK_Integration_1_00_00_xx and select the DVSDK_Integration.pbpxml file. This project copies required binaries to the build folders, sets up binary image builder (.bib) settings, and manages DVSDK-specific registry entry settings.
  10. Copy all the files under %DVSDK_INSTALL_DIR%\DVSDK_Integration_1_00_00_x\dvsdk_catalog to your %_WINCEROOT%\PLATFORM\<bsp_folder>\catalog folder.
  11. From the Visual Studio menus, choose View > Other Windows > Catalog Items View to enable the catalog items view.
  12. Expand the EVM_3530 tree, and then expand the Third Party tree.
    Catalog entries tree.png
  13. Enable the following catalog entries:
    • MMF:TI:DSPLINK
    • MMF:TI:H264_DECODE_FILTER
    • MMF:TI:MPEG2_DECODE_FILTER
    • MMF:TI:MPEG4_DECODE_FILTER
    • MMF:TI:TIMM
  14. From the menus, choose Build > Advanced Build Commands > Build BSP and Subprojects to compile the subproject along with the BSP. If you have already compiled the BSP, you can use subproject menu to build the subproject only.
  15. This should generate all the necessary DLLs, DMAI application, .bib files, .reg files and the WinCE binary to run the demos as explained in GSG: OMAP35xx WinCE DVSDK Running the Demos.

 

Changing/upgrading DVSDK software packages

The OMAP35xx WinCE DVSDK is made up of the following software packages:

  • Codec Engine 2.24
  • DSP Link 1.61.04
  • DSP codec server 1.00.xx
  • DMAI 1.24.xx
  • TI Direct Show Transform Filters 1.00.xx

Please refer to the Release Notes in the OMAP35xx WinCE DVSDK installation for exact component version information as well as tools versions.


The DVSDK for WinCE is delivered in precompiled form, but you can upgrade or change the software package used.

CAUTION: Before you upgrade any of the packages, please ensure that the package versions you want to use support WinCE and that they are compatible with the other DVSDK components used.

The following packages can be recompiled using platform builder projects that are provided as part of the software package:

  • DSP Link
  • DSP codec server
  • DMAI
  • Direct Show Filters

Note that Codec Engine cannot be recompiled, and thus should not be upgraded.

In order to recompile the software packages, you will need Texas Instruments C6000 Code Generation Tools, DSP/BIOS, and XDCtools. Refer the DVSDK release notes for exact versions of these tools.

In addition, in order to recompile the software packages, you must set the compilation environment variables. To set variables in Visual Studio 2005, follow these steps:

  1. From the menus, choose Project > project_name Properties.
  2. In the Property Pages dialog, expand the Configuration Properties list and choose the Environment category.
  3. Click New.

Assuming that you installed the DVSDK in C:\DVSDK_WINCE_01_##, where "##" is a version number, set the variables as follows:

DVSDK_INSTALL_DIR
C:\DVSDK_WINCE_01_##
CE_INSTALL_DIR
C:\DVSDK_WINCE_01_##\<Codec Engine install directory>
DMAI_INSTALL_DIR
C:\DVSDK_WINCE_01_##\<DMAI install directory>
TI_TOOLS_BASE_DIR
Location of TI 'C64x Code Generation Tools installation. 
XDC_INSTALL_DIR
Location of TI XDCtools installation. 
XDCPATH
C:\DVSDK_WINCE_01_##\<Codec Engine install directory>\packages;
C:\DVSDK_WINCE_01_##\<Codec Engine install directory>\cetools\packages;
C:\DVSDK_WINCE_01_##\<cs1omap3530 install directory>\packages;
C:\DVSDK_WINCE_01_##\<DMAI install directory>\packages;
C:\DVSDK_WINCE_01_##\<DSP Link install directory> 

The following are example settings for the required DVSDK environment variables:

DVSDK_INSTALL_DIR
C:\DVSDK_WINCE_01_00_00_04 
CE_INSTALL_DIR
C:\DVSDK_WINCE_01_00_00_04\codec_engine_2_24 
DMAI_INSTALL_DIR
C:\DVSDK_WINCE_01_00_00_04\dmai_1_24_00_04
TI_TOOLS_BASE_DIR
C:\TICGTools 
XDC_INSTALL_DIR
C:\XDCTools\xdctools_3_10_05_61
XDCPATH
C:\DVSDK_WINCE_01_00_00_04\codec_engine_2_24\packages;
C:\DVSDK_WINCE_01_00_00_04\codec_engine_2_24\cetools\packages;
C:\DVSDK_WINCE_01_00_00_04\cs1omap3530_1_00_00\packages;
C:\DVSDK_WINCE_01_00_00_04\dmai_1_24_00_04\packages; 
C:\DVSDK_WINCE_01_00_00_04\dsplink_sla_1_61_04

Compiling DSP Link

Follow the procedure outlined in the DSP Link install guide, which is located at DVSDK_INSTALL_DIR\dsplink_sla_1_61_04\dsplink\doc\InstallGuide_WinCE_OMAP3530.pdf, to compile the DSP Link package.

Compiling DSP codec server

Follow the procedure outlined in the DSP Codec Server release notes located under DVSDK_INSTALL_DIR\cs1omap3530_1_00_xx.

Compiling DMAI

Add the DMAI platform builder project, which is located in DVSDK_INSTALL_DIR\dmai_1_24_xx\wince_pb\wince600 to the OS design subproject. Refer the user guide under DVSDK_INSTALL_DIR\dmai_1_24_xx directory for more detailed DMAI build instructions.

Compiling Direct Show Filters

Add the direct show filter platform builder project, which located in DVSDK_INSTALL_DIR\dshow_1_00_xx\project to the OS design subproject. Refer the release notes under DVSDK_INSTALL_DIR\dshow_1_00_xx for detailed Dshow build instructions.

Package Dependencies

As shown in the DVSDK WinCE software architecture diagram, various software layers are dependent on each other. You need to recompile dependent packages if you change or upgrade one of the DVSDK software packages. The following table outlines the packages you need to recompile if a change is made to one of the packages.

Package Changed Packages to Recompile
Codec Engine DSP Codec Server, DMAI, Direct Show Filters
DSP Link DSP Link, DSP Codec Server, DMAI, Direct Show Filters
DSP codec server DSP codec server, DMAI, Direct Show Filters
DMAI DMAI, Direct Show Filters
Direct Show Filters Direct Show Filters

 

What next?

To begin running demo applications, go to the GSG: OMAP35xx WinCE DVSDK Running the Demos topic.

For links to wiki topics about modifying the Codec Engine memory configuration, go to the GSG: OMAP35xx WinCE DVSDK Overview topic.