DAVINCI DM365-DM368开发攻略——开发环境搭建(DVSDK4.02)
第一节
http://zjbintsystem.blog.51cto.com/964211/621435转载
第二节、 DM365/368介绍
回归正题,我们先看看TI网站对DM365/368的介绍:
http://focus.ti.com.cn/cn/paramsearch/docs/parametricsearch.tsp?family=dsp§ionId=2&tabId=2114&familyId=1446¶mCriteria=no;这里本人就不啰嗦了,DM365/368就是两款高清720p/1080p的芯片方案,单核ARM926EJS+视频子处理器,H264、MPEG4、MPEG2、MJPEG、JPEG,音频的ACC、G711编码解码都是硬件实现的,无需软件运算,编码解码速度极快。但DM36X里边没有DSP,不能拿来做智能视频算法和机器视觉算法,DM36X方案适合做IP-CAMERA、高清DVR、无线IP-CAMERA、智能家居低成本产品,等等。市场上还有一个非常流行更经济的台湾
智源和华为海思嵌入式高清IP-CAMERA、DVR方案(注,本人是中立嵌入式爱好者),但DM36X可扩展的功能比华为海思嵌入式芯片Hi系列强,,压缩率比海思和台湾
智源高,华为海思嵌入式芯片Hi更专注DVR方面的产品设计。这些SoC都是面对低端市场,讲究量的出货,做不了高端产品,只有带DSP的芯片才能做中高端产品。像本公司的DM6446、DM6437,和以后的DM8168等。
TI最开始发布的DM36X开发包是dvsdk_dm365_setuplinux_2_10_01_18,这个版本还有很多公司在用,这个是基于linux-2.6.18内核上开发的,TI觉得Montavista做的linux驱动太烂,决定自己搞,所以发布很多linux的版本,现在最新发布的版本是linux-2.6.37。上篇写到《RHEL6.0的开发环境》,主要针对去年发布的DVSDK3.0开发包的,DVSDK3.0里边包含DM36X和DM6467T三个高清方案芯片的开发包,内核基于linux-2.6.32,但是TI在今年连续发布DVSDK4.00,DVSDK4.01和DVSDK4.02,内核均是linux-2.6.32,同时把DM365和DM368分开了,说明在软件上DM365(720P)和DM368(1080P)区别还是比较大的,两个芯片在硬件管脚完全兼容,就是主频率(DM365最高297MHz,DM368为432MHz)和视频子处理系统不一样,DM368还包含“智能成像应用的脸部识别”,所以我们决定开发DVSDK4.02。因为全世界很多流行的软件都基于linux-2.6.32,比如RHEL6.0,Ubuntu 10.04,众多开发板公司,等稳定版本,加上现在比较流行的
Android(安卓)系统,要求linux的版本最好是linux-2.6.32以上。
要开发DVSDK4.02或者(DVSDK4.00,DVSDK4.01),TI要求必须在Ubuntu 10.04 LTS 32-bit系统上开发,不能在RHEL6.0上开发,这个和DVSD3.0有区别的。
第三节、 下载相关软件包
1、下载Ubuntu 10.04 LTS 32-bit
http://www.ubuntu.com/download/ubuntu/download
下载得到ubuntu-10.04.2-desktop-i386.iso,而且版本一定是ubuntu-10.04,不要下载更高级的版本。和RHEL6.0不一样,这个是完全免费和无版权纠缠问题的linux系统,而且这个和debian系统一样,非常好用,非常方便更新软件包,安装后,文件总体大小也小多了。
2、下载ARM交叉编译工具Code Sourcery ARM GCC Tool Chain
http://www.codesourcery.com/sgpp/lite/arm/portal/release858
“Sourcery G++ Lite 2009q1-203 for ARM GNU/Linux”,比较流行和高效的ARM交叉编译工具,选择下载
IA32 GNU/Linux Installer;
3、下载DVSDK_4_02包:
分DM365和DM368,
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_4_00/latest/index_FDS.html
TI在DVSDK_4_0上做得比较好,把所有的开发软件全部打包好了(本人喜欢死了)包括UBL、U-BOOT-2010.12,LINUX-2.6.32.17,DRIVER,EXAMPLE,FILESYSTEM;
先下载
TMS320DM365_EVM_Quick_Start_Guide.pdf 和
TMS320DM368_EVM_Quick_Start_Guide.pdf
下载:
dvsdk_dm365-evm_4_02_00_06_setuplinux
选择“另存为”,并加.bin后缀,否则你下载的是txt格式的文件;
下载:
dvsdk_dm368-evm_4_02_00_06_setuplinux
选择“另存为”,并加.bin后缀;
下载完上面的开发包和文件后,先看看
TMS320DM365_EVM_Quick_Start_Guide.pdf或者
TMS320DM368_EVM_Quick_Start_Guide.pdf。
第四节、 Ubuntu 10.04 LTS环境搭建
和RHEL6.0的安装一样,我们选择虚拟机软件VM7.1,我们以按图说话,一步一步安装下去,熟悉这方面的朋友可以跳过本节的描述,当然给本人指出错误挑毛病更让本人喜欢。不熟悉的朋友可以先先看看《
DAVINCI DM36X开发攻略——RHEL6在VM7.1的安装》。
首先VM7.1已经安装后,并且VM7.1和WINDOWS的网络共享设置按照下图:
650) this.width=650;" onsubmit onchange onunload onselect onreset>
要在自己电脑上找到一个有至少有20G的空余的空间,确保自己的PC有2G的内存以上,WINDOWS自己占用1G,分配给虚拟机的内存是1G以上,这样在Ubuntu里编译和开发就非常有效率。
650) this.width=650;" height=375 onsubmit onchange onunload onselect onreset>
VM-LINUX 图-1
选择Ubuntu,“Next”下去;
650) this.width=650;" height=338 onsubmit onchange onunload onselect onreset>
VM-LINUX 图-2
650) this.width=650;" height=348 onsubmit onchange onunload onselect onreset>
VM-LINUX 图-3
在图-3里,也有人选择使用“Use NAT”,但是我们用第一种的方式也可以在Ubuntu系统里上网。
650) this.width=650;" height=370 onsubmit onchange onunload onselect onreset>
VM-LINUX 图-4
选择虚拟机I/O类型,
650) this.width=650;" height=394 onsubmit onchange onunload onselect onreset>
VM-LINUX 图-5
由于第一次在你的PC安装Ubuntu,我们选择第一个选项,产生一个新虚拟硬盘,VM把整个linux host的系统保存到一个文件(新虚拟硬盘)里,非常安全和容易备份保存,这也是本人喜欢VM的原因。
650) this.width=650;" height=324 onsubmit onchange onunload onselect onreset>
VM-LINUX 图-6
VM-LINUX 图-6里,选择虚拟硬盘的类型,我们建议使用IDE,有时选择“SCSI”会使后面的安装出问题,本人没时间去研究这个问题,所以直接用IDE。
650) this.width=650;" height=423 onsubmit onchange onunload onselect onreset>
VM-LINUX 图-7
分配给Ubuntu host系统的虚拟硬盘空间是20G,够用了,因为后面安装完交叉编译工具、相关Ubuntu升级包、DVSDK4.02等软件包后,才7.x 多G的文件,够开发用了,这个虚拟硬盘会随开发安装更多的软件包变得越来越大。
650) this.width=650;" height=327 onsubmit onchange onunload onselect onreset>
VM-LINUX 图-8
650) this.width=650;" onsubmit onchange onunload onselect onreset>
VM-LINUX 图-9
图-8和图-9就是通过镜像方式安装Ubuntu,在虚拟机的光驱里,按图-9的选项找到你下载的ubuntu-10.04.2-desktop-i386.iso,然后点击确定后,在虚拟机的界面的左边,启动刚才配置的虚拟机。这样就开始Ubuntu安装了。
650) this.width=650;" height=432 onsubmit onchange onunload onselect onreset>
U-install 图-10
这里选择Ubuntu host系统的语言,一般是英语,也可以使用简体中文。
650) this.width=650;" height=410 onsubmit onchange onunload onselect onreset>
U-install 图-11
选择Asia重庆的时区或上海的时区。
650) this.width=650;" height=405 onsubmit onchange onunload onselect onreset>
U-install 图-12
Ubuntu系统采用美国键盘,你可以在空框里测试你的键盘。继续“Forward”,
650) this.width=650;" height=393 onsubmit onchange onunload onselect onreset>
U-install 图-13
这一步开始对虚拟硬盘就行格式化(就是*.vmdk文件),这个不会影响的WINDOWS下的硬盘,所以说VM安装LINUX HOST很安全。
650) this.width=650;" height=394 onsubmit onchange onunload onselect onreset>
U-install 图-14
图-14这一步就是要设置好Ubuntu的普通用户账号和密码,还有虚拟计算机的名字,我们使用简单的密码,会提示“strength fair”,没关系。
650) this.width=650;" height=383 onsubmit onchange onunload onselect onreset>
U-install 图-15
配置到图-15这里,我们就可以安装Ubuntu了,这个安装需要比较长一点的时,可以去忙其他事情。
650) this.width=650;" onsubmit onchange onunload onselect onreset>
U-install 图-16
安装结束后,提示重启Ubuntu,先“Restart Now”,然后在进入重启界面,这时系统会停留在显示文本模式下,我们需要敲“
回车键”,Ubuntu才能起来,这个有点奇怪。回车后,可以进入图形界面,然后出现登陆界面。
650) this.width=650;" onsubmit onchange onunload onselect onreset>
U-install 图-17
第一登陆请使用davinci普通账号进入,Ubuntu默认是普通用户进入,不建议使用超级用户root登陆,root超级用户是被禁用的。需要使用一些带权限操作的指令,都需要在最前面加”sudo”,这个确实有点繁。为了使用root登陆,从虚拟机”Applications”里找到“Terminal”终端,并打开,我们以后基本是在“Terminal”里操作和开发。使用:
$sudo passwd root
Password: <--- 输入你当前用户davinci的密码
Enter new UNIX password: <--- 新的Root用户密码
Retype new UNIX password: <--- 重复新的Root用户密码
passwd:已成功更新密码
这个解锁root的方法在Ubuntu 10.04 LTS及以后的版本都比较简单,就是上面的命令,然后重新启动Ubuntu,就可好使用图-17的“Other”登陆了,输入root和刚才设置的root密码,就可以登陆root模式。
我们开始安装和设置其他有用的工具。
650) this.width=650;" height=460 onsubmit onchange onunload onselect onreset>
U-install 图-18
这一步是安装VM TOOL,这个工具非常有用,安装了VM TOOL就可以使鼠标在两个操作系统下自由切换,两个操作系统下共享目录,可以调整虚拟机的窗口大小,等等,所以我们建议安装,见图-18,直接点击“Install Vmare Tools”,这时VM系统自动会mount 虚拟机VM 里自带的ISO文件到光驱里,见下图-19.
650) this.width=650;" onsubmit onchange onunload onselect onreset>
U-install 图-19
650) this.width=650;" onsubmit onchange onunload onselect onreset>
U-install 图-20
进入linux光驱可以看到里边的内容。但这个是压缩软件包,不能直接安装。我们开始到命令模式下,通过指令操作。
650) this.width=650;" onsubmit onchange onunload onselect onreset>
U-install 图-21
图-21里,我们使用“cd /media/Vmware\ Tools/”进入光驱里,先把VmwareTools-xxxxx.tar.gz给解压到 /tmp的目录里
如果在root模式,直接tar zxf VmwareTools-8.4.5-324285.tar.gz –C /tmp,如果在普通用户的模式,使用sudo tar zxf VmwareTools-8.4.5-324285.tar.gz –C /tmp,解压结束后,我们到/tmp/vmware-tools-distrib目录下使用./vmware-install.pl,直接回车安装,
650) this.width=650;" onsubmit onchange onunload onselect onreset>
U-install 图-22
一直拍“回车”键安装下去,直到安装结束。
650) this.width=650;" onsubmit onchange onunload onselect onreset>
U-install 图-23
安装VM TOOL结束后,在虚拟机的菜单里,开始设置和WINDOWS共享的文件夹,见图-23,因为GCC交叉安装包和DVSDK4.02的安装包很大,没必要通过SAMBA方式 COPY到LINUX里去,使虚拟机的空间越变越大。
650) this.width=650;" height=507 onsubmit onchange onunload onselect onreset>
U-install 图-24
在Settings->”Options”里,对“Shared Folders”进行“Always enabled”,同时在WINDOWS下的先生成一个共享的文件夹,比如本人的是G盘下,直接生产“Ubuntu10”的文件夹,并设置成共享模式,见图-25。然后在图-24的“Add”处添加刚才的Ubuntu10的共享文件夹,见图-26。
650) this.width=650;" height=455 onsubmit onchange onunload onselect onreset>
U-install 图-25
650) this.width=650;" height=399 onsubmit onchange onunload onselect onreset>
U-install 图-26
650) this.width=650;" height=328 onsubmit onchange onunload onselect onreset>
U-install 图-27
最后选择图-27的“Enable this share”,点击finish,这样Ubuntu和windows就可以共享文件夹了,这样系统会自动mount这个共享文件夹到/mnt/hgfs/的目录下。COPY你下载的arm-2009q1-203-arm-none-linux-gnueabi.bin和dvsdk_dm365-evm_4_02_00_06_setuplinux.bin或者dvsdk_dm368-evm_4_02_00_06_setuplinux.bin到这个WINDOWS下的Ubuntu10文件夹里,然后在linux里边,使用以下命令,看看在LINUX里是否看到你COPY过来的文件:
#cd /mnt/hgfs/Ubuntu10/
#ls
这时应该可以看到刚才COPY的两个大文件。
到这里Ubuntu的环境基本搭建好,还有NFS, TFTP, SAMBA等,NFS和TFTP在后面安装好DVSDK4.02后,再告诉大家如何设置。
第五节、 Ubuntu网络环境静态IP的设置和SMABA的设置
由于Ubuntu的默认安装状态的IP是DHCP,而我们TFTP SERVER, NFS SERVER, SAMBA SERVER这些网络环境都要求是固定的静态IP模式,所以我们先设置静态IP,编辑/etc/network/interfaces的文件,
#gedit /etc/network/interfaces
在auto lo
iface lo inet loopback
的后面加上:
auto eth0
iface eth0 inet static
address 192.168.1.252
netmask 255.255.255.0
gateway 192.168.1.1
broadcast 192.168.1.255
然后保存退出,重启networking:
#/etc/init.d/networking restart
而有些网友指出改成静态IP上不了网,这时就需要设置DNS,这个就不提示了,网上有很多介绍,本人没发觉apt-get install xxxx过不去,所以本人的静态IP还是可以连上网的。本人还发觉有个BUG,每天打开Ubuntu如果不做/etc/init.d/networking restart的话,发觉还是使用DHCP,做了/etc/init.d/networking restart后,就变成静态IP,这个BUG一直没查到什么原因,这个和RHEL6.0的不一样,不知是否有Ubuntu高手指点一下。本人还有个小建议:为了上网方便,建议DHCP,调试开发的时候,直接使用:
ifconfig eth0 192.168.1.252,临时去指定IP就可以做相应的开发。
搞定静态IP和DNS,可以设置SAMBA了,使用以下命令:
#apt-get install samba
#apt-get install smbfs
#apt-get install samba-cmmon-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 = 0700
directory mask = 0700
force user = nobody
force group = nogroup
available = yes
browseable = yes
保存退出。
重启
samba,/etc/init.d/smbd restart
这个和以前的(/etc/init.d/samba restart)不一样了。
使
samba生效。
最后使用:
# ufw disable
把防火墙给关闭掉,这样在WINDOWS下就可以使用\\192.168.1.252 登录samba共享目录了。
第六节、 交叉编译环境搭建
Ubuntu网络环境搞定,我们可以着手安装GCC交叉编译环境,先使用:
#ln -sf /bin/bash /bin/sh
否则无法运行./arm-2009q1-203-arm-none-linux-gnueabi.bin的操作。网友指出是dash搞的鬼。
进到我们的VM TOOL共享目录:
#cd /mnt/hgfs/Ubuntu10
#chmod +x ./arm-2009q1-203-arm-none-linux-gnueabi.bin
#./arm-2009q1-203-arm-none-linux-gnueabi.bin
这时,会出现Sourcery G++的安装界面,
650) this.width=650;" height=368 onsubmit onchange onunload onselect onreset>
U-install 图-28
“Next”下去,
650) this.width=650;" height=402 onsubmit onchange onunload onselect onreset>
U-install 图-29
开始安装人家的东西,
650) this.width=650;" height=395 onsubmit onchange onunload onselect onreset>
U-install 图-30
这里建议使用Typical,
650) this.width=650;" height=377 onsubmit onchange onunload onselect onreset>
U-install 图-31
图-31开始选择安装目录,这个比较讲究,不要乱安装,因为后面安装DVSDK4.02会涉及这个目录。
650) this.width=650;" height=382 onsubmit onchange onunload onselect onreset>
U-install 图-32
在/opt的目录下,生产arm-2009q1-203的文件夹,见图-32,把Sourcery G++ Lite for ARM安装在这里,
650) this.width=650;" height=387 onsubmit onchange onunload onselect onreset>
U-install 图-33
继续下去,
650) this.width=650;" height=394 onsubmit onchange onunload onselect onreset>
U-install 图-34
图-34把刚才设置的路径生效,
650) this.width=650;" height=402 onsubmit onchange onunload onselect onreset>
U-install 图-35
图-35开始安装LINK环境(Sourcery G++的链接环境等)的路径,
650) this.width=650;" height=394 onsubmit onchange onunload onselect onreset>
U-install 图-36
我们保存到/opt/arm-2009q1-203/CodeSourcery下,
650) this.width=650;" onsubmit onchange onunload onselect onreset>
U-install 图-37
点击图-37的install按键,开始安装交叉编译工具,这个也需要一点时间。
650) this.width=650;" height=369 onsubmit onchange onunload onselect onreset>
U-install 图-38
650) this.width=650;" onsubmit onchange onunload onselect onreset>
U-install 图-39
安装包结束后,事情还没结束,开始设置root超级用户的交叉编译环境变量,
650) this.width=650;" onsubmit onchange onunload onselect onreset>
U-install 图-40
使用以下命令,编辑/root下的.bashrc文件,注意前面有个小“.”:
#cd /root
#gedit .bashrc
650) this.width=650;" onsubmit onchange onunload onselect onreset>
U-install 图-41
最后面加上:export PATH=$PATH:/opt/arm-2009q1-203/bin:,或者PATH=”/opt/arm-2009q1-203/bin:$PATH”,建议选择前者,并保存退出。
使用#source .bashrc生效,或重新退出Ubuntu的root,然后再登录root。
这样整个Sourcery G++ Lite for ARM全部搞定,这个交叉编译环境适合DM365/DM368,DM6446,DM6467,S3C2410,S3C2440,6410等ARM芯片,使用非常广泛,非常好用。
第七节、 DVSDK4_02_00_06软件开发包的安装
安装dvsdk_dm365-evm_4_02_00_06_setuplinux.bin或者dvsdk_dm368-evm_4_02_00_06_setuplinux.bin之前,一定要做:
#apt-get install fakeroot
650) this.width=650;" onsubmit onchange onunload onselect onreset>
dvsdk 图-42
否则会出现图=43的BUG。
650) this.width=650;" onsubmit onchange onunload onselect onreset>
dvsdk 图-43
安装fakeroot结束后,
#chmod a+x dvsdk_dm365-evm_4_02_00_06_setuplinux.bin
#./dvsdk_dm365-evm_4_02_00_06_setuplinux.bin
650) this.width=650;" onsubmit onchange onunload onselect onreset>
dvsdk 图-44
出现图
-44的安装界面,点击“Next”,
650) this.width=650;" onsubmit onchange onunload onselect onreset>
dvsdk 图-45
提示你定位你的
GCC交叉编译工具的路径,我们按图-45选择“/opt/arm-2009q1-203/bin”,
650) this.width=650;" onsubmit onchange onunload onselect onreset>
dvsdk 图-45
如果你的
GCC交叉编译工具安装成功,安装过程会提示你的交叉编译工具是正确的,
650) this.width=650;" onsubmit onchange onunload onselect onreset>
dvsdk 图-46
然后开始选择安装DVSDK软件包的路径,我们建议(缩小当前安装过程,再打开另一个新的Terminal)在/home/davinci/目录下,生成:
#mkdir –p dm365/dvsdk_dm365_4_02_00_06
或
#mkdir -p dm368/dvsdk_dm368_4_02_00_06
650) this.width=650;" onsubmit onchange onunload onselect onreset>
dvsdk 图-47
或者按图-47直接在安装过程中生成文件夹的方式都可以。
把dvsdk_dm365-evm_4_02_00_06_setuplinux.bin装到dvsdk_dm365_4_02_00_06,或者把dvsdk_dm368-evm_4_02_00_06_setuplinux.bin装到dvsdk_dm368_4_02_00_06里,看你开发的是DM365还是DM368,其实这个dvsdk_dm365_4_02_00_06文件夹可以命名再短点,没有规定。
650) this.width=650;" onsubmit onchange onunload onselect onreset>
dvsdk 图-48
“Next”下去,
650) this.width=650;" onsubmit onchange onunload onselect onreset>
dvsdk 图-49
这里图-49提示整个DVSDK的安装需要大概2.67G的虚拟机空间,我们继续“Next”,直到安装结束。
650) this.width=650;" onsubmit onchange onunload onselect onreset>
dvsdk 图-50
安装结束后,直接ls命令看看DVSDK4.02的面貌,这里的先不描述,我们先把环境继续搭建好,因为NFS,TFTP 两个SERVER还没动手呢。
注意DVSDK4.02里的setup.sh,见图-50,TI已经把怎样搭建NFS和TFTP server做成脚本自动升级和配置方式,可以给大家省去很多麻烦。由于里边有我们不适合使用的串口调试工具,我们决定只配置NFS和TFTP就OK了,其他可以选择安装。所以我们先编辑setup.sh文件:
650) this.width=650;" onsubmit onchange onunload onselect onreset>
dvsdk 图-51
把setup-minicom.sh和setup-uboot-evn.sh给屏蔽掉。我们的串口调试工具使用SecureCRT,这个挺好用的。还有我们不是买TI的EVM开发板,是自己设计产品,板子都没开始调试,所以我们先屏蔽setup-uboot-evn.sh,保存退出。在DVSDK的目录下,
#./setup.sh
这样就会自动升级NFS包和TFTP的包,并自动配置,TI在这个版本做得比较好,开始安装:
650) this.width=650;" onsubmit onchange onunload onselect onreset>
dvsdk 图-52
安装的过程中,提示你输入NFS的路径,本人的是:/home/davinci/dm365/dvsdk_dm365_4_02_00_06/filesystem/dm365rootfs。输入后,直接回车。因为在此之前,本人在安装完DVSDK后,自己先在/home/davinci/dm365/dvsdk_dm365_4_02_00_06/filesystem/目录下生产一个空的dm365rootfs文件夹,所以会出现U-install 图-53的提示,系统会问你这个/home/davinci/dm365/dvsdk_dm365_4_02_00_06/filesystem/路径下已经存在dm365rootfs的文件夹,
650) this.width=650;" onsubmit onchange onunload onselect onreset>
dvsdk 图-53
是否需要:
输入“r”表示重新命名,输入”o”表示覆盖dm365rootfs里边的内容,输入”s”表示跳过文件系统的文件解压,因为安装过程会把/home/davinci/dm365/dvsdk_dm365_4_02_00_06/filesystem下的dvsdk-dm365-evm-rootfs.tar.gz文件系统文件解压到dm365rootfs里。本人直接输入”o”。如果之前没有使用#mkdir dm365rootfs,那就不会有这样的提示,按照图-52输入完路径,直接回车就自动安装下去。
650) this.width=650;" onsubmit onchange onunload onselect onreset>
dvsdk 图-54
然后安装过程继续提示你是否生产/tftpboot的目录,如果没有,这里会自动帮你生产/tftpboot目录,这个就是TFTP SERVER的目录,专门存放 UBL, U-BOOT,KERNEL等的烧写BIN文件的地方。这一步结束后,NFS和TFTP SERVER都自动搭建好了。
650) this.width=650;" onsubmit onchange onunload onselect onreset>
dvsdk 图-55
最后,到/home/davinci/dm365/dvsdk_dm365_4_02_00_06/psp的目录下看看,这里有UBL(在flash-utils里),u-boot-2010.12-psp-xxxxxxx,linux-2.6.32.17-psp-xxxxxxx和linux-driver-examples的源码,这个U-BOOT和内核的源码文件夹太长,我们使用mv命令改为:u-boot-2010.12和linux-2.6.32.17。然后按图-55在/home/davinci/dm365/dvsdk_dm365_4_02_00_06目录下#gedit Rules.make文件,修改内核linux-2.6.32.17的路径,不要使用默认长长的文件夹路径;同时检查交叉编译工具的路径是否和你前面的安装路径对应。
CSTOOL_DIR=/opt/arm-2009q1-203
CSTOOL_PREFIX=$(CSTOOL_DIR)/bin/arm-none-linux-gnueabi-
保存退出后,编译DVSDK里边的元素之前,在/home/davinci/dm365/dvsdk_dm365_4_02_00_06的目录下,必须做如下命令,就是使交叉编译环境生效:
#source linux-devkit/environment-setup
基本大功告成。
检验交叉编译工具GCC是否好用:
在/home/davinci/dm365/dvsdk_dm365_4_02_00_06目录下:
#make u-boot_clean
#make-u-boot
看看u-boot是否可以编译过去。
如果按照上面的安装,基本没什么问题。
至于如何编译内核和u-boot等,请gedit /home/davinci/dm365/dvsdk_dm365_4_02_00_06目录下的Makefile文件看看。