DSP

How_to_build_an_ARM/DSP_Hello_World_program_on_the

2019-07-13 20:42发布

解决dsplinkdata.lib缺失问题
前面写过一篇how to build an arm/dsp hello world program on the davinci evm, 那前面其实并不算运行成功,因为尽管编译通过,在运行的时候还是会有failed,具体错误当时没有截图留证现在也没法弄了。 当时是开发板直接提供的虚拟机,里面的sdk什么工具都装好了,但是里面差一些文件,不晓得是他们删掉了还是怎么回事。前两天在Red Hat Enterprise 5里面自己建立了开发环境,当然都是照着Get Start那个文档来的。参照前面的文章Red Hat Enterprise 5下面的samba nfs 软件安装等等。 今天突然想到这个里面有个scale例程,因为在TI的codec engine alogorith creator usr guide里面提到这个,就重新弄下这个例子了。 照着http://processors.wiki.ti.com/index.php?title=How_to_build_an_ARM/DSP_Hello_World_program_on_the_DaVinci_EVM 这个文章里面编译的时候有可能会提示如下错误,就是找不到dsplinkdata.lib的文件, 试了不少方法,最后才找到终极解决方式,写出来以供参考。 先写失败的方法: 失败一: 因为有人建议这个文件好像没有什么用就直接新建一个.txt文件,重命名为dsplinkdata.lib 结果提示文件长度过短,因为新建文档是空的, 既然是文件长度过短,那就加长好了,随便复制点东西进去,这下总行了吧。然后就提示****找不到,这里的****可能就是你复制进去东西里面的一个词。估计他是用文件指针在里面取出来的,这种方法行不通 失败二: 将本来就有的dsplink.lib复制一份改名成dsplinkdata.lib 结果编译错误提示更多。。。无语 找资料http://e2e.ti.com/support/dsp/omap_applications_processors/f/42/t/29343.aspx 在这篇文章中有人提到同样的问题,找到了原因说是dsplink重新编译就可以生成dsplinkdata.lib这个文件,但是按照sprue66d.pdf  TMS320DM6446 DVEVM v1.30 Getting Started Guide A.5讲到的Rebuilding DSP/BIOS link 重新生成了dsplinkk.ko等一些文件,没有dsplinkdata.lib这个文件, 但是有一点提示就是在文件中重新编译dsp/bios用的是命令 sh-f buildmodule.sh 在同一个文件夹下还有另外几个文件,研究研究,也许有用。 用Text Edit 或者其它文本编辑工具打开每个文件查看,这些文档都写的很标准,在里面讲到每个文件的路径,作用 buildmodule.sh           Script to build the kernel module
dsplinkcfg                     Calls perl script to create build configuration for
dsplinkenv                    Sets the necessary environment for DSP/BIOS(TM) Link development
dsplinkenv.bash          Sets the necessary environment for DSP/BIOS(TM) Link development
dspmake                       Builds the dsp side libraries, samples and testsuite for OMAP.
dspprobemake            Sets the necessary environment for DSP/BIOS(TM) Link development. 这里有用的就是dspmake这个文件,看到它对应的作用build the dsp side libraries samples and testsuite.可以生成dsp侧的库,例程等。我们要的就是这个 执行dspmake 提示以下错误 Compiling failure.c...
/bin/sh: C:ti-toolsC6000cgtoolsbincl6x: command not found
make[3]: *** [failure.c.rel] Error 127
make[2]: *** [objrel] Error 2
make[1]: *** [gen.objrel] Error 2
make: *** [base.objrel] Error 2

这个可能是因为我在配置的时候选择的是windows平台,没关系,我已经照着how to build an hello world 那个文章里面设置好了,大不了到xp下面去找到对应文件编译。 注意上面提到的文件都是在$(DSPLINK)/etc/host/scripts/Linux/  这个路径下,到xp下面就要换到对应的文件夹,例如$(DSPLINK)/etc/host/scripts/msdo/下面的dspmake.bat 以下是我的DSP/BIOS LINK配置文件,不一定完全一致,能用就好。用这个文件可以生成库文件,和例子,正是我需要的。  See: E:dsplink_140-05p1packagesdsplinkconfigCURRENTCFG.MK

 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 The selected configuration is:

 GPP OS             = Linux
 DSP OS             = DspBios
 GPPDISTRIBUTION    = davinci_mvlpro4.0
 GPPOSVERSION       = 2.6
 DSPDISTRIBUTION    = c64xxp_5.xx_windows

 GPPPLATFORM        = Davinci
 DSPPLATFORM        = Davinci

 USE_PROC           = 1
 USE_POOL           = 1
 USE_NOTIFY         = 1
 USE_MPCS           = 1
 USE_RINGIO         = 1
 USE_MPLIST         = 1
 USE_CHNL           = 1
 USE_MSGQ           = 1

 TRACE              = 1
 PROFILE            = 0
 PROBE              = 0

 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 Edit GPP and DSP distribution files for user specific path
 settings for OS base directory, tool chain path etc

 Edit GPP distribution file:
 E:dsplink_140-05p1packagesdsplinkmakeLinuxdavinci_mvlpro4.0.mk
 Edit DSP distribution file:
 E:dsplink_140-05p1packagesdsplinkmakeDspBiosc64xxp_5.xx_windows.mk
然后在对应的samples文件夹下gmake -s Release就好了
E:dsplink_140-05p1packagesdsplinketchostscriptsmsdos>cd %DSPLINK%dspsrc
samples

E:dsplink_140-05p1packagesdsplinkdspsrcsamples>gmake -s Release
具体例程输出还有待验证,先记下这些。。。