SEED-DVS6446 FAQs归纳整理

来源:互联网 发布:无线淘宝收藏链接 编辑:程序博客网 时间:2024/06/05 18:51

#################################################################################################

SEED-DVS6446配置、硬件/软件版本:

Q:SEED-DVS6446硬件经历了几个版本,其区别分别是什么?

A:SEED-DVS6446硬件有2个版本,主要是DDR2容量大小区别,最早期为256MB DDR2,目前版本为128MB DDR2,DDR2容量不同会导致配套的软件不同。所以要注意配套软件的正确使用。合众达公司前期生产的256MB的DVS6446的板卡序列号为:5537074080300001到5537074080300173,一共是173块,后面的序列号对应都是128MB的。根据不同硬件版本选择正确的软件。

Q:SEED-DVS6446软件经历了几个版本,其区别分别是什么?

A:SEED-DVS6446软件有2个版本,分别对应256MB(v1.2.02)和128MB(v1.2.03)。这两个版本的软件不能混用,一定要区分清楚。这两个版本的不同主要是由于DDR2 SDRAM的容量发生了变化,对应的一些存储器映射的地址不一样(ARM和Linux的分区)。对应算法也做了相应的修改。

Q:开发SEED-DVS6446的CCS版本是什么?

A:合众达公司的SEED-DVS6446软件部分具体是基于CCS 3.3下开发的,次版本号为77,即在安装好了CCS3.3后,客户需要单独安装CCS的升级包:CCS_v3.3_SR8_77.exe

#################################################################################################

开发环境的搭建            

开发环境搭建:

Q:如何正确搭建SEED-DVS6446 CCS(DSP端)的开发环境以及注意的地方有哪些?

A:CCS开发环境的搭建比较简单,正确默认安装Code Composer Studio 3.3即可,建议在安装好CCS后再安装CCS的升级补丁:CCS_v3.3_SR8_77.exe

Q:SEED-DVS6446可以使用的仿真器有哪些?安装仿真器需要注意的地方?

A:目前合众达公司支持SEED-DM6446达芬奇系列仿真的仿真器有:SEED-XDS560USB、SEED-XDS560USB PLUS,SEED-XDS510PLUS,SEED-XDS560PCI,建议选择SEED-XDS560PLUS和SEED-XDS510PLUS。USB接口,调试方便,下载速度快。SEED-XDSUSB2.0不支持达芬奇平台开发。注意的一些地方主要有以下几方面:(仿真器的设置,安装类似)

正确安装对应仿真器的驱动,一定要默认安装在CCS对应的安装目录下。安装好驱动后在设备管理器下可正确识别出对应的驱动。下图为SEED-XDS560USB PLUS仿真器的安装示例,如红框所标示。

请确保安装了最新的仿真器的驱动。(第一时间合众达公司会在论坛上公告最新的更新发布)。

Q:在调试SEED-DVS6446的DSP端时,需要做哪些配置及注意的地方?

A:需要注意下面几点:

由于DM6446的启动方式是先ARM端启动,这时候DSP端绝大部分是处于复位非使能状态的,所以必须先正确连接好ARM端才可以连接DSP端。

因为ARM启动连接后,一直使DSP端处于复位状态,我们默认的DSP端的GEL文件在加载时会做一个使DSP从复位状态释放的动作,但如果这时还连不上,可以尝试手动使DSP从复位状态释放,具体操作如下图所示。

Q:关于在烧写NAND Flash和串口调试时跳线该如何配置?

A:

建议在安装好CCS3.3后,安装CCS的升级包:CCS_v3.3_SR8_77.exe。77的版本在烧写NAND Flash时比较稳定。

在烧写NAND Flash文件(ubl,u-boot,uImage)时,J2,J23,J24可以跳接也可以不跳接,但为了烧写稳定建议跳接这三个短路针。

在用串口启动调试时,要把这三个短路针全部拔下,即处于完全开路状态。

合众达公司SEED-DVS6446默认出厂时NAND Flash文件及根文件系统是烧好在NAND Flash中的,同时这三个短路针也是不接,完全开路的。

Linux开发环境的搭建:

Q:如何正确搭建SEED-DVS6446 Linux(ARM端)的开发环境?

A:SEED-DVS6446 Linux端开发环境的搭建稍微复杂些。简单说来有如下几个步骤:

