2009年8月24日星期一

DM355 DVEVM软件安装

安装会有以下三种提示符:
1.host $ 主机命令SHELL窗口提示符
2.EVM # 输入命令到 U-Boot shell窗口,通过串口与目标板通信
3.target $输入命令到 Linux shell窗口,通过串口与目标板通信
一.
COPY以下文件到电脑上一个tmp临时目录下,需1.2G空间以上
❏ mvl_4_0_1_demo_sys_setuplinux.bin
❏ mvl_4_0_1_demo_target_setuplinux.bin
❏ lsp_DM355_setuplinux_#_##_##_##.bin
❏ dvsdk_DM355_setuplinux_#_##_##_##.bin
❏ xdc_setuplinux_#_##_##_##.bin
确保有一个X graphical display,可通过DISPLAY环境变量来设置
csh:
host $ setenv DISPLAY cnabc0314159d1:0
ksh or bash:
host $ export DISPLAY=cnabc0314159d1:0
二.
正式安装
1.以ROOT身份登录LINUX主机,这样可运行X graphical installer还安装MontaVista
Linux.
进入以上的tmp下执行以下命令:
host $ ./mvl_4_0_1_demo_sys_setuplinux.bin
host $ ./mvl_4_0_1_demo_target_setuplinux.bin
host $ ./lsp_DM355_setuplinux_#_##_##_##.bin
以上可能需花几分钟
(注:若不能执行可运行chmod +x *.bin,更改文件属性为可执行文件)
建议不要安装在默认目录,如可选/opt/mv_pro_4.0.1
执行以上命令后在/opt/_4.mv_pro0.1下出现以下三个文件
■ mvltools4.0.1-no-target.tar.gz
■ mvl4.0.1-target_path.tar.gz
■ DaVinciLSP-#_#_#_#.tar.gz
三.
进入/opt/_4.mv_pro0.1执行:
host $ cd /opt/mv_pro_4.0.1
而后用以下命令解压缩
host $ tar zxf mvltools4.0.1-no-target.tar.gz
host $ tar zxf mvl4.0.1-target_path.tar.gz
host $ tar zxf DaVinciLSP-#_#_#_#.tar.gz
以上会创建以下目录
/opt/mv_pro_4.0.1/montavista/ directory
四.安装DVSDK software
DVSDK software包括 Codec Engine components, sample data files, xDAIS
and xDM header files, and a contiguous memory allocator for Linux (CMEM).
以USER帐号登录,以下参考用户家(HOME)目录"~"
host $ cd /tmp(进入最开始临时目录)
host $ ./dvsdk_DM355_setuplinux_#_##_##_##.bin
不要安装在默认目录下,安装在USER家目录下,如/home/<useracct>
host $ cd /tmp
host $ ./xdc_setuplinux_#_##_##_##.bin
到此为止,可以删除COPY到TMP下的文件了.
注:可用rm -rf来移除以上所安装元件.
五.安装AV 数据光盘
host $ cd ~/dvsdk_1_xx
host $ cp /mnt/cdrom/data.tar.gz . (注: 点.表示当前目录)
host $ tar xfz data.tar.gz
六.按NFS (NETWORK FILE SYYSTEM)
1.以USER 进入
host $ cd ~
host $ mkdir -p workdir/filesys
host $ cd workdir/filesys
2.切换到root
host $ su root
3.进入之前安装目录 (useracct: user account,用户帐号名称)
host $ cp -a
/opt/mv_pro_4.U0.1/montavista/pro/devkit/arm/v5t_le/target/* .
host $ chown -R <useracct> opt (改变属性)
4.编辑/etc/exports输出文件,在文件系统区域加入以下行:(不要用~,用全路径)
/home/<useracct>/workdir/filesys *(rw,no_root_squash,no_all_squash,sync)
5.仍然是ROOT ,用下命令让NFS SERVER知道配置的改变及启动一NFS restart.
host $ /usr/sbin/exportfs -a
host $ /sbin/service nfs restart
注:可以用-ra 重新输出所有目录。
七.测试NFS SETUP
1.取得主机IP地址
host $ /sbin/ifconfig
2.打开一个RS232终端窗口(WINDOW 下用HyperTerminal,LINUX下用Minicom)
3.打开EVM电源,不要自动引导,设置以下变量:
EVM # setenv nfshost <ip address of nfs host>
EVM # setenv rootpath <directory to mount>
EVM # setenv bootargs console=ttyS0,115200n8 \
noinitrd rw ip=dhcp root=/dev/nfs \
nfsroot=$(nfshost):$(rootpath),nolock mem=116M
此directory to
mount必须是以上步骤六.4中的目录,如/home/<useracct>/workdir/filesys
4.保存变量,就不用每次EVM上电时重新设置
EVM # saveenv
5.用NFS 来BOOT EVM
EVM # boot
6.设置BOOT时的视频制式PAL/NTSC
设置J1跳线,即设置U-BOOT下的Videostd 环境变量
八.设置bootargs,bootcmd给核心,以及VPBE用
bootargs=`console=ttyS0,115200n8 ip=dhcp \
root=/dev/mtdblock3 rw rootfstype=yaffs2 mem=116M`
bootcmd=`setenv setboot setenv bootargs \$(bootargs) \
video=dm64xxfb:output=\$(videostd);run setboot;bootm \
0x80700000`
以上为NTSC,PAL需修改
九.安装DM355
DVSDK时会有以下附件,但只是DEMO版,若要正式产品可到http://www.ti.com/dvevmupdates
下式带正版授权的版本
❏ Sequential JPEG Decoder
❏ JPEG Sequential Encoder
❏ MPEG4 Restricted Simple Profile Decoder
❏ MPEG4 Simple Profile Encoder
十.设置BUILD及开发环境
以USER帐号进入NFS 文件系统,设置PATH变量,以便MontaVista tool chain host
tools and cross
compiler (arm_v5t_le-gcc)可以找到,比如对于MontaVista
LSP,如是安装在上面的/opt/mv_pro_4.0.1下(默认)则需在SHELL RESOURCE
FILE下(如~/.bashrc)增加一定义就可,如不在默认目录,则~/.bashrc中修改:
PATH="/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin:
/opt/mv_pro_4.0.1/montavista/pro/bin:
/opt/mv_pro_4.0.1/montavista/common/bin:$PATH"
修改后用以下命令使其在当前环境下即时起作用
host $ source .bashrc
十一.当有输出NFS文件系统及建立以下环境后,就可以实现一简单例子了
以USER进入NFS主机系统,执行以下
1) host $ mkdir ~/workdir/filesys/opt/hello
2) host $ cd ~/workdir/filesys/opt/hello
3)创建hello.c文件
#include <stdio.h>
int main() {
printf("Buongiorno DaVinci!\n");
return 0;
}
4)host $ arm_v5t_le-gcc hello.c -o hello
进入目标板系统(如上面建立的串口通信),执行以下
1) target $ cd /opt/hello
2) Run ./hello. The output should be:
Buongiorno DaVinci!
十二. BUILD构建一新的LINUX内核
如果有修改LINUX内核源码,则需重新BUILD内核,而后再启动,可以直接覆盖原来NAND
FLASH中的,或以U-BOOT方式,用TFTP连接到网络来启动.
需确保在你的路径中有以下工具
PATH="/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin:
/opt/mv_pro_4.0.1/montavista/pro/bin:$PATH"
REBUILD LINUX内核
1.user进入
2.在家目录下建一MontaVista Linux Support Package (LSP)工作目录,COPY
embedded Linux 2.6.10 kernel及DaVinci drivers到此目录
host $ cd ~
host $ mkdir -p workdir/lsp
host $ cd workdir/lsp
host $ cp -R /opt/mv_pro_4.0.1/montavista/pro/devkit/lsp/ti-davinci .
3.配置内核
host $ cd ti-davinci
host $ make ARCH=arm CROSS_COMPILE=arm_v5t_le-
davinci_dm355_evm_defconfig
变量CROSS_COMPLIE用来定义一可执行的前缀(在编译期间)
修改内核时,可能要用到make menuconfig'命令,可参考MontaVista文档。
4.能动内核默认选项:
host $ make ARCH=arm CROSS_COMPILE=arm_v5t_le- checksetconfig
5.编绎内核:
host $ make ARCH=arm CROSS_COMPILE=arm_v5t_le- uImage
6。COPY UIMAGE-DM355到一目录,此目录可以U-Boot can use TFTP to download
it to the EVM.
host $ cp ~/workdir/lsp/ti_davinci/arch/arm/boot/uImage
/tftpboot/uImage-dm355
host $ chmod a+r /tftpboot/uImage-dm355
十三。重建DVEVM软件。
1.CD ~/dvsdk_#_##.
2.EDIT ~/dvsdk_#_##/Rules.make file
DVSDK_INSTALL_DIR=/home/<useracct>/dvsdk_#_##
EXEC_DIR=/home/<useracct>/workdir/filesys/opt/dvsdk
LINUXKERNEL_INSTALL_DIR=/home/<useracct>/workdir/lsp/ti-davinci
3.host $ make
host $ make install
十四。启动新的内核
1.打开EVM电源,不要自动BOOT
EVM # setenv bootcmd 'dhcp;bootm'
EVM # setenv serverip <tftp server ip address>
EVM # setenv bootfile uImage-dm355
EVM # setenv bootargs 'mem=116M console=ttyS0,115200n8
root=/dev/mtdblock3 rw rootfstype=yaffs2 ip=dhcp'
测试TFTP server有否安装
host $ rpm -q tftp-server
如没有,则安装TFTP
host $ rpm -ivh /db/ztree/useracct/tftp-server-#.##-#.rpm
测试TFTP安装否,用以下命令
host $ /sbin/chkconfig --list | grep tftp
打开TFTP
/sbin/chkconfig tftp on
注:The default root location for servicing TFTP files is /tftpboot
加载CMEM and accelerator kernel modules.
Target $ ./loadmodules.sh
运行:
Target $ ./encodedecode [options]
Options:
❏ -r | --resolution
Resolution of demo. Specify width x height. For example: -r 720x480
❏ -t | --time
Number of seconds to run the demo. By default, there is no time limit.
❏ -i | --interface
If used, causes the main demo interface to launch when this demo
exits. By default, this is off.
❏ -b | --bitrate
Specify the bit rate at which video should be encoded.
❏ -x
Select S-Video input format.
❏ -h | --help
Print this help message.
附录 A
**启动方式:
❏ TFTP boot with NAND flash file system (Section A.3.2)
❏ Flash boot with NFS file system (Section A.3.3)
❏ TFTP boot with NFS file system (Section A.3.4)
1.不以自动BOOT方式进入
2.按下列方式设置以下变量
3.保存 EVM # saveenv
4.启动 EVM # boot
* Booting from Flash Using Board's NAND Flash File System
EVM # setenv bootcmd 'nboot 0x80700000 0 0x400000;bootm'
EVM # setenv bootargs 'console=ttyS0,115200n8 ip=dhcp
root=/dev/mtdblock3 rw rootfstype=yaffs2 mem=116M'
* Booting via TFTP Using Board's NAND Flash File System
EVM # setenv bootcmd 'dhcp;bootm'
EVM # setenv bootargs 'mem=116M console=ttyS0,115200n8
root=/dev/mtdblock3 rw rootfstype=yaffs2 ip=dhcp'
EVM # setenv serverip <tftp server ip address>
EVM # setenv bootfile uImage-dm355
* Booting from Flash Using NFS File System
EVM # setenv bootcmd 'nboot 0x80700000 0 0x400000;bootm'
EVM # setenv nfshost <ip addr of nfs host>
EVM # setenv rootpath <directory to mount>
EVM # setenv bootargs 'console=ttyS0,115200n8 noinitrd rw
ip=dhcp root=/dev/nfs
nfsroot=$(nfshost):$(rootpath),nolock mem=116M'
* Booting via TFTP Using NFS File System
EVM # setenv bootcmd 'dhcp;bootm'
EVM # setenv serverip <ip addr of tftp server>
EVM # setenv bootfile <name of kernel image>
EVM # setenv rootpath <root directory to mount>
EVM # setenv nfshost <ip addr of nfs host>
EVM # setenv bootargs 'console=ttyS0,115200n8 noinitrd rw
ip=dhcp root=/dev/nfs nfsroot=$(nfshost):$(rootpath),nolock
mem=116M'
**Updating/Restoring the Bootloaders
BOOT过程
EVM board RESET后 ROM bootloader (RBL)运行,初始化板及从NAND flash
memory加载UBL (User Bootloader)到内存,接着UBL从NAND flash
memory加载U-Boot bootloader,U-Boot bootloader负责加载及启动LINUX 内核。
因此有两个IMGAE(映像)储存在NAND FLASH:UBL and U-Boot
如果U-BOOT在FLASH中未动过,可用它自已更新,如工作的U-Boot (or UBL)
images不在FLASH,可用CCSUDIO及emulator.恢复。
在DVSDK的安装目录下有UBL, U-Boot, and the NAND
programmer,典型位置是/home/<useracct>/dvsdk_#_##/PSP_#_#_#_#/board_utilities.
升级Updating U-Boot Using U-Boot
1.分配静态IP 给EVM BOARD :EVM # setenv ipaddr <static IP address>
分配动态IP :EVM # dhcp
EVM # setenv ipaddr <IP address returned by
dhcp>
2.TFTP SERVER IP :EVM # setenv serverip <TFTP server IP address>
3.保存EVM # saveenv
4.Load
U-Boot。需指定内核文件名(通常在/TFTP下)及目的地址(DDR),可任意选择
EVM # tftp 80800000 <u-boot file name>
如操作成功,有以下信息
EVM # tftp 80800000 u-boot-1.2.0-dm355_evm.bin
TFTP from server <IP addr>; our IP address is <IP addr>
Filename 'u-boot-1.2.0-dm355_evm.bin'.
Load address: 0x80800000
Loading: #########################
done
Bytes transferred = 127340 (1f16c hex)
5.撺除以前的U-BOOT(位于0x00200000)
EVM # nand erase 180000 20000
6.写新U-BOOT
EVM # nand write 80800000 180000 20000
7.EVM RESET后,可以通过串口终端显示U-BOOT是否成功工作。
** Updating UBL and U-Boot Bootloaders Using an Emulator and CCStudio
如UBL and U-Boot 不在FLASH中,则需用CCSUDIO及仿真器加载
1.提取NAND programmer
utilities,在DVSDK安装目录下,一般为/home/<useracct>/dvsdk_#_##/PSP_#_#_#_#/board_utilities.放到PC上,此PC要装有CCSUDIO3.3以上及
XDS560 or XDS510 emulator.
2.设置 CCStudio以连接到板上,用CCStudio Setup and the DM355 GEL files设置
3.连接emulator到板上,开EVM电源
4.开启CCStudio and connect to the device (Alt+C).
5.program NAND_programmer.out and run it (F5).
6. Enter the UBL path name and file name (ublDM355-nand.bin) in the
dialog box.
7.Enter the U-Boot path name and file name (uboot-1.2.0-dm355.bin)
in the dialog box.
8.Cycle power on the EVM board and press any key on the EVM's
monitor window to get the U-Boot prompt
**Restoring the NAND Flash Using NFS
恢复DVSDK NAND flash memory内容,包括内核及文件系统各demo application
software.
DVSDK NAND image文件在DVSDK CD中有,为"dm355_flash_image_#_##_##_##.tar"
Linux kernel (uImage-dm355)通常在/tftp下,通过TFTP加载
1.分配静态IP 给EVM BOARD :EVM # setenv ipaddr <static IP address>
分配动态IP :EVM # dhcp
EVM # setenv ipaddr <IP address returned by
dhcp>
2.加载内核IMAGE
EVM # tftp 80700000 uImage-dm355
EVM # nand erase 400000 200000
EVM # nand write 0x80700000 0x400000 0x200000
3.用NFS移值YAFFS2 image(dm355_flash_image_#_##_##_##.tar), YAFFS2
image在NFS Server root directory旁边
1)COPY dm355_flash_image_#_##_##_##.tar到NFS mounted root
directory(通常为/home/<useracct>/workdir/filesys)
2)EVM # setenv bootcmd 'nboot 0x80700000 0 0x400000; bootm'
EVM # setenv bootargs 'console=ttyS0,115200n8 noinitrd
ip=dhcp root=/dev/nfs rw nfsroot=<nfs_host_ip>:<nfs_root_path> mem=116M'
注:以上变量不需保存,因为NFS只是一个临时文件系统
3)用BOOT启动内核
4)EVM # mkdir /mnt/nand
EVM # flash_eraseall /dev/mtd3
EVM # mount -t yaffs2 /dev/mtdblock3 /mnt/nand/
EVM # cd /mnt/nand
EVM # tar xf /dm355_flash_image_#_##_##_##.tar
EVM # cd
EVM # umount /mnt/nand
EVM # reboot

没有评论: