本文主要介绍在ubuntu10.04下安装TI的多媒体处理器TMS320DM365的开发环境,使用DVSDK开发包版本为dvsdk_2_10_01_18。
本文源自蓝海@博客站:http://kevinxie.blog.51cto.com,原创作品,转载请保留本声明,以示对作者劳动的尊重。
博客上排版、格式处理等不太方便,所以几乎每一篇博文,作者都会用Word整理出一个排版处理好的文档,在作者的51CTO博客和CSDN博客两资源下载处免费提供下载,同时与文档相应的源码和资料也提供下载,51CTO下载网址:http://down.51cto.com/2942897,CSDN下载网址:http://download.csdn.net/user/r051463438。
本文的附件处也提供下载。
本环境基于ubuntu10.04,所以要先安装ubuntu环境,ubuntu10.04安装不在本文档内详细介绍,请参考作者另一文档《VM下安裝ubuntu10.04的详细图文笔记》。安装完ubuntu后,还有一些小项需要配置,请参考作者另一文档《新装ubuntu10.04后的一些设置》。这两个文档参考声明部分里作者的博客或文档下载的有关内容。
以上完成后,新建一个共享目录,用于在ubuntu与windows之间共享文件,并在VMware虚拟机上进行设置,实现共享。这里我用于共享的目录是“F:\ubuntu\share_dir”,同时在ubuntu下看到的名称设置为“share_dir”,根据自己的情况进行适当的修改。
TI的DM365开发环境安装文件相对来说比较多,而且比较乱,对于刚入手达芬奇DM365的人一时不容易搞清楚其中关系,不知如何下手,TI在这一点上需要改善,当然在后面的版本中TI的确做到了,从DVSDK4_0版本开始,TI将所有相关的软件整个打包,只需安装一个包即可。不多说,这里给出DVSDK2_10版本环境安装文件的下载地址,后面我只选择安装其中的6个。
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_10/latest/exports/dvsdk_dm365_setuplinux_2_10_01_18.bin
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_10/latest/exports/mvl_5_0_0_demo_lsp_setuplinux_02_10_00_14.bin
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_10/latest/exports/mvl_5_0_0801921_demo_sys_setuplinux.bin
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_10/latest/exports/psp_02_10_00_14.bin
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_10/latest/exports/LPTB-02.03.00.02-beta.bin
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_10/latest/exports/xdctools_setuplinux_3_15_01_59.bin
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_10/latest/exports/restore_dm365/dm365_flash_p_w_picpath_2_10_01_18.tar
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_10/latest/exports/restore_dm365/data.tar.gz
将下载好的环境安装软件拷贝到共享目录“F:\ubuntu\share_dir”下,LINUX端可以在“/mnt/hgfs/share_dir/”下看到
mvl_5_0_0_demo_lsp_setuplinux_02_10_00_14.bin
mvl_5_0_0801921_demo_sys_setuplinux.bin
dvsdk_dm365_setuplinux_2_10_01_18.bin
xdctools_setuplinux_3_15_01_59.bin
psp_02_10_00_14.bin
data.tar.gz
到/mnt/hgfs/share_dir/目录下执行安装,安装版本为MontaVista Linux Pro v5.0
sudo mkdir /opt/mv_pro_5.0
cd /mnt/hgfs/share_dir
sudo ./mvl_5_0_0801921_demo_sys_setuplinux.bin
sudo ./mvl_5_0_0_demo_lsp_setuplinux_02_10_00_14.bin
注意:两次安装都选择安装路径为/opt/mv_pro_5.0
这样安装完后,在/opt/mv_pro_5.0就有了
mvltools5_0_0801921_update.tar.gz
DaVinciLSP_02_10_00_14.tar.gz
解压这两个文件
cd /opt/mv_pro_5.0
sudo tar zxvf mvltools5_0_0801921_update.tar.gz
sudo tar zxvf DaVinciLSP_02_10_00_14.tar.gz
解压要几分钟时间,解压完后就删除这两个压缩包:
sudo rm -f mvltools5_0_0801921_update.tar.gz
sudo rm -f zxvfDaVinciLSP_02_10_00_14.tar.gz
DVSDK是DaVinci Software Development Kit的缩写,即达芬奇软件开发套件。
cd /mnt/hgfs/share_dir
sudo./dvsdk_dm365_setuplinux_2_10_01_18.bin
sudo ./xdctools_setuplinux_3_15_01_59.bin
sudo ./psp_02_10_00_14.bin
dvsdk_dm365_setuplinux_2_10_01_18.bin安装路径设为:
/home/kevin/dvsdk_2_10_01_18
xdctools_setuplinux_3_15_01_59.bin安装路径设为:
/home/kevin/dvsdk_2_10_01_18/xdctools_3_15_01_59
选择典型安装模式。
psp_02_10_00_14.bin安装路径设为:
/home/kevin/dvsdk_2_10_01_18
安装完成后会得到一个压缩包文件PSP_02_10_00_14.tar.gz,在/home/kevin/dvsdk_2_10_01_18目录下解压该压缩包:
cd /home/kevin/dvsdk_2_10_01_18
sudo tar zxf PSP_02_10_00_14.tar.gz
sudo rm –f PSP_02_10_00_14.tar.gz
cd PSP_02_10_00_14/board_utilities
ls
可以得到DM365的UBL和u-boot代码包,在PSP_02_10_00_14/board_utilities目录下。
将data.tar.gz文件解压到home/kevin/dvsdk_2_10_01_18/clips目录下
cd /mnt/hgfs/share_dir
sudo tar -zxf data.tar.gz –C /home/kevin/dvsdk_2_10_01_18/clips
cd /home/kevin
mkdir -p workdir/filesys
cd workdir/filesys
复制文件系统
sudo cp -a /opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/target/* ./
很久,慢慢等。
修改NFS服务器配置文件:
sudo vim /etc/exports
加入下面一行:
/home/kevin/workdir/filesys*(rw, no_root_squash,no_all_squash,sync)
重启端口映射和NFS服务
sudo /etc/init.d/portmaprestart
sudo/etc/init.d/nfs-kernel-server restart
vim ~/.bashrc
在最后加入下面内容:
export PATH="/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin:/opt/mv_pro_5.0/montavista/pro/bin:/opt/mv_pro_5.0/montavista/common/bin:$PATH"
运行:
source ~/.bashrc
使环境变量生效。
现在,在终端输入arm_+[tab]就会出现交叉编译工具。
拷贝MontaVista LSP(LinuxSupport Package)支持包中的内核到工作目录中,里面包含了Davinci的相关驱动。
mkdir /home/kevin/workdir/lsp
cd /home/kevin/workdir/lsp
cp -R /opt/mv_pro_5.0/montavista/pro/devkit/lsp/ti-davinci ./
将整个dvsdk开发包和workdir的用户与组设置成我的普通用户kevin
cd /home/kevin
sudo chown kevin:kevin dvsdk_2_10_01_18/ -R
sudo chown kevin:kevin workdir/-R
cd dvsdk_2_10_01_18
vim Rules.make
检查文件中各软件的路径是否对应上安装的路径,如有不对应的要改成实际的安装路径,否则后面编译会出错。如果按照我上面的步骤这样安装下来的话,就只用改一处地方,即第71行改为:
LINUXKERNEL_INSTALL_DIR=${HOME}/workdir/lsp/ti-davinci/linux-2.6.18_pro500
cd /home/kevin/workdir/lsp/ti-davinci/linux-2.6.18_pro500
make ARCH=armCROSS_COMPILE=arm_v5t_le- davinci_dm365_defconfig
make ARCH=armCROSS_COMPILE=arm_v5t_le- checksetconfig
make ARCH=arm CROSS_COMPILE=arm_v5t_le-uImage
在第二个make时,会提示有错,如下所示:
#
#configuration written to .config
#
python/home/kevin/workdir/lsp/ti-davinci/linux-2.6.18_pro500/scripts/kconfig/checksetflags-z -v --config-file .config --flag-file /home/kevin/workdir/lsp/ti-davinci/linux-2.6.18_pro500/scripts/kconfig/baseconfig
python:error while loading shared libraries: libstdc++.so.5: cannot open shared objectfile: No such file or directory
make[1]:*** [checksetconfig] Error 127
make: ***[checksetconfig] Error 2
找不到libstdc++.so.5这个库,网上下载一个libstdc++.so.5文件(在我的博客资源下载处有下载,参考声明部分),将它放到ubuntu10.04系统的/usr/lib/目录下,然后,再执行一次makeARCH=arm CROSS_COMPILE=arm_v5t_le- checksetconfig,这回就没错了。接着进行第三个make,大概半个小时编译完成,生成内核镜像uImage。
cd /home/kevin/dvsdk_2_10_01_18
make clean
make
make install
大概十几分钟后,DVSDK编译完成,DEMO的可执行文件也已经安装到了文件系统的/opt/dvsdk/dm365目录下,启动板子,设置好boot参数,TFTP下载内核,再通过NFS起文件系统就可以跑DEMO了。
1、http://processors.wiki.ti.com/index.php/GSG:_DVSDK_2.0_Software_Setup_in_Ubuntu
2、http://processors.wiki.ti.com/index.php/GSG:_DM365_DVEVM_Software_Setup
蓝海<kevin_linux@163.com>
2011年9月30日于北京海淀