DAVINCI DM3730开发攻略――开发环境篇

时间:2021-09-27 23:41:57


    深圳的春天,梧桐山上绿意浓浓,山花醉人香,蜂蝶采蜜忙!现在只能在山上看到这些生机勃勃的景象了,山下的水污染完了,空气也不咋样。但相对北方的兄弟姐妹长期生活在灰霾和沙尘的环境,这里也很难得了,地下水的污染,不单单北方有,南方很早就打井排污了,治理要近1000年的才能恢复 。这些企业和贪官庸官断子绝孙的发展模式,注定不长久。而对于我们这些差不多吃尽整个元素周期表的中国平民百姓,生活还得继续,我们现在需要从方方面面来考虑绿色环保的工作和生活,其中包括我们的产品设计,因为这些嵌入式产品是超大规模生产和使用的,每套多耗掉几瓦电就已经很恐怖了。

低功耗+高性能的设计,一直是我们公司的追求。忙完客户的板子设计,现在可以搞搞自己公司的板子,在上一篇《DAVINCI DM3730开发攻略序》已经提到DAVINCI其他几个产品系列(DM644x、DM642、DM6437、DM648、DM6467、DM8148、DM8168)的比较,有关DM3730 CORTEX-A8+DSP的优点描述也写了,1G的A8(2000MIPS)和C64+ DSP 800M(6400MIPS),这里就不再累赘。本篇重点如何搭建DM3730的开发环境,以后会写到x-loader的移植,u-boot的移植,DVSDK4_03的开发包的介绍及用CODEC机制调用DSP算法的介绍,linux-2.6.32内核的移植,CCS工程和开发环境的介绍,Android的移植,部分应用程序的例子分析等等。DM3730比DM6446强大,需要写的东西很多,就怕自己忙不过来。

现在让我们开始动手搭建环境,我们是基于Vmware虚拟机的环境,在LINUX HOST进行开发的。开发环境的LINUX叫HOST,而板子运行的linux环境叫target。

第一、   Vmware的安装

