除UBL编译外,以下操作均在Ubuntu 10.4LTS操作系统下进行(主要是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配置portmapsudodpkg-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 daemonsudo/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,用于生成uImagesudoapt-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文件系统所需)http://jaist.dl./project/backflip.motorola/BACKFLIP%20ME600%20PRC/MotusGC_N_00.00.34R/external-e2fsprogs.tar.gz下载external-e2fsprogs.tar.gz1.40版本 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下载地址?http://www./lit/ml/sprc119d/sprc119d.zip,要将CCS3.3.38升级到3.3.82,需要下载升级文件(SR12_CCS_v3.3_SR_3.3.82.13.exe),升级文件下载地址http://processors.wiki./index.php/DM365_NAND_Flashing_of_UBL/UBOOT_using_Code_Composer_Studio_3.x,升级时会选择已经安装的ActivePerl5.x版本(ActivePerl5.8可在Google/Baidu搜索ActivePerl-5.8.8.822-MSWin32-x86-280952.zip下载,这里给个链接,http://ishare.iask.sina.com.cn/f/24449192.html?from=dl,但不保证随时可下载),升级完成后,还要升级ARMcgtools到4.5版本,ARMcgtools下载地址https://www-a./downloads/sds_support/CodeGenerationTools.htm(可下载ti_cgt_tms470_4.5.2_setup_win32.exe,该版本测试通过)。 安装完成后,Change the ARMcgtools used in CCS. a.There are two ways to open Component Manager.
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编译UBLUBL源码位于【解压路径】/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】,单击【<<Add】按钮添加到左边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.)去找。 点击桌面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安装http://www./download/securecrt/download.html下载ubuntu10.x安装包,安装很简单,直接双击下载下来的deb文件即可完成安装,安装后在【应用程序】->【互联网】下有SceureCRT的快捷方式。下载需要注册,按照提示注册一个账户即可。 2.11.3破解方法1:(此种方法貌似不能使用串口) 1.运行SecureCRT,输入License ================== Name: Richard PMerrell 方法2: 30天到期后,删除用户目录/.vandyke/Config下的SecureCRT_eval.lic文件后可恢复30天试用 |
|
来自: champtek > 《Appro DM36x》