DAVINCI DM3730开发攻略——开发环境篇
本篇重点如何搭建DM3730的开发环境,以后会写到x-loader的移植,u-boot的移植,DVSDK4_03的开发包的介绍及用CODEC机制调用DSP算法的介绍,linux-2.6.32内核的移植,CCS工程和开发环境的介绍,Android的移植,部分应用程序的例子分析等等。DM3730比DM6446强大,需要写的东西很多,就怕自己忙不过来。
现在让我们开始动手搭建环境,我们是基于Vmware虚拟机的环境,在LINUX HOST进行开发的。开发环境的LINUX叫HOST,而板子运行的linux环境叫target。
第一、 Vmware的安装
到今天为止,Vmware的版本升级到9.0.2以上了,破解版网上有,当然买正版的更好用。有关Vmware的安装,和以前的Vmware7.1版本一样的,在本人博客另一篇《DAVINCI DM36X 开发攻略——RHEL6在VM7.1的安
装》 (https://www.sodocs.net/doc/2c16834989.html,/964211/502090)已经详细介绍Vmware的安装方法,当然这里下面要安装的LINUX HOST是TI指定的ubuntu-10.04 LTS,而不是那个RHEL6,这里跳过不再介绍。
第二、 Ubuntu-10.04 LTS的安装
1、Ubuntu-10.04 LTS正式安装
在《DAVINCI DM365-DM368开发攻略——开发环境搭建》
(https://www.sodocs.net/doc/2c16834989.html,/964211/621435)里已经介绍Ubuntu-10.04 LTS,其实Ubuntu-12.10的版本早就出来了,TI还是建议我们安装他们的DM3730 DVSDK4_xx最好使用Ubuntu-10.04 LTS,否则无法正常安装。本人试过Ubuntu 10.10 LTS 32-bit的安
装,果然DVSDK4_0_X确实安装不成功,没时间查查原因。如果有些朋友喜欢更高级的Ubuntu 版本,还有个笨办法就是先在Ubuntu-10.04 LTS安装好,然后把整个dvsdk4_xx文件夹压缩打包,再到放到高级的Ubuntu解压,注意一下路径对应,就可以用了。网友可以按照《DAVINCI DM365-DM368开发攻略——开发环境搭建》里 Ubuntu-10.04 LTS环境搭建进行安装,这里特别提到的一点是,分配虚拟硬盘的大小时,建议分配30G以上,见下图。
图-1 分配虚拟机硬盘
图-2 本人的VM硬盘分配
本人的PC机内存是4G,给虚拟机这边分1252MB或1536MB是没问题的。如果使用你的PC 机是2G的内存,那建议你分配512MB给虚拟机,效率有点慢。
图-3 内存分配
2、linux host虚拟机和WINDOWS共享文件夹设置
因为DM3730的DVSDK很大,Android 2.2的开发包也很大,而且以后开发的时候,会发觉Ubuntu10.vmdk文件越来越大,这个开始一直困扰本人和其他网友,后来发觉HOST里
/usr/bin/vmware-toolbox和/usr/bin/vmware-toolbox-cmd的用法后,这个就决解了,红帽子LINUX RHEL5和RHEL6也是这个方法,这个等安装完DVSDK开发包后,再介绍Ubuntu 文件越来越大的解决方法。安装完Ubuntu-10.04 LTS后,继续安装Vmware Tools,这个东西非常有用,方法见《DAVINCI DM365-DM368开发攻略——开发环境搭建》
(https://www.sodocs.net/doc/2c16834989.html,/964211/621435)。
然后继续设置和WINDOWS共享文件夹,先在WINDOWS下建立共享文件夹,见图-4。
图-4 先在WINDOWS下建立共享文件夹
图-5-0 VM共享文件夹设置
然后在VM->settings里按图-5进行设置,那么进入虚拟机命令行后,使用#cd
/mnt/hgfs/dm3730,就可以看到WINDOWS共享目录dm3730里边的文件了,比SAMBA好用。
本人喜欢使用root登录:
图-5-1 root帐号登录
3、SMABA的设置使用以下命令:
#apt-get install samba
#apt-get install smbfs
#apt-get install samba-common-bin
#apt-get install system-config-samba
系统自动从 Ubuntu的官方镜像网站下载稳定的最新的软件包版本,大家可以通过#gedit /etc/apt/sources.list命令看看这些链接的地址。
安装samba结束后,先使用
#touch /etc/samba/smbpasswd
#smbpasswd -a davinci (davinci普通用户)
输入samba访问密码两次。
然后编辑gedit /etc/samba/smb.conf的配置文件,在smb.conf最后增加下面一段内容:[smb_share]
;comment = Shared Folder with username and password
path = /home/davinci
public = yes
writable = yes
valid users = davinci
create mask = 0777
directory mask = 0777
force user = nobody
force group = nogroup
available = yes
browseable = yes
保存退出。
重启samba,/etc/init.d/smbd restart(已经和以前的/etc/init.d/samba不一样了)使samba生效。
最后使用:
# ufw disable
把防火墙给关闭掉,这样在WINDOWS下就可以使用\\192.168.1.xxx 登录samba共享目录了。对于从WINDOWS 拷贝文件进SAMBA文件夹有时会碰到读写操作的权限问题,我们只需在Ubuntu里:
文件夹的操作:chmod –R 777 xxxxx
文件的操作:chmod 777 wwwww
这样就可以了。
Samba只是一个辅助的工具,就是在WINDOWS下可以操作虚拟机的文件夹读写等等操作。
4、安装其他有用的linux host开发环境包
在HOST 使用DHCP的状态下(可以在Ubuntu10里上网),安装一些有用的开发包,比如在ubuntu10.04上开发Android用到的JAVA jdk1.6.0_43和其他的:
apt-get install bison
apt-get install zlib1g-dev
apt-get install flex
apt-get install g++-multilib
apt-get install libncurses-dev
apt-get install libx11-dev
apt-get install gperf
等等,这些在以后的Android移植的文章会详细描述到,这里先不累赘。
第三、安装DM3730 DVSDK_04_03开发包
下面我们着重看图进行安装,用图片来演示相关的操作命令更直观。
图-6 dvsdk_04_3开发包放在共享目录
见图-6,在TI的网站上注册一个帐号,my.TI Account,如果有以前注册有就不需要注册了,进入https://www.sodocs.net/doc/2c16834989.html,/tool/linuxdvsdk-dm37x下,从TI网站下载到的
dvsdk_dm3730-evm_04_03_00_06_setuplinux开发包,免费的,并把该文件放到刚才提到的共享文件夹里边,
图-7 建立dm3730 dvsdk4_03的目录
开始按图-7上面提示的命令进行操作,我们先在/home/davinci/下建立dm3730的目录,然后再dm3730的目录里边再建立dvsdk4_03的简短目录,不要用长长的名字,烦。
图-8 运行dvsdk_dm3730-evm_04_03_00_06_setuplinux
进入共享文件夹的目录cd /mnt/hgfs/dm3730,先使用chmod
+x dvsdk_dm3730-evm_04_03_00_06_setuplinux改变这个文件的使用权限,然后运行这个安装包。
图-9 dvsdk4_03的安装开始界面
这时自动进入图形安装界面,修改安装到LINUX HOST里指定的路径,千万不要按图-9默认指定的路径,
图-10
应该按图-10指定的路径,然后按“Next”往下进行安装,
图-11
图-11的元素全部选上,
图-12
图-13
图-14
继续往下安装,这个从图-12到图-15整个过程有点长,因为这个开发包解压后很大。
图-15
到图-15表示安装结束,这时建议看看“View Softwate Developers Guide”更多了解整个DVSDK4_03的介绍。
图-16 dvsdk4_03的开发包元素
进入/home/davinci/dm3730/dvsdk4_03的目录ls一下,就可以看到这里有很多开发包元素,还有一个经典的setup.sh文件,先别急运行这个文件。
图-17
我们先按图-17在dvsdk4_03/filesystem里边建立一个dm3730rootfs的目录,到时候运行setup.sh需要解压TI EVM的文件系统dvsdk-dm37x-evm-rootfs.tar.gz到里边,这个TI EVM 的dvsdk-dm37x-evm-rootfs.tar.gz文件很大,不适合我们嵌入式系统的文件系统,只有arago-base-tisdk-image-dm37x-evm.tar.gz适合,这个是TI EVM的简化版文件系统。
第四、搭建TFTP和NFS服务器
这里我们单独把TFTP和NFS SERVER的搭建单独来介绍,上面提到的dvsdk4_03/setup.sh,已经把这些安装命令和脚本写好了,不要像安装DM6446开发环境那么麻烦。
图-18 修改setup.sh脚本
在dvsdk4_03的目录下,使用gedit setup.sh &命令,对setup.sh进行编辑,我们按图-18进行屏蔽setup-minicom.sh,这个minicom是运行在LINUX HOST里边的串口调试工具,本
人觉得不太好用,我们喜欢WINDOWS下的SecureCRT,这个SecureCRT串口工具非常好用。然后把setup-uboot-evn.sh也可以屏蔽掉,最后保存这个文件。
图-19 运行setup.sh脚本
直接按图-19运行,./setup.sh,
图-20 安装g++ 自动安装g++的过程见图-20。
图-21 设置 NFS 文件系统路径
自动对linux HOST 的/etc/export文件进行设置,在export文件的后面,自动加有:/home/davinci/dm3730/dvsdk4_03/filesystem/dm3730rootfs
*(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
的设置(注意dm3730rootfs和*之间有个空格)。
图-22 解压文件
输入“o”,表示强制要求把dvsdk-dm37x-evm-rootfs.tar.gz解压到
filesystem/dm3730rootfs的目录里,刚才上面提到dvsdk-dm37x-evm-rootfs.tar.gz是TI EVM的文件系统,超级大,只适合调试,不适合烧写到NAND上面的嵌入式文件系统,所以我们接着在dvsdk4_03 /filesystem/的目录下,使用:
#mv dm3730rootfs ti_evm_rootfs
#mkdir –p dm3730rootfs
#tar zxf arago-base-tisdk-image-dm37x-evm.tar.gz –C dm3730rootfs
这个arago-base-tisdk-image-dm37x-evm的文件系统就是TI EVM
dvsdk-dm37x-evm-rootfs.tar.gz的简化版本,本人对比了这里边的bin,
sbin, lib, dev, etc, usr/bin,usr/sbin, usr/lib等命令和LIB基本相同。