安装Linux Host主机系统。合众达公司推荐用RedHat、SUSE。区别在于RedHat的NFS。注意的是在Linux Host的安装过程中Linux组件的选择,如常用的一些NFS,GCC等组件必须选上,建议新手选择全部安装,这样可以免去后面不必要的麻烦。

在Linux Host系统下安装MontaVista工具、DVEVM、DVSDK工具,构建Linux的NFS系统、TFTP服务,调试通过主机端文件系统下载启动,TFTP uImage内核下载等实验,确保NFS,TFTP正常可用。

通过NFS系统更新根文件系统。

具体的建立过程可参考SEED-DVS6446的用户手册及软件开发指导手册。合众达公司推出的SEED-DVS6446包含了全面详细的软件开发包(SDK),跟TI复杂的SDK安装比起来,合众达公司推出的SDK跟TI提供的SDK多个组件完全等同,只是把TI的多个组件做了整合,这样可以使客户免去阅读和安装繁杂的说明文档及设置软件开发环境,尽快使客户轻松入手。

##############################################################################################

配套CD(例程、原理图、文档)

Q: 合众达公司SEED-DVS6446开发板,在烧写NAND Flash时,通过CCS用SEED提供NAND烧写程序烧写完UBL,U-Boot后,在烧写uImage时发现烧写时间非常长而且也感觉很不稳定,有没有其他快速稳定的方法?

A:可以通过tftp烧写NAND Flash的方法烧写uImage,这种方法的优点是快速稳定。具体用tftp烧写NAND的指令可参考合众达公司产品光盘中的如何烧写Flash文档说明。

Q:在开发调试过程中,为何tftp下载文件时会出现文件访问拒绝?

A:首先Linux系统对文件的权限等有严格的要求。这时一般要修改下载文件或目录等的访问权限。通过下列命令来修改权限,假定你已user登录Linux,要给user访问/tftpboot下所有文件或文件夹的权限,可以用:

Chmod R 777 /tftpboot。

Q:SEED-DVS6446中DVFlasher 烧写u-boot。我用DVFlasher烧写u-boot,出现了错误提示,然后不断重复……。我执行擦除u-boot的操作是没有问题的,但是烧写时候就出现了上面的问题,不知道怎么回事?

A:目前DVFlasher工具只支持NAND Flash不小于256MB大小的烧写。请确认您的硬件版本。

Q:SEED-DVS6446开发板,在正确烧写了ubl,u-boot和UImage后重新启动,发现超级终端出现BOOTME,好像没有正确定位到ubl等文件,这是为何?

A:请确认板上J2,J23,J24是否全部除掉,因为该三个跳线是用来设置DSP的启动顺序的,默认SEED-DVS6446是从NAND Flash启动,出厂三个跳线默认是不接的。在烧写的时候建议把这三个短路跳线都接上,这样烧写相对稳定一些。在用串口调试时要把这三个跳线全部取下,这样系统默认从NAND Flash启动,可以从超级终端看到系统输出的信息。请参考前面配置的FAQ。

Q:SEED-DVS6446板子挂载U盘问题。我在DVS6446板子上挂载U盘,超级终端可以显示,识别U盘,用fdisk -l命令可以看到U盘的分区sda1,可是命令mount /dev/sda1 /opt/mnt/usb 却报错说mount: mounting /dev/sda1 on /opt/mnt/usb1 failed: No such file or directory。我ls /dev 也的确没有sda1 这个设备,请问这是怎么回事?

A:请确保在/opt/mnt/目录下有usb文件夹。另外在挂载U时需要注意的几点:

正确设置J7的跳线:短接1,2脚。

正确识别U盘设备的设备节点。

用ls l /dev命令查看在dev下是否有该设备节点。

如果有该设备节点,执行如下命令:mount /dev/设备节点名 [你要挂载的目录,比如/mnt/usb]。

Q:请问SEED-DVS6446板卡,我要使用MMC/SD卡设备,该如何操作?

A:步骤类似于挂载U盘的操作:

正确设置J9的跳线:1,2脚短接。

正确识别MMC/SD卡的设备节点号:一般为mmcblk0p1。

用ls l /dev命令查看/dev下是否有该设备节点。

