除UBL编译外,以下操作均在Ubuntu 10.4 LTS操作系统下进行(主要是TIDVSDK要求在此版本下)
1源文件安装
解压IPNC_RDK_DM36x_Release_4.0.0.zip
根据解压出来的UserGuide_IPNC_RDK_DM36x_Version4.0.0.pdf一步一步解压相关文件,解压完成后,目录结构如下图所示。
2环境配置
2.1tftp服务器配置
2.1.1安装相关软件包
sudoapt-get install tftpd(服务端)
sudoapt-get install tftp(客户端)
sudoapt-get install xinetd
2.1.2建立配置文件
cd/etc/xinetd.d/
sudo gedittftp
输入
servicetftp
{
socket_type= dgram
protocol= udp
wait =yes
user =root
server= /usr/sbin/in.tftpd
server_args= -s【解压路径】/Release/Source/ipnc_rdk/tftp
disable= no
per_source =11
cps =100 2
flags= IPv4
}
注:这里最好将ftfp目录设置为【解压路径】/Release/Source/ipnc_rdk/tftp,如果不是该目录,需要修改配置文件Rules.make中
TFTP_HOME := $(IPNC_BASE_DIR)/tftp
为你自己配置的目录。
存盘退出
2.1.3重新启动ftfp服务器
sudo/etc/init.d/xinetd restart
2.1.4tftp测试
在tftp目录下随便放个文件abc,随便输入点内容,
然后在linux终端运行tftp192.168.0.XXX进入tftp命令行
输入get abc看看是不是能把文件下下来,如果可以说明配置OK.
2.2 NFS服务器配置
2.2.1配置portmap
sudodpkg-reconfigure portmap, 对Shouldportmap be bound to the loopback address?选N
sudo gedit/etc/default/portmap末行 OPTIONS=”-i127.0.0.1″改为OPTIONS=,即删除”-i127.0.0.1″
2.2.2配置hosts.deny为阻止所有链接
sudo gedit/etc/hosts.deny
文本末添加
### NFSDAEMONS
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
2.2.3配置hosts.allow添加允许链接的ip地址
sudo gedit/etc/hosts.allow
文本末加入
### NFSDAEMONS
portmap:192.168.0.
lockd:192.168.0.
rquotad:192.168.0.
mountd:192.168.0.
statd:192.168.0.
2.2.4重启portmap daemon
sudo/etc/init.d/portmap restart
2.2.5配置NFS路径
安装nfs服务器
sudoapt-get install nfs-kernel-server
配置
sudo gedit/etc/exports
添加nfs路径:
解压路径/Release/Source/ipnc_rdk/target/filesys192.168.0.1/24(rw,no_root_squash,no_all_squash,sync,subtree_check)
使用命令sudoshowmount -e查看nfs导出目录
显示 clnt-create : RPC :Program not registered
sudoexportfs -va使exports文件生效
sudoexportfs -r更新
sudoshowmount 192.168.0.46 -e
显示
Export list for 192.168.0.46:
/nfsboot/filesys 192.168.0.*
2.2.6重启NFS服务器
sudo/etc/init.d/portmap restart
sudo/etc/init.d/nfs-kernel-server restart
2.2.7防火墙开放所有端口
请用如下命令暂时开放所有端口
sudoiptables -P INPUT ACCEPT
sudoiptables -P OUTPUT ACCEPT
或使用下列命令关闭防火墙
sudoiptables -F
2.2.8NFS测试
使用命令
sudomount -t nfs 127.0.0.1:【解压路径】Release/Source/ipnc_rdk/target/filesys
在本地挂载nfs目录,如果没有错误,表示NFS已OK.
2.3修改配置文件Rules.make
打开【安装路径】/Release/Source/ipnc_rdk/Rules.make文件。
修改
IPNC_INSTALL_DIR:= $(shell pwd)/..
为
IPNC_INSTALL_DIR:=【解压路径】/Release/Source
如果不修改,编译boa时会报错。
根据具体开发环境修改
#SYSTEM :=EVM
SYSTEM :=IPNC
#IPNC_PLATFORM:= DM365
IPNC_PLATFORM:= DM368
#FILESYS_MODE:= NFS
FILESYS_MODE:= NAND
如果tftp目录不是【解压路径】/Release/Source/ipnc_rdk/tftp,
修改
TFTP_HOME := $(IPNC_BASE_DIR)/tftp
为
TFTP_HOME :=你的tftp目录
2.4 BUG修正
BUG1:环境配置错误,编译内核错误:提示driver/char.o无规则编译,编译应用程序错误:提示cmem.h头文件找不到。
对应解决方案:
在Release/Source/dvsdk_ipnctools/linuxutils_2_26_02_05/packages/ti/sdo/linuxutils/cmem/文件夹下新建include文件夹,并将
Release/Source/dvsdk_ipnctools/linuxutils_2_26_02_05/packages/ti/sdo/linuxutils/cmem/src/interface/文件夹下cmem.h文件复制到include文件夹中
2.5安装编译时所需的第三方库/工具
2.5.1安装内核配置menuconfig时需要关联的软件
sudoapt-get install libncurses5-dev
2.5.2安装uboot-mkimage,用于生成uImage
sudoapt-get install uboot-mkimage
2.5.3安装lzo-dev(是一种压缩算法库,生成/制作UBIFS文件系统所需)
sudoapt-get install liblzo2-dev
2.5.4安装zlib库(生成/制作UBIFS文件系统所需,默认已经和内核一起安装)
sudoapt-get install zlib1g-dev
2.5.5安装libuuid.a(生成/制作UBIFS文件系统所需)
下载external-e2fsprogs.tar.gz 1.40版本
FTP地址:ftp://www.linuxidc.com
用户名:www.linuxidc.com
密码:www.muu.cc
在 2012年LinuxIDC.com\8月\Appro DM368x IPNC 4.0 开发环境配置
mkdire2fsprogs
tar-zxvf external-e2fsprogs.tar.gz -C ./e2fsprogs/
cde2fsprogs
./configure–prefix=XXXXXXX/build注:这里一定不要(千万不要)使用默认到安装目录,否则,一不小心使用makeinstall安装时可能导致系统不能启动(fstab里面是使用磁盘uuid标示磁盘,这里可能是改变了读取uuid的方式,所以导致有些分区挂在不上)
make
这里不要使用makeinstall安装软件
sudocp lib/libuuid.a /lib
2.6 交叉编译工具链设置
打开 ~/.bashrc文件,
cd~
gedit.bashrc
添加交叉编译工具路径至环境变量,即在文本末尾追加:
exportPATH=【解压路径】/Release/Source/dvsdk_ipnctools/linux-devkit/bin:$PATH
保存退出,运行:
source.bashrc
使环境变量生效
2.7 UBL编译
UBL在windows下使用CCS进行编译,编译前请将【解压路径】/Release/Utils/flash_utils_dm36x文件夹复制到windows目录。
2.7.1CCS3.3安装
UBL必须使用CCS进行编译,CCS3.3.38下载地址点击这里,要将CCS3.3.38升级到3.3.82,需要下载升级文件(SR12_CCS_v3.3_SR_3.3.82.13.exe),升级文件下载地址点击这里,升级时会选择已经安装的ActivePerl5.x版本(ActivePerl5.8可在Google/Baidu搜索ActivePerl-5.8.8.822-MSWin32-x86-280952.zip下载,见 http://www.linuxidc.com/Linux/2012-08/67330p2.htm),升级完成后,还要升级ARMcgtools到4.5版本,ARMcgtools下载地址点击这里(可下载ti_cgt_tms470_4.5.2_setup_win32.exe,该版本测试通过)。
安装完成后,Change the ARMcgtools used in CCS.
a.There are two ways to open Component Manager.
InCCS, pls select Help->About…, then a new window appears. Plsclick Component Manager. Then you will see the Code Composer StudioComponent Manager window.
Oryou can go to /CCS install folder/cc/bin. Pls run comp_mgr.exe. Thenyou will also see the Component Manager window.
b. Plsclick ‘+’ of Build Tools, then ‘+’ of TMS470R2x, then you will seeall CCS ARM cgtools you installed on the PC. Select the version youneed, such as V4.5.0. (TMS470R1x is for ARM7 and TMS470R2x is forARM9.)
c. Closethe Code Composer Studio Component Manager window. You will see awarning window “This configuration change requires Code ComposerStudio to be restarted.. Pls save your work and restart Code ComposerStudio before proceeding.”. Read it and click ok.
d. TheComponent Manager will ask “Do you want to save changes?”.Pls select Yes.
设置完成后,Restartthe CCS to let the new setting effect. Then build the ubl projectwith new ARM cgtools。
2.7.2CCS3.3编译UBL
UBL源码位于【解压路径】/Release/Utils/flash_utils_dm36x目录下,DM368IPNC CCS工程文件位于该目录下DM36x/CCS/UBL/UBL_IPNC368_432arm_340ddr.pjt。
启动CCS3.3,首次启动时要求配置目标板类型,如图2.7.1所示。这里我们顺便把硬件环境配置好,点击【是】按钮,进入到图2.7.2所示界面。板子类型选择【DM6446XDS560 Emulator with ICEPICK_C】,单击【】按钮添加到左边MySystem树控件下,右键点击MySystem树控件下DM6446XDS560 Emulator选择【属性】菜单项,如图2.7.3所示,在弹出来的ConnectionProperties对话框中,选择ConnectionProperties选项卡。修改JTAGTCLK Frequency的值为Automaticwith legacy 10.368MHz limit,将TMS/TDOOutput Timing选择Fallingedge is JTAG standard。点击【Save& Quit】按钮退出配置对话框,退出时CCS会提示是否启动CCSStudio,选择【是】按钮启动CCS。
图2.7.1
图2.7.2
图2.7.3
进入CCS后(注:如果没有链接仿真器,将不能启动CCS),如图2.7.4所示,右键【ARM9_0】树控件项,选择【Open】菜单项,在弹出对话框左侧右键【Projects】树控件项,选择【OpenProject…]菜单,选择DM368IPNCCCS工程文件,点击编译按钮即可编译,如图2.7.5所示,编译完成后,烧写文件位于flash_utils_dm36x/DM36x/CCS/UBL/下(注意:不是在flash_utils_dm36x/DM36x/CCS/UBL/NAND下)。
图2.7.4
图2.7.5
2.7.3CCS通过SEED XDS 560Plus链接目标板DM368
连接前,请确保SEEDXDS 560 Plus驱动已经正确安装,驱动程序可在合众达主页(www.seeddsp.com)去找。
点击桌面SetupCCStudio v3.3快捷方式图标,如下图。
图2.7.6
按照如下图选择,将DM6446SEEDXDS560 Emulator导入MySystem
图2.7.7
右键点击DM6446XDS560 Emulator选择属性,如下图显示
图2.7.8
在弹出来的ConnectionProperties对话框中,选择ConnectionProperties选项卡。修改JTAGTCLK Frequency的值为Automaticwith legacy 10.368MHz limit,将TMS/TDOOutput Timing 选择Fallingedge is JTAG standard。
图2.7.9
点击左侧下方的Save& Quit,选择启动CCStudiov3.3程序;启动CCStudiov3.3,出现如下界面;
图2.7.10
右键单击ARM9_0打开
图2.7.11
添加arm的GEL文件(GEL文件位于:【解压路径】/Release/Utils/gel_dm36x/gel_ipnc_dm36x_1.0.0.gel)后(Alt+C)连接;
图2.7.12
2.7.4CCS通过SEEDXDS 560 Plus烧写UBL、UBOOT到目标板DM368
通过2.7.3链接上目标板后,点击CCSFile菜单,如图2.7.13所示,选择【LoadProgram】菜单,加载nandwriter_ipnc_dm368.out文件(路径为:【解压路径】/Release/Binaries/dm368/nandwriter_ipnc_dm368.out),点击菜单Debug->Run(或按F5)运行程序,其后步骤,请参看UserGuide_IPNC_RDK_DM36x_Version4.0.0.pdf文档。
图2.7.13
2.8U-BOOT编译
2.8.1使用原配置文件进行编译
切换到【解压目录】/Release/Source/ipnc_rdk下使用下列命令编译安装:
makeubootclean
makeuboot
编译完成后,会自动将uboot_xxxx.bin文件复制到【解压目录】/Release/Source/ipnc_rdk/Rules.make文件中
TFTP_HOME所标示的tftp目录下。
2.8.2手动编译
切换到【解压路径】/Release/Source/dvsdk_ipnctools/ipnc_psp_03_21_00_04/u-boot目录下
使用下列命令编译uboot:
makeARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- distclean
makeARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi-davinci_dm368_ipnc_config
makeARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi-
编译完成后,请手动将uboot_xxxx.bin复制到相应目录。
2.9内核编译
2.9.1手动编译
切换到【解压路径】/Release/Source/dvsdk_ipnctools/ipnc_psp_03_21_00_04/ti-davinci目录,使用命令:
makeARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- distclean
makeARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- clean
清空源配置文件和原编译文件;
使用下列命令之一复制默认的配置文件:
makeARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi-davinci_dm368_ipnc_defconfig
makeARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi-davinci_dm368_ipnc_defconfig_nand
makeARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi-davinci_dm368_ipnc_defconfig_nfs
使用下列命令修改配置:
makeARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- menuconfig
使用下列命令进行内核编译:
makeARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- uImage
编译时,如果提示无规则生成csl.o/ drv.o / edmak.o / irqk.o / dm365mmap.o / cmemk.o,请将编译好的csl.o& drv.o & edmak.o & irqk.o & dm365mmap.o &cmemk.o文件复制到【解压路径】Release/Source/dvsdk_ipnctools/ipnc_psp_03_21_00_04/ti-davinci/drivers/char/目录下,这些文件请到【解压路径】/Release/Source/dvsdk_ipnctools/linuxutils_2_26_02_05/packages/ti/sdo/linuxutils/目录和【解压路径】/Release/Source/dvsdk_ipnctools/dm365mm-module_01_00_03/module/目录和【解压路径】/Release/Source/ipnc_rdk/av_capture/framework/目录去找。
编译完成后,内核文件uImage在【解压路径】/Release/Source/dvsdk_ipnctools/ipnc_psp_03_21_00_04/ti-davinci/arch/arm/boot下。
2.9.2使用原配置进行编译
方法一:
切换到【解压目录】/Release/Source/ipnc_rdk下使用下列命令编译安装:
makelsp
编译完成后,会自动将uImage_xxxx文件复制到【解压目录】/Release/Source/ipnc_rdk/Rules.make文件中
TFTP_HOME所标示的tftp目录下。
方法二:
切换到【解压目录】/Release/Source/dvsdk_ipnctools目录下,
使用下面命令进行linux配置
makelinuxconfig
使用下面命令进行编译
makelinux
编译后,内核文件uImage在【解压路径】/Release/Source/dvsdk_ipnctools/ipnc_psp_03_21_00_04/ti-davinci/arch/arm/boot下。
2.10ubifs文件系统制作
切换到【解压目录】/Release/Source/ipnc_rdk下使用下列命令编译安装:
makeubifs
编译完成后,会自动将xxxx_ubifs文件复制到【解压目录】/Release/Source/ipnc_rdk/Rules.make文件中
TFTP_HOME所标示的tftp目录下。
2.11SceureCRT安装破解
由于SceureCRT是跨平台的,可在windows和linux下运行,因此串口调试设备时,通常选用SceureCRT作为调试工具。
2.11.1安装
点击这里下载Ubuntu 10.x安装包,安装很简单,直接双击下载下来的deb文件即可完成安装,安装后在【应用程序】->【互联网】下有SceureCRT的快捷方式。下载需要注册,按照提示注册一个账户即可。
2.11.3破解
方法1:(此种方法貌似不能使用串口)
1.运行SecureCRT,输入License
SecureCRT6.7.*License 注册码 序列号
Name:Sherrill Ray
Company:
Serial Number:03-40-084141
LicenseKey: ABWGUE ZPPZ6X XHTN2S 1N7PER AB39ZJ PX3312 WS6BZF GHN2ET
IssueDate: 10-26-2002
==================
Name: Richard PMerrell
Company:
Serial Number: 03-41-000899
License key:AD84V4 B3SYMS HEC6JM 1JNFH8 AAEBCS FNY2PK AT3S6M 4ZYQFB
IssueDate:09-02-2003
注册完成后,会在用户目录/.vandyke/Config下生成一个SecureCRT.lic的文件。
2.SecureCRT破解
再次运行SecureCRT,如果仍然提示30天后过期的话,执行该命令
cd~/.vandyke/Config
cpSecureCRT.lic SecureCRT_eval.lic
方法2:
30天到期后,删除用户目录/.vandyke/Config下的SecureCRT_eval.lic文件后可恢复30天试用。