到今天为止,Vmware的版本升级到9.0.2以上了,破解版网上有,当然买正版的更好用。有关Vmware的安装,和以前的Vmware7.1版本一样的,在本人博客另一篇《DAVINCI DM36X开发攻略――RHEL6VM7.1的安装》 (http://zjbintsystem.blog.51cto.com/964211/502090)已经详细介绍Vmware的安装方法,当然这里下面要安装的LINUX HOST是TI指定的ubuntu-10.04 LTS,而不是那个RHEL6,这里跳过不再介绍。

第二、   Ubuntu-10.04 LTS的安装

1、Ubuntu-10.04 LTS正式安装

在《DAVINCI DM365-DM368开发攻略――开发环境搭建》(http://zjbintsystem.blog.51cto.com/964211/621435)里已经介绍Ubuntu-10.04 LTS,其实Ubuntu-12.10的版本早就出来了,TI还是建议我们安装他们的DM3730 DVSDK4_xx最好使用Ubuntu-10.04 LTS,否则无法正常安装。本人试过Ubuntu 10.10 LTS 32-bit的安装,果然DVSDK4_0_X确实安装不成功,没时间查查原因。如果有些朋友喜欢更高级的Ubuntu版本,还有个笨办法就是先在Ubuntu-10.04 LTS安装好,然后把整个dvsdk4_xx文件夹压缩打包,再到放到高级的Ubuntu解压,注意一下路径对应,就可以用了。网友可以按照《DAVINCI DM365-DM368开发攻略――开发环境搭建》里 Ubuntu-10.04 LTS环境搭建进行安装,这里特别提到的一点是,分配虚拟硬盘的大小时,建议分配30G以上,见下图。

DAVINCI DM3730开发攻略――开发环境篇

图-1 分配虚拟机硬盘

DAVINCI DM3730开发攻略――开发环境篇

图-2 本人的VM硬盘分配

本人的PC机内存是4G,给虚拟机这边分1252MB或1536MB是没问题的。如果使用你的PC机是2G的内存,那建议你分配512MB给虚拟机,效率有点慢。

DAVINCI DM3730开发攻略――开发环境篇

图-3 内存分配

2、linux host虚拟机和WINDOWS共享文件夹设置

因为DM3730的DVSDK很大,Android 2.2的开发包也很大,而且以后开发的时候,会发觉Ubuntu10.vmdk文件越来越大,这个开始一直困扰本人和其他网友,后来发觉HOST里/usr/bin/vmware-toolbox和/usr/bin/vmware-toolbox-cmd的用法后,这个就决解了,红帽子LINUX RHEL5和RHEL6也是这个方法,这个等安装完DVSDK开发包后,再介绍Ubuntu文件越来越大的解决方法。安装完Ubuntu-10.04 LTS后,继续安装Vmware Tools,这个东西非常有用,方法见《DAVINCI DM365-DM368开发攻略――开发环境搭建》(http://zjbintsystem.blog.51cto.com/964211/621435)。

然后继续设置和WINDOWS共享文件夹,先在WINDOWS下建立共享文件夹,见图-4。

DAVINCI DM3730开发攻略――开发环境篇

图-4 先在WINDOWS下建立共享文件夹

DAVINCI DM3730开发攻略――开发环境篇

图-5-0 VM共享文件夹设置

然后在VM->settings里按图-5进行设置,那么进入虚拟机命令行后,使用#cd /mnt/hgfs/dm3730,就可以看到WINDOWS共享目录dm3730里边的文件了,比SAMBA好用。

本人喜欢使用root登录:

DAVINCI DM3730开发攻略――开发环境篇

图-5-1 root帐号登录

3、SMABA的设置使用以下命令:

#apt-get install samba

#apt-get install smbfs

#apt-get install samba-common-bin

#apt-get install system-config-samba

系统自动从 Ubuntu的官方镜像网站下载稳定的最新的软件包版本,大家可以通过#gedit /etc/apt/sources.list命令看看这些链接的地址。

安装samba结束后,先使用

#touch /etc/samba/smbpasswd

#smbpasswd -a davinci  (davinci普通用户)

输入samba访问密码两次。

然后编辑gedit /etc/samba/smb.conf的配置文件,在smb.conf最后增加下面一段内容:

[smb_share]

;comment = Shared Folder with username and password

path = /home/davinci

public = yes

writable = yes

valid users = davinci

create mask = 0777

directory mask = 0777

force user = nobody

force group = nogroup

available = yes

browseable = yes

保存退出。

重启samba,/etc/init.d/smbd restart(已经和以前的/etc/init.d/samba不一样了)

使samba生效。

最后使用:

# ufw disable

把防火墙给关闭掉,这样在WINDOWS下就可以使用\\192.168.1.xxx 登录samba共享目录了。对于从WINDOWS 拷贝文件进SAMBA文件夹有时会碰到读写操作的权限问题,我们只需在Ubuntu里:

文件夹的操作:chmod �CR 777 xxxxx

文件的操作:chmod 777 wwwww

这样就可以了。

Samba只是一个辅助的工具,就是在WINDOWS下可以操作虚拟机的文件夹读写等等操作。

4、安装其他有用的linux host开发环境包

在HOST 使用DHCP的状态下(可以在Ubuntu10里上网),安装一些有用的开发包,比如在ubuntu10.04上开发Android用到的JAVA jdk1.6.0_43和其他的:

apt-get install bison

apt-get install zlib1g-dev

apt-get install flex

apt-get install g++-multilib

apt-get install libncurses-dev

apt-get install libx11-dev

apt-get install gperf

等等,这些在以后的Android移植的文章会详细描述到,这里先不累赘。

第三、   安装DM3730 DVSDK_04_03开发包

下面我们着重看图进行安装,用图片来演示相关的操作命令更直观。

DAVINCI DM3730开发攻略――开发环境篇

图-6 dvsdk_04_3开发包放在共享目录

   见图-6,在TI的网站上注册一个帐号,my.TI Account,如果有以前注册有就不需要注册了,进入http://www.ti.com/tool/linuxdvsdk-dm37x下,从TI网站下载到的dvsdk_dm3730-evm_04_03_00_06_setuplinux开发包,免费的,并把该文件放到刚才提到的共享文件夹里边,

DAVINCI DM3730开发攻略――开发环境篇

图-7 建立dm3730 dvsdk4_03的目录

   开始按图-7上面提示的命令进行操作,我们先在/home/davinci/下建立dm3730的目录,然后再dm3730的目录里边再建立dvsdk4_03的简短目录,不要用长长的名字,烦。

DAVINCI DM3730开发攻略――开发环境篇

图-8 运行dvsdk_dm3730-evm_04_03_00_06_setuplinux

进入共享文件夹的目录cd /mnt/hgfs/dm3730,先使用chmod +x dvsdk_dm3730-evm_04_03_00_06_setuplinux改变这个文件的使用权限,然后运行这个安装包。

DAVINCI DM3730开发攻略――开发环境篇

图-9 dvsdk4_03的安装开始界面

这时自动进入图形安装界面,修改安装到LINUX HOST里指定的路径,千万不要按图-9默认指定的路径,

DAVINCI DM3730开发攻略――开发环境篇

图-10

应该按图-10指定的路径,然后按“Next”往下进行安装,

DAVINCI DM3730开发攻略――开发环境篇

图-11

图-11的元素全部选上,

DAVINCI DM3730开发攻略――开发环境篇

图-12

DAVINCI DM3730开发攻略――开发环境篇

图-13

DAVINCI DM3730开发攻略――开发环境篇

图-14

继续往下安装,这个从图-12到图-15整个过程有点长,因为这个开发包解压后很大。

DAVINCI DM3730开发攻略――开发环境篇

图-15

到图-15表示安装结束,这时建议看看“View Softwate Developers Guide”更多了解整个DVSDK4_03的介绍。

DAVINCI DM3730开发攻略――开发环境篇

图-16 dvsdk4_03的开发包元素

进入/home/davinci/dm3730/dvsdk4_03的目录ls一下,就可以看到这里有很多开发包元素,还有一个经典的setup.sh文件,先别急运行这个文件。

DAVINCI DM3730开发攻略――开发环境篇

图-17

我们先按图-17在dvsdk4_03/filesystem里边建立一个dm3730rootfs的目录,到时候运行setup.sh需要解压TI EVM的文件系统dvsdk-dm37x-evm-rootfs.tar.gz到里边,这个TI EVM的dvsdk-dm37x-evm-rootfs.tar.gz文件很大,不适合我们嵌入式系统的文件系统,只有arago-base-tisdk-image-dm37x-evm.tar.gz适合,这个是TI EVM的简化版文件系统。

第四、   搭建TFTPNFS服务器

这里我们单独把TFTP和NFS SERVER的搭建单独来介绍,上面提到的dvsdk4_03/setup.sh,已经把这些安装命令和脚本写好了,不要像安装DM6446开发环境那么麻烦。

DAVINCI DM3730开发攻略――开发环境篇

图-18 修改setup.sh脚本

在dvsdk4_03的目录下,使用gedit setup.sh &命令,对setup.sh进行编辑,我们按图-18进行屏蔽setup-minicom.sh,这个minicom是运行在LINUX HOST里边的串口调试工具,本人觉得不太好用,我们喜欢WINDOWS下的SecureCRT,这个SecureCRT串口工具非常好用。然后把setup-uboot-evn.sh也可以屏蔽掉,最后保存这个文件。

DAVINCI DM3730开发攻略――开发环境篇

图-19 运行setup.sh脚本

直接按图-19运行,./setup.sh,

DAVINCI DM3730开发攻略――开发环境篇

图-20 安装g++

自动安装g++的过程见图-20。

DAVINCI DM3730开发攻略――开发环境篇

图-21 设置 NFS 文件系统路径

自动对linux HOST 的/etc/export文件进行设置,在export文件的后面,自动加有:

/home/davinci/dm3730/dvsdk4_03/filesystem/dm3730rootfs *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)

的设置(注意dm3730rootfs和*之间有个空格)。

DAVINCI DM3730开发攻略――开发环境篇

图-22 解压文件

输入“o”,表示强制要求把dvsdk-dm37x-evm-rootfs.tar.gz解压到filesystem/dm3730rootfs的目录里,刚才上面提到dvsdk-dm37x-evm-rootfs.tar.gz是TI EVM的文件系统,超级大,只适合调试,不适合烧写到NAND上面的嵌入式文件系统,所以我们接着在dvsdk4_03 /filesystem/的目录下,使用:

#mv dm3730rootfs ti_evm_rootfs

#mkdir �Cp dm3730rootfs

#tar zxf arago-base-tisdk-image-dm37x-evm.tar.gz �CC dm3730rootfs

这个arago-base-tisdk-image-dm37x-evm的文件系统就是TI EVM dvsdk-dm37x-evm-rootfs.tar.gz的简化版本,本人对比了这里边的bin,sbin, lib, dev,  etc, usr/bin,usr/sbin, usr/lib等命令和LIB基本相同。

DAVINCI DM3730开发攻略――开发环境篇

图-23

提示按回车键继续往下安装。

DAVINCI DM3730开发攻略――开发环境篇

图-24 安装TFTP SERVER

DAVINCI DM3730开发攻略――开发环境篇

图-25 安装结束

自动安装xinetd支持TFTP server,自动在HOST上生成/tftpboot的文件夹,以后在板子的uboot里,我们要烧写或者tftp boot 的bin文件、uImage等等都放到这里,比如本人编译出来自己命名的dm3730_xload.bin,dm3730_uboot.bin,dm3730_kernel.bin等等。

第五、   设置交叉编译环境

   在DM3730的开发包上,TI一共推出DVSDK4_00,4_02,4_03,其中只有最新的DVSDK4_03里边集成了交叉编译环境,以前在DM368的开发环境里这个arm-2009q1-203是单独安装的。其实这个dvsdk4_03里边的交叉编译工具linux-devkit就是arm-2009q1-203类似的版本。现在DVSDK4_03里安装后交叉编译工具放在linux-devkit里。

#cd /root

#gedit .bashrc &

在文件的最后面加上:

export PATH=/home/davinci/dm3730/dvsdk4_03/linux-devkit/bin:$PATH

保存文件,退出,然后重新登录root或者reboot重启虚拟机都可以,

下面是Rules.make里边的内容:

# Define target platform.

PLATFORM=dm3730

# The installation directory of the SDK.

DVSDK_INSTALL_DIR=/home/davinci/dm3730/dvsdk4_03

# For backwards compatibility

DVEVM_INSTALL_DIR=$(DVSDK_INSTALL_DIR)

# Where DSP/BIOS is installed.

BIOS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dspbios_5_41_03_17

# Where the DSPBIOS Utils package is installed.

BIOSUTILS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/biosutils_1_02_02

# Where the Codec Engine package is installed.

CE_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/codec-engine_2_26_02_11

# Where the DSP Link package is installed.

LINK_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dsplink_1_65_01_05_eng

# Where the codecs are installed.

CODEC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/codecs-omap3530_4_02_00_00

# Where DMAI package is installed.

DMAI_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dmai_2_20_00_15

# Where the SDK demos are installed

DEMO_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dvsdk-demos_4_02_00_01

# Where the DVTB package is installed.

DVTB_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dvtb_4_20_18

# Where the EDMA3 LLD package is installed.

EDMA3_LLD_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/edma3lld_01_11_02_05

EDMA3LLD_INSTALL_DIR=$(EDMA3_LLD_INSTALL_DIR)

# Where the Framework Components package is installed.

FC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/framework-components_2_26_00_01

# Where the MFC Linux Utils package is installed.

LINUXUTILS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/linuxutils_2_26_02_05

CMEM_INSTALL_DIR=$(LINUXUTILS_INSTALL_DIR)

# Where the XDAIS package is installed.

XDAIS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdais_6_26_01_03

# Where the RTSC tools package is installed.

XDC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdctools_3_16_03_36

# Where the Code Gen is installed.

CODEGEN_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/cgt6x_6_1_14

# Where the PSP is installed.

PSP_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/psp

# The directory that points to your kernel source directory.

LINUXKERNEL_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/psp/linux-2.6.32

KERNEL_INSTALL_DIR=$(LINUXKERNEL_INSTALL_DIR)

(这个内核路径是我们改过的,我们不用linux-2.6.37,这个路径很重要,编译DVSDK的元素需要先编译内核!在DM6446平台很多客户不认真看我们手册就直接编译DVSDK是悲剧的!)

# Where the local power manager is installed.

LPM_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/local-power-manager_1_24_03_10_eng

# Where the development headers and libs are installed.

LINUXLIBS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/linux-devkit/arm-arago-linux-gnueabi/usr

# Where c6accel package is installed.

C6ACCEL_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/c6accel_1_01_00_07

# Where c6run package is installed.

C6RUN_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/c6run_0_98_03_03

# Where opengl graphics package is installed.

GRAPHICS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/graphics-sdk_4.03.00.02

# The prefix to be added before the GNU compiler tools (optionally including # path), i.e. "arm_v5t_le-" or "/opt/bin/arm_v5t_le-".

CSTOOL_DIR=/home/davinci/dm3730/dvsdk4_03/linux-devkit

CSTOOL_PREFIX=$(CSTOOL_DIR)/bin/arm-arago-linux-gnueabi-

CSTOOL_PATH=$(CSTOOL_DIR)/bin

MVTOOL_DIR=$(CSTOOL_DIR)

MVTOOL_PREFIX=$(CSTOOL_PREFIX)

# Where to copy the resulting executables

EXEC_DIR=/home/davinci/dm3730/dvsdk4_03/filesystem/dm3730rootfs/opt/dvsdk

(这个DVSDK编译出来的一些.ko文件,使用make xxxx_install后会copy到这个文件系统的路径)

这个Rules.make脚本很重要,整个开发环境和这里边定义的变量和定义有关,从上面我们可以学习到整个DM3730 DVSDK的东西,当然这个还不包括Android开发包rowboat-android-froyo-omap3evm等,不一定所有的DM3730产品开发需要Android,有些做监控和视频分析的产品可以直接使用LINUX和DVSDK就OK了。当然如何接LCD屏那就需要Android或QT了。

Makefile里边的内容:

……………………

      @echo "  cmem                       : Build the CMEM kernel module"

      @echo "  cmem_clean                 : Remove generated cmem files."

      @echo "  cmem_install               : Install cmemk module"

………………….

      @echo "  linux                      : Build Linux kernel uImage and module"

      @echo "  linux_config               : Launch Linux kernel menuconfig"

      @echo "  linux_clean                : Remove generated Linux kernel files"

      @echo "  linux_install              : Install kernel binary and  modules"

      @echo

      @echo "  xload                      : Build the xload boot loader"

      @echo "  xload_clean                : Remove generated xload files"

      @echo "  xload_install              : Install the xload image"

      @echo

      @echo "  u-boot                     : Build the u-boot boot loader"

      @echo "  u-boot_clean               : Remove generated u-boot files"

      @echo "  u-boot_install             : Install the u-boot image"

………………………………

这个总的Makefile教会大家如何编译整个DVSDK4_03的元素,需要好好研究的东西。或者我们直接在/home/davinci/dm3730/dvsdk4_03/的目录下直接:

#make xload_clean

#make xload

进行xload的编译,验证整个交叉编译环境是否OK;还有:

#make u-boot _clean

#make u-boot

看看编译默认的dm3730 evm的u-boot是否通过;

以后单独写DVSDK移植文章的时候再详细描述这些DVSDK元素,这里我们只需要验证交叉编译环境的正确性。

第六、   如何决解Ubuntu10虚拟机vmdk文件越来越大,硬盘空间变小的问题

如果上面的make没什么错误提示,基本整个开发环境搭建好了。但是我们发觉虚拟机的文件xxxxx.vmdk很大,因为在安装的时候和编译程序的时候,这个产生的临时文件会使ubuntu的虚拟机分配的硬盘空间变小,而Ubuntu10.04使用的是ext4文件系统,所以硬盘空间没有释放,有些客户分配很小的硬盘空间比如20G,很快就用没了,结果到后面系统运行和编译程序的时候就出问题,我们现在使用HOST里 /usr/bin/vmware-toolbox或/usr/bin/vmware-toolbox-cmd的工具进行虚拟机空间压缩,这个vmware-toolbox出现在这里前,我们必须先安装Vmware Tools,这个Vmware Tools前面已经提示如何安装的,比如你安装的时候默认回车选择安装在/usr/bin/这个路径,然后我们在/usr/bin/目录下直接运行:

#vmware-toolbox

这时出现

DAVINCI DM3730开发攻略――开发环境篇

图-26 vmware-toolbox压缩虚拟机硬盘的界面

我们选中整个根目录“/”进行对HOST空间压缩,过程是先分析,然后点击确认执行压缩,这个过程花较长的时间,压缩结束后会提示。

或者使用:

#vmware-toolbox-cmd disk shrink /

命令来直接对虚拟磁盘进行压缩,注意最后的 / 不要漏了,它是用来指明根文件系统的。这个过程也比较长,结束后,你会发觉你在WINDOWS下的xxxxx.vmdk变小了,我们开发编程一段时间就使用上面的方法压缩一下,同时整个虚拟机备份到其他硬盘空间或者移动盘,保护自己里边的开发成果,养成良好的备份习惯。

其实网上还有另外一种WINDOWS下的操作方法,如果你的虚拟机安装在C:\Program Files\VMware\VMware Workstation,而Ubuntu10.04虚拟机安装在D:\Ubuntu10,我们按下面的方法 :

首先用root登录进入Ubuntu的系统,

1、#apt-get install clean(有人写apt-get clean,不知是否正确)

2、#dd if=/dev/zero of=/0bits bs=20971520

3、#rm /0bits  (注意是数字的“0”)

4、halt停止虚拟机(关机);

5、使用WINDOW的DOS命令界面“运行”,输入cmd进入DOS命令界面;

6、cd C:\Program Files\VMware\VMware Workstation

7、vmware-vdiskmanager.exe -k D:\Ubuntu10\Ubuntu10.vmdk

上面做完后,你在看看你的xxxxx.vmdk会变小很多。

第七、   总结

总的来说,按照上面提示的方法,我们基本上搭建好DM3730的开发环境,当然开发过程中需要一些HOST的Ubuntu安装包,我们在联网的情况下,直接apt-get install xxx就OK了,总之DM3730比DM6446,DM642,DM3730等等强大多了,使用的linux内核版本2.6.32或者2.6.37,可以做很多工作和产品。下面介绍一下我们新搞的开发方案板子,让大家更加了解这个DM3730的特性,这样才会知道这个芯片方案的优点,知道如何设计好自己的低功耗嵌入式产品。

DM3730核心板(DM3730小系统板)介绍:

DAVINCI DM3730开发攻略――开发环境篇

DAVINCI DM3730开发攻略――开发环境篇

尺寸:长60mm,宽40mm,高8.5mm

   我们公司的TY-DM3730-SYS-V1.0核心板采用高精度工艺和抗干扰性能的PCB设计,解决了DAVINCI系统中最为复杂的高速布线问题,绝大部分的接口信号都引出到母座PIN上,提供完整的接口说明,底板配套座子PCB封装和电源设计电路、外围相关芯片的设计参考电路,及提供配套座子,这些特点可以让客户随心所欲的设计自己的底板,容易衍生系列产品,降低硬件设计风险,LINUX系统软件和众多现成例子,更加降低客户的开发时间和风险,更快推进项目进度。客户只需根据自己的系统的需求性,设计相应的底板,及配套的应用软件即可,就可快速把产品推上市场,非常适合微小型公司产品设计。在系统功能越来越强大和复杂化的今天和明天,合作是公司流行的发展模式,真诚相互合作,可以推动双方公司的发展,时间就是生命,时间就是财富。我们公司有相关上游芯片供应商和先进的贴片厂支持,深圳多种认证机构测试,完全有能力大批量生产OEM的板子。


DM3730核心板(dm3730小系统板)硬件资源:

1、ARM  CORTEX-A8――1GHz;

2、TI 定点C64+ DSP――800MHz;

3、带POWERVR SGX 3D图形加速;

4、带视频加速处理IVA2.2;

5、电源管理芯片:TPS659XX;

6、DDR-512M-BYTEs(512M*8-BITs,LP-DRAM内存);

7、NAND-512M-BYTEs(512M*8-BITs),可选(256M DDR+256M NAND组合);

8、低功耗设计,TI OMAP 45纳米工艺,适合手持和平板电脑设备;

9、支持1路USB2.0 HOST和1路 USB OTG;

10、支持3路串口:UART1,UART2,UART3;

11、支持2路SD卡接口,可外接32G和64G Micro SD卡,也支持接iNAND;

12、支持2路SPI接口;

13、支持2路I2C接口;

14、支持1路音频输入和1路音频输出,(集成在TPS659XX);

15、支持1路McBSP接口(还可以外接其他音频芯片等);

16、支持DSP 调试JTAG接口;

17、支持多路GPMC外接并口总线芯片,比如网口芯片;

18、支持6*6的按键KEY阵列,(集成在TPS659XX);

19、支持2路可控SYS_CLKOUT1和SYS_CLKOUT2频率输出;

20、支持3路PWM信号;

21、支持1个RTC电路,(集成在TPS659XX);

22、支持1路ADCIN0,(集成在TPS659XX);

23、支持硬件看门狗WATCHDOG,硬复位,(集成在TPS659XX);

24、支持超过27个独立的(非复用脚)GPIO;

25、支持BOOT MODE方式控制,比如SD卡BOOT,NAND BOOT, UART BOOT;

26、支持1路VPFE视频输入接口,外接VIDEO DECODERS(通过TI,TECHWELL,NEXTCHIP的视频芯片接CVBS模拟视频输入)和CMOS SENSOR(美光APTINA,OV等芯片);

27、支持1路复合视频输出CVBS(TV输出)或S-VIDEO输出;

28、支持LCD视频输出,DSS信号支持TFT 4.3寸屏、7寸屏、HDMI(DVI-D信号)、VGA输出;

29、3.3V,1.8V,5V电压输入给核心板;

30、实际工作温度:-20°~ 70°,也可选工业级-40°~80°;

31、尺寸:长60mm,宽:40mm,高:8.5mm;

32、视频能力:高清720P  MPEG4 Encode和Decode达30帧/秒,高清720P  H264 Decode达30帧/秒,H264 Encode 25帧/秒左右,800M C64+可以做很多Analytics视频分析和机器视觉方面的软件开发,JPEG图像处理;

33、性能比DM6446,DM6437,DM642强大多了,产品可扩展性比DM648强。做720*576 D1摄像头前来回运动的直接YUV4:2:2(还没用Resizer)的H264压缩只使用43%的DSP的资源,而DM6446-600M+Resizer则占到70%多。

应用领域:

1、低功耗便捷手持设备;

2、平板电脑;

3、车载导航设备,车载3G视频设备;

4、娱乐系统;

5、Android(安卓)设备;

6、高清720P 编码解码和传输的网络视频产品,比如VOIP视频电话,智能IP-CAMERA;

7、Analytics视频分析和机器视觉(TI的DVSDK 提供视频分析优化的 VLIB);

8、智能家居设备和人脸识别终端;

9、高端工业控制设备;

10、            媒体播放设备;

11、            安防监控DVR、IVS等设备;

12、            医疗设备;



我们公司的DM3730开发板(方案板):

   桐烨科技DM3730/DM6446的板子和其他公司的开发板不一样,特别是DM3730的板子,目前国内好多家公司都只提供ARM(CORTEX-A8)的应用例子,很少介绍如何添加客户自己的算法到DSP端的例子,有些需要做DSP算法的人贪便宜,结果买这些便宜的板子回去花大量时间来学习,迟迟搞不清楚整个架构,浪费的这些时间难道不是资金吗?我们桐烨科技的板子都帮你采集好YUV格式的视频图像,并教会你如何把这个原始的图像数据放到DSP端进行处理,然后再教会你如何传处理过的图像数据和参数到ARM端。同时提醒客户还要注意一些冒牌的公司,特别是杭州有家没道德的公司直接拿我们桐烨科技的DM3730开发板图片放到他们公司网站上,欺骗其他人,我们桐烨科技从来没有想到让其他公司做代理。

DAVINCI DM3730开发攻略――开发环境篇

硬件资源:

1、ARM  CORTEX-A8――1GHz;

2、TI 定点C64+ DSP――800MHz;

3、带POWERVR SGX 3D图形加速;

4、带视频加速处理IVA2.2;

5、电源管理芯片:TPS659XX;

6、DDR-512M-BYTEs(512M*8-BITs,LP-DRAM内存);

7、NAND-512M-BYTEs(512M*8-BITs),可选(256M DDR+256M NAND组合);

8、低功耗设计,TI OMAP 45纳米工艺,适合手持和平板电脑设备;

9、视频采集前端支持MT9P031等 CMOS SENSOR;

10、视频采集前端TVP5158 支持单路D1或4路CIF图像采集,2路D1图像采集;

11、视频采集前端支持用于机器视觉双目多目产品的NEXTCHIP NVP1XXX 4路CIF分割图像采集;

12、RGB接口支持7寸屏和4.3寸屏;

13、支持1路触摸电路,适合7寸屏和4.3寸屏;

14、支持1路HDMI输出,可直接接HDMI设备和VGA显示器;

15、支持3路串口:UART1,UART2,UART3(默认LINUX DEBUG),其中UART1支持RS485接口,UART2支持RS232接口;

16、支持1路SD卡接口,可接32G和64G Micro SD卡;

17、支持2路I2C接口;

18、支持1路音频输入和1路音频输出;

19、支持RTC时钟电路;

20、支持DSP 调试JTAG接口;

21、支持1路RJ45网口(10M/100M自适应);

22、支持4*4的按键KEY阵列;

23、支持1路光耦报警输入;

24、支持1路继电器报警输出;

25、支持众多独立非复用的GPIO;

26、支持1路CVBS模拟输出;

27、支持500G以上的SATA硬盘;

28、支持1路150M或300M带宽的WIFI模块;

29、支持2个USB 2.0 HOST接口(可以直接接3G模块);

30、支持1路USB OTG接口;

软件资源:

1、安装和搭建好的开发环境,直接解压到硬盘运行虚拟机,编译的时候直接运行build_xxxx.sh或make就OK了;

2、VMWare 9.0.1;

3、linux串口调试工具SecureCRT;

4、xloader-1.51支持NAND BOOT和SD卡BOOT;

5、u-boot-2010.06,支持BIN文件烧写和UBIFS的烧写;

6、linux-2.6.32;

7、DVSDK4_03,实现H264 DECODE和ENCODE例子;

8、Android2.2;

8、实现COTEX-A8跑1GHz和DSP 跑800MHz;

9、TVP5158 采集D1图像的H264 encode例子;

10、支持4个USB2.0 HOST软件和1个USB OTG软件;

11、提供WIFI驱动和应用(可选);

12、支持32G或64G micro SD卡操作;

13、音频实现1路输入和输出,有DVSDK 的encode 和decode G711压缩和解压的例子;

14、支持HDMI 或VGA输出驱动;

15、实现7寸屏显示驱动和触摸屏驱动,并实现Android2.2的运行;

16、实现4.3寸屏显示驱动和触摸屏驱动;

17、实现CVBS TV输出;

18、提供RS485的驱动和应用软件源码;

19、提供RS232的驱动和应用软件源码;

20、提供报警输入输出的驱动和应用的例子;

21、支持SATA硬盘的存储和录像;

22、提供TI c64p_imglib源码和提供视频分析优化的 VLIB;

23、提出CCS V5.2安装包;

24、提供TVP5158 在DSP端调试的CCS例子(可选);

25、支持MT9P031 CMOS SENSOR和OV CMOS SENSOR驱动,实现采集720P的图像(可选);

26、实现 4CIF图像采集和压缩(可选);

27、网口驱动和LINUX内核支持各自TCP/IP协议,RTP/RTCP视频传输协议,等等。

28、提供核心板部分原理图和底板全部原理图;

29、使用先进的ubifs文件系统,当然也可以支持squashfs,yaffs2,jffs2这些老文件系统;

30、以上凡是标“可选”的单独购买提供;

31、再次声明:我们的板子是拿来开发产品和做项目的,不是给学生学习用的;发现有人网上冒充我们公司名义在淘宝发布DM6446等产品,他们不敢提供对应的电话号码和地址,请注意不要被欺骗。

合作是最快出产品的。还有,慌慌张张做事情的也没必要谈项目合作,这几年我们接了很多项目,超过几十万的合同也有,胆小的确实不适合做项目,现在鸡蛋都1.5元一个了,所以我们的开发方案板子没有低于3500元的,其他公司有,不过需要慢慢开发,Time To Market才是王道。公司运行到这种规模上,品牌相当重要。

项目合作联系方式: 见博客旁边的个人介绍或者登录我们的网站http://www.tongyetech.com,这里就不详细写了。


本文出自 “集成系统-踏上文明的征程” 博客,请务必保留此出处http://zjbintsystem.blog.51cto.com/964211/1167159