如果有执行如下命令来挂载:mount /dev/mmcblk0p1 [你要挂载的目录,比如/mnt/mmc]

Q:SEED-DVS6446板子挂载U盘问题。我在DVS6446板子上挂载U盘,超级终端可以显示,识别U盘,用fdisk -l命令可以看到U盘的分区sda1,可是命令mount /dev/sda1 /opt/mnt/usb 却报错说mount: mounting /dev/sda1 on /opt/mnt/usb1 failed: No such file or directory。我ls /dev 也的确没有sda1 这个设备,请问这是怎么回事?

A:请确保在/opt/mnt/目录下有usb文件夹。另外在挂载U时需要注意的几点:

正确设置J7的跳线:短接1,2脚。

正确识别U盘设备的设备节点。

用ls l /dev命令查看在dev下是否有该设备节点。

如果有该设备节点,执行如下命令:mount /dev/设备节点名 [你要挂载的目录,比如/mnt/usb]。

Q:DVS6446开发板支不支持USB鼠标?USB鼠标驱动的设备名是什么?

A:完全支持。内核默认已经设定为支持USB功能。注意:板卡上要正确设置J7开关的跳线,细节请参考我们的用户手册的配置。USB鼠标驱动的设备名不定,在系统启动过程中打印出USB设备的相关初始化信息。

Q:请问SEED-DVS6446板卡,我要使用MMC/SD卡设备,该如何操作?

A:步骤类似于挂载U盘的操作:

正确设置J9的跳线:1,2脚短接。

正确识别MMC/SD卡的设备节点号:一般为mmcblk0p1。

用ls l /dev命令查看/dev下是否有该设备节点。

如果有执行如下命令来挂载:mount /dev/mmcblk0p1 [你要挂载的目录,比如/mnt/mmc]

Q:SEED-DVS6446启动yaffs文件系统时间较长。我使用的是dvs6446,按照文档说明从nandflash上启动yaffs文件系统,会出现

Sending DHCP requests ...... timed out!

IP-Config: Reopening network devices...

Sending DHCP requests ...... timed out!

IP-Config: Auto-configuration of network failed.

这个过程要花费很多时间,请问该怎样处理可以使得系统启动时间缩短?

A:默认u-boot配置为ip=dhcp的方式,u-boot会寻找dhcp服务器的地址。你可以手动设置u-boot的环境变量使ip为静态ip或直接ip=off即可。命令如下:

setenv bootargs mem=60M console=ttyS0,115200n8 init=/linuxrc root=/dev/mtdblock0 rw noinitrd rootfstype=yaffs ip=192.168.253.110:192.168.253.1:255.255.255.0 video=dm64xxfb:output=pal

注意ip地址根据你实际的情况来修改,格式为:ip=ip地址:网关:掩码。

另外如果客户通过NFS的方式来挂载,可以用相同的方法来设置ip参数。

Q:为何我的NFS会经常挂载不上?

A: 这个问题比较复杂,可能有如下的几个原因:

NFS文件系统配置不正确;NFS服务器的防火墙没有关闭;服务器和板卡的IP地址没有配置在同一个网段内。可以按下面的操作来一步步排除故障所在:

在u-boot起来后ping Linux Host,看能否ping通,若不通检查你的网线;

若ping通,查看NFS文件系统的配置是否正确,服务器防火墙是否关闭;

检查Linux Host和板卡的IP地址是否在同一网段。

Q: 使用合众达公司的SEED-DVS6446开发板,在NFS方式下调试好了一个应用程序,怎么将这个调好的应用程序烧写到开发板的NAND Flash中,并且在上电后自动运行该调好的程序?

A: 有很多种方法,比较常用的方法有:

可以把调试好的程序重新打包进根文件系统中(rootfs.tar.gz),然后重新执行一次根文件系统恢复的操作指令即可。关于如何恢复根文件系统,请参考产品光盘的相关文档说明。

通过tftp的方式下载调试好的程序到NAND Flash中。在正确烧写了ubl,u-boot和uImage后,启动进入根文件系统,执行tftp操作。

其它的也可以通过U盘等存储介质的方式把调试好的程序拷贝到NAND中。

注意的是在用U盘,MMC/SD等存储介质时要配置正确的跳线,具体请参考SEED-DVS6446用户手册相关部分。

