NOTICE: The Processors Wiki will End-of-Life in December of 2020. 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.
GSG: OMAP35xx WinCE DVSDK Software Setup 1.00.00.04
- 1 Downloading software
- 2 Installing the software
- 3 Integrating the WinCE DVSDK with the WinCE OMAP3530 Board Support Package
- 4 Changing/upgrading DVSDK software packages
- 5 What next?
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.
You need to download the following software components before you begin installing:
- Windows Embedded CE 6.0 R2 pack from Microsoft. You can order this pack from Microsoft at http://msdn.microsoft.com/en-us/embedded/aa731407.aspx or from bSquare at http://bsquare.com/store.aspx.
- 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):
- Texas Instruments C6000 Code Generation Tools v6.1.9 for Windows. You can download these tools from https://www-a.ti.com/downloads/sds_support/CodeGenerationTools.htm. Versions of the Code Generation Tools later than 6.1.9 may work, but have not yet undergone validation testing for use with the OMAP35xx WinCE DVSDK.
- Texas Instruments DSP/BIOS version 5.33.05 You can download DSP/BIOS from https://www-a.ti.com/downloads/sds_support/targetcontent/bios/index.html. Versions of the DSP/BIOS later than 5.33.05 may work, but have not yet undergone validation testing for use with the OMAP35xx WinCE DVSDK.
- Texas Instruments XDCtools version 3.10.05.61 You can download XDCtools from https://www-a.ti.com/downloads/sds_support/targetcontent/rtsc/xdctools_3_10/index.html. XDCtools provides RTSC support. Versions of the XDCtools later than 3.10.05.61 may work, but have not yet undergone validation testing for use with the OMAP35xx WinCE DVSDK.
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.
Run the bios_setupwin32_5_33_xx.exe file that you downloaded and answer the prompts within the installer.
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:
- 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.
- Run the TBD.exe installer that was extracted from the zip file.
- 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
- 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.
- Compile BSP with the instructions given in the BSP getting started guide.
- 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
- Open Visual Studio 2005.
- Open the OSDesigns EVM_3530 solution (as described in the BSP documentation)
- From the menus, choose Project > EVM_3530 Properties.
- In the Property Pages dialog, expand the Configuration Properties list and choose the Environment category.
- Click New.
- 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).
- In the Solution Explorer, select the Subprojects node of the EVM_3530 project.
- 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.)
- 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.
- Copy all the files under %DVSDK_INSTALL_DIR%\DVSDK_Integration_1_00_00_x\dvsdk_catalog to your %_WINCEROOT%\PLATFORM\<bsp_folder>\catalog folder.
- From the Visual Studio menus, choose View > Other Windows > Catalog Items View to enable the catalog items view.
- Expand the EVM_3530 tree, and then expand the Third Party tree.
- Enable the following catalog entries:
- 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.
- 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
- 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:
- From the menus, choose Project > project_name Properties.
- In the Property Pages dialog, expand the Configuration Properties list and choose the Environment category.
- Click New.
Assuming that you installed the DVSDK in C:\DVSDK_WINCE_01_##, where "##" is a version number, set the variables as follows:
C:\DVSDK_WINCE_01_##\<Codec Engine install directory>
C:\DVSDK_WINCE_01_##\<DMAI install directory>
Location of TI 'C64x Code Generation Tools installation.
Location of TI XDCtools installation.
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:
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.
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.
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|
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.