安装DM355工具链,网友整理,比较完整

本文的英文版是:DM355EVM_GetStartGuide_spruf73a.pdf   的有关章节,热心的网友把它整理成中文了。

按装会有以下三种提示符:

1.host $ 主机命令SHELL窗口提示符

2.EVM #  输入命令到 U-Boot shell窗口,通过串口与目标板通信

3.target $输入命令到 Linux shell窗口,通过串口与目标板通信

 

一. 从原版CD拷贝

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

 

 

二. 正式安装

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 重新输出所有目录。

  ubuntu 9.10没有安装NFS需要从网上下载

 七.测试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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值