Q:使用合众达公司的SEED-DVS6446开发板,但是在开发中碰到一些Codec Server的问题:编译CE中CODEC里的例程都能编译通过,并顺利编译出*.a64P,但是在编译CODEC SERVER中Video_Copy例程,便出现了奇怪的现象,首先:程序在打印出 #configuring video_copy.x64p from Package/cfg/video_copy_x64p.cfg.......几行后,便停止不动,经过一个小时,也是这样,也不报错误。其次,我看见里面的package元数据包产生了,package.mak也产生了,但是可执行程序*.X64P没有生成?

A: 一般出现这些错误的原因是没有正确配置编译环境。请仔细阅读/opt/dvevm_1_10/codec_engine_1_02/examples下的build_instructions.html文件,该文件详细指出需要配置的每个变量以及定义。主要配置的文件有:user.bld,setpaths.mak。

Q: 关于DVS6446 SDK中的DEMO程序,安装好后在Linux主机上/opt/dvevm_1_20/demos目录下的几个DEMO程序如何编译?

A: 在dvevm目录下有DEMO编译的说明文件build_instructions.html,这里要注意的是各个编译工具等的环境变量设置,具体参考该文档。

Q:想使用SEED-DVS6446开发板上的GPIO口,有几个问题请教:第一,板子内核中有没有已经固化了GPIO的字符驱动程序,有没有调通,有没有测试程序?第二,如果已经固化了gpio驱动程序,那么在应用程序中如何调用它,也就是我怎样使用该GPIO口,有没有相应的例程?我要做的其实很简单,就是利用一个GPIO口输出高电平或者低电平。

A:目前在Linux App层没法使用GPIO,要使用必须写设备驱动。合众达公司随产品带的光盘中的测试例程(CCS下)中用到的GPIO是直接调用BSL库的,BSL库中提供了直接操作GPIO的API。GPIO大部分在内核驱动中都使用着,用户层不能随便操作,在内核驱动中没有使用的才可以,映射到用户空间给用户使用。

##############################################################################################

其它

Q:TMS320DM6446做视频压缩。用TMS320DM6446做视频压缩,H.264编码,外部SRAM要选择多大的啊?

A:H.264编码大约需要1帧大小的SDRAM空间用来存放中间数据。

Q:开发DM6446算法封装库可以在CCS下完成吗?

A: 可以。TI提供的Linux下的工具链组件和Windows下的CCS组件实际上没有本质的区别,都是由XDC,CGTools,DSP/BIOS等构成,在CCS下依然可以生成类似Linux的库文件。CCS下的库文件后缀为lib,而Linux下库文件的后缀为a64P。两者没有本质的区别,只是后缀名不同而已。

Q:SEED-DVS6446的U-boot中环境变量的默认设置都是什么?改了环境变量后发现进不去montavista系统了。之前又忘了看默认的设置。setenv是设置环境变量,那么有删除环境变量的命令么?

A:请参考我们的用户手册部分。没有删除环境变量的命令,也没有必要,重新设置该环境变量即可。每个环境变量只能有一个赋值,重新赋值后会自动改为新的设置。

Q:关于MPEG4编码算法移植到TMS320DM6446:我目前是在将MPEG4编码算法移植到TMS320DM6446上,我不懂MPEG4算法,目前还在看相关资料。我在网上找到一个现成的MPEG4 ENCODE 源码,我将其放入CCS3.3中编译通过了,生成一个.lib文件。根据达芬奇软件开发通常步骤,第一步,工程师需要基于DSP利用CCS开发自己的音视频编解码算法,编译生成一个编解码算法的库文件*.lib(等同于Linux环境下的 *.a64P,直接在Linux环境下修改文件后缀名即可)。如果要通过Codec Engine调用这个库文件中的算法函数,那么这些算法实现需要符合xDM(xDAIS(eXpress DSP Algorithm Interface Standard) for Digital Media)标准;Codec Engine机制下不符合xDM标准的算法实现需要创建算法自己的Stub和Skeleton(具体请参考spraae7.pdf)。我也编译出了一个.lib文件,但是我不知道这个MPEG4算法的源码是否是符合xDM标准的。

A:请参考TI文档http://focus.ti.com/docs/toolsw/folders/print/tmdxdaisxdm.html

以上信息来源:北京合众达电子技术有限公司