<![endif]--> <![endif]-->

WINCE 平台DSPLINK 例子程序ReadWrite 编译及运行

1.  实验平台介绍

移植平台: ICETEK-OMAP3530-MINI ICETEK 不提供 WINCE 支持,介意使用 DEVKIT8000 或者 TI_EVM

BSP 包来源: TI 官方申请( http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bsp/latest/index_FDS.html

实验意义:通过该实验了解 WINCE 平台下 OMAP3530 ARM 核与 DSP 核程序的协作运行。

2.  实验过程

2.1  ARM 端应用程序编译过程

2.1.1            命令编译 ARM 端应用程序

l  启动 VS2005 打开 WINCE 工程,在 Solution Explorer Subproject 项下右键点击 DSPLink 工程。

1 :打开命令编译窗口

l  切换目录到 %DSPLINK% etc/host/scripts/msdos 目录下并执行该目录下的脚本文件 dsplinkcfg.bat 。( %DSPLINK% DSPLink 的安装目录,该脚本文件功能为设置命令编译所需要的环境变量)。

2 CMD 窗口执行命令

l  继续在该 CMD 窗口下执行命令: dsplinkcfg.bat --platform=OMAP3530 --nodsp=1 --dspcfg_0=OMAP3530SHMEM --dspos_0=DSPBIOS5XX --gppos=WINCE --comps=poslm   ( 注意: --comps 的功能是确定 DSPLINK 功能所需要的组件,参数根据应用程序的需要进行设置。具体参数的意义参考: %DSPLINK% config/bin 目录下 dsplinkcfg.pl 文件 )

3 CMD 窗口执行配置命令

l    编译 DSPLINK 组件(主要生成 DSPLINKK.DLL 等动态链接库及调用的 LIB

l  切换目录到 %DSPLINK%gpp/src

l  执行命令 gmake  clean 清空之前编译的文件。(如果没有找到命令 gmake ,则将 gmake 所有文件的路径添加到环境变量中)。

4 CMD 窗口执行 gmake clean 命令

l    gmake release 或者 gmake debug (根据 WINCE 工程选用的是 RELEASE 编译还是 DEBUG 编译而定)。

5 CMD 窗口执行 gmake release 命令

l  切换目录到 %DSPLINK%gpp/src/sample/readwrite 并执行命令 gmake release 生成 readwritegpp.exe 文件。

6 CMD 窗口执行命令生成 readwritegpp.exe

2.1.2            IDE 编译 ARM 端应用程序 (VS2005)

l  设置 IDE 编译 DSPLINK 所需要的环境,右键单击工程,选择 properties 选项。

 

l  选择添加新的环境变量,添加环境变量 CFG_DSPLINK_STR ,变量值为: --platform=OMAP3530 --nodsp=1 --dspcfg_0=OMAP3530SHMEM --dspos_0=DSPBIOS5XX --gppos=WINCE --comps=poslm (该环境变量将自动传递给 dsplinkcfg.bat 文件)。

l  (可选择步骤)添加其它环境变量 dsplink ,其值为 dsplink 安装所在的目录;环境变量 dvsdk_install_str ,其值为 dvsdk 安装所在的目录。(如果不定义该环境变量,可能编译不正确)

l  选择编译子工程,将自动生成 dsplinkk.dll 等文件。(但是应用程序编译推荐使用命令进行编译)。

2.2  DSPreadwrite.out 文件编译过程

2.2.1            命令编译 DSP 端程序

l  紧接着命令编译 readwritegpp.out 文件之后,切换目录至 DVSDK 的安装目录之下,执行脚本文件 setpath.bat 。(主要作用是设置编译 DSP 端程序的环境变量)

  7 :执行脚本 setpath.bat

l    切换目录至: %DSPLINK%dsp/src ,并执行命令 gmake clean 清除先前编译的文件。

8 执行命令 gmake clean

l    执行命令 gmake release 或者 gmake debug 生成 DSP 端的动态链接库文件。

9 执行命令 gmake  release 生成 DSP 端动态链接库

l    切换目录至: %DSPLINK%dsp/src/sample/readwrite ,并执行命令 gmake release gmake debug 生成 readwrite.out 文件。

 

10 执行命令 gmake   release 生成 readwrite.out

 

2.2.2            IDE 编译 readwrite.out 文件( CCS 3.3

l  启动 CCS Setup 选择处理器类型为 OMAP3530 XDS510 Emulator 。(如果没有该选项,则选择其它的 DSP 64+ CPU 代替)。

l  启动 CCS ,右键单击 C6400PLUS_0 ,选择打开设备选项,启动 CCS 编译器界面。

l  新建 DSP 工程 TestReadWrite

l  ReadWrite 源文件目录下的 readwrite.tci 文件及 ReadWrite/DSPBios/OMAP3530 目录下的 readwrite.tcf 文件拷贝到工程 TestReadWrite 目录下,并向工程中添加文件。(注意设置工程的编译属性为 RELEASE 或者为 DEBUG

l  双击 readwrite.tcf 文件,由于找不到 dsplink-omap3530-base.tci 将产生如下错误。

l  解决方法为:

n  DSP/BIOS 安装目录下寻找 dsplink-omap3530-base.tci 文件并拷贝该文件到工程目录。(个人认为该方法较好,因为可以修改该文件而不影响全局的使用)

n  设置编译属性,添加查找 tci 文件的目录。

l  再次双击 readwrite.tcf 文件,打开工程 DSP/BIOS 的配置界面。(如果仍然出现错误,则可能是 DSP/BIOS 选择的版本出现问题,需要进行 DSP/BIOS 版本的设置,具体设置参考注意事项),注意图中的 cache 映射没有进行设置正确

l  向工程中添加源文件及头文件。

l  设置其它编译选项。

n  设置编译 CPU 的型号。

n  设置头文件的搜索路径。( .;%DSPLINK%/dsp/inc;%DSPLINK%/dsp/inc/DspBios;%DSPLINK%/dsp/inc/DspBios/5.XX;%DSPLINK%/dsp/inc/DspBios/5.XX/OMAP3530/;%DSPLINK%/dsp/inc/C64XX;%DSPLINK%/dsp/export/INCLUDE/DspBios/OMAP3530;%DSPLINK%/dsp/src/base/hal;%DSPLINK%/dsp/src/base/hal/DspBios/OMAP3530

n  设置预编译宏。 DOS_WINCE;MAX_DSPS=1;MAX_PROCESSORS=2;ID_GPP=1;OMAP3530;PROC_COMPONENT;POOL_COMPONENT;NOTIFY_COMPONENT;MPCS_COMPONENT;RINGIO_COMPONENT;MPLIST_COMPONENT;MSGQ_COMPONENT;MSGQ_ZCPY_LINK;CHNL_COMPONENT;CHNL_ZCPY_LINK;OMAP3530_PHYINTERFACE=SHMEM_INTERFACE;ZCPY_LINK  (预编译宏的定义具体可以参考由命令编译生成的 readwrite_defines.txt

n  设置链接的搜索路径。 %DSPLINK%/dsp/export/BIN/DspBios/OMAP3530/OMAP3530_0/RELEASE;D:/TexasInstrument/CCStudio_v3.3/c6400/dsplib/lib;D:/TexasInstrument/CCStudio_v3.3/c6400/imglib/lib;D:/TexasInstrument/CCStudio_v3.3/C6000/cgtools/lib

n  设置链接的链接文件。 dsplink.lib;dsplinkpool.lib;dsplinkmpcs.lib;dsplinkmplist.lib;dsplinkmsg.lib;dsp64x.lib; ( 以上的动态链接文件采用命令的方式编译生成 )

l  重新编译工程,由于工程没有 cmd 文件,将会产生很多的错误,而编译工程后,将自动生成 cmd 文件。

l  添加 cmd 文件到工程中,重新编译该工程,生成 TestReadWrite.out 文件。

3.  程序运行测试及运行结果

拷贝编译生成的文件 readwritegpp.exe readwrite.out 文件到 WINCE 平台,运行命令: readwritegpp   readwrite.out 2280587264 1024 10000

如果发生运行错误,参见: http://processors.wiki.ti.com/index.php/Troubleshooting_DSPLink_configuration_issues

4.  注意事项

如果 DSP/BIOS 的版本和程序配置的版本不匹配,将会产生错误,这需要设置 DSP/BIOS 的版本。

l  启动 CCS 组件管理程序。

l  重新设置 DSP/BIOS 的版本号。

5.  参考文献

1.        EVM3530 BSP User Guide.pdf (很重要)

2.        http://elinux.org/DevKit8000_FAQ#.E5.85.B3.E9.97.AD.E8.A7.A6.E6.91.B8.E5.B1.8F.E6.A0.A1.E5.87.86 (有很多问题都提供了解决方案)

3.        http://code.google.com/p/omapminiboard/ WINCE 支持不是很好)

4.        http://processors.wiki.ti.com/index.php?title=Category:OMAP35x OMAP 维基百科)

5.        http://code.google.com/p/beagleboard/ (beagleboard 开发板 GOOGLE PROJECT )

6.        http://beagleboard.org/ beagleboard 开发板 官方)

7.        http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bsp/latest/index_FDS.html  (TI bsp 申请地址 )

8.   http://processors.wiki.ti.com/index.php/Building_The_OMAP-L1_SDK

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