深圳的春天,梧桐山上绿意浓浓,山花醉人香,蜂蝶采蜜忙!现在只能在山上看到这些生机勃勃的景象了,山下的水污染完了,空气也不咋样。但相对北方的兄弟姐妹长期生活在灰霾和沙尘的环境,这里也很难得了,地下水的污染,不单单北方有,南方很早就打井排污了,治理要近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开发攻略——RHEL6在VM7.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以上,见下图。
图-1 分配虚拟机硬盘
图-2 本人的VM硬盘分配
本人的PC机内存是4G,给虚拟机这边分1252MB或1536MB是没问题的。如果使用你的PC机是2G的内存,那建议你分配512MB给虚拟机,效率有点慢。
图-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。
图-4 先在WINDOWS下建立共享文件夹
图-5-0 VM共享文件夹设置
然后在VM->settings里按图-5进行设置,那么进入虚拟机命令行后,使用#cd /mnt/hgfs/dm3730,就可以看到WINDOWS共享目录dm3730里边的文件了,比SAMBA好用。
本人喜欢使用root登录:
图-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 –R 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开发包
下面我们着重看图进行安装,用图片来演示相关的操作命令更直观。
图-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开发包,免费的,并把该文件放到刚才提到的共享文件夹里边,
图-7 建立dm3730 dvsdk4_03的目录
开始按图-7上面提示的命令进行操作,我们先在/home/davinci/下建立dm3730的目录,然后再dm3730的目录里边再建立dvsdk4_03的简短目录,不要用长长的名字,烦。
图-8 运行dvsdk_dm3730-evm_04_03_00_06_setuplinux
进入共享文件夹的目录cd /mnt/hgfs/dm3730,先使用chmod +x dvsdk_dm3730-evm_04_03_00_06_setuplinux改变这个文件的使用权限,然后运行这个安装包。
图-9 dvsdk4_03的安装开始界面
这时自动进入图形安装界面,修改安装到LINUX HOST里指定的路径,千万不要按图-9默认指定的路径,
图-10
应该按图-10指定的路径,然后按“Next”往下进行安装,
图-11
图-11的元素全部选上,
图-12
图-13
图-14
继续往下安装,这个从图-12到图-15整个过程有点长,因为这个开发包解压后很大。
图-15
到图-15表示安装结束,这时建议看看“View Softwate Developers Guide”更多了解整个DVSDK4_03的介绍。
图-16 dvsdk4_03的开发包元素
进入/home/davinci/dm3730/dvsdk4_03的目录ls一下,就可以看到这里有很多开发包元素,还有一个经典的setup.sh文件,先别急运行这个文件。
图-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的简化版文件系统。
第四、 搭建TFTP和NFS服务器
这里我们单独把TFTP和NFS SERVER的搭建单独来介绍,上面提到的dvsdk4_03/setup.sh,已经把这些安装命令和脚本写好了,不要像安装DM6446开发环境那么麻烦。
图-18 修改setup.sh脚本
在dvsdk4_03的目录下,使用gedit setup.sh &命令,对setup.sh进行编辑,我们按图-18进行屏蔽setup-minicom.sh,这个minicom是运行在LINUX HOST里边的串口调试工具,本人觉得不太好用,我们喜欢WINDOWS下的SecureCRT,这个SecureCRT串口工具非常好用。然后把setup-uboot-evn.sh也可以屏蔽掉,最后保存这个文件。
图-19 运行setup.sh脚本
直接按图-19运行,./setup.sh,
图-20 安装g++
自动安装g++的过程见图-20。
图-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和*之间有个空格)。
图-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 –p dm3730rootfs
#tar zxf arago-base-tisdk-image-dm37x-evm.tar.gz –C 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基本相同。
图-23
提示按回车键继续往下安装。
图-24 安装TFTP SERVER
图-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
这时出现
图-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小系统板)介绍:
尺寸:长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开发板图片放到他们公司网站上,欺骗其他人,我们桐烨科技从来没有想到让其他公司做代理。
硬件资源:
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才是王道。公司运行到这种规模上,品牌相当重要。