DAVINCI(ARM+DSP)开发攻略已经整整两年多没写东西了,自从写完DAVINCI DM3730的开发攻略,就基本没什么精力去写,一直在忙DM3730平台客户定制的产品设计和大规模量产的任务。算法
2015年-2016年-2017上半年爆炸性的出货,公司只好全力去支持大客户,保证产品的质量。还有得了一个可爱的小宝宝,里里外外的事情重重压过来,不得不去处理,结果博客和公司网站基本处在中止更新状态,毕竟这年头大环境是实业误国,投机“兴邦”,在这种状况下科技公司全力赚点伙食费不容易,因此博客基本就没时间更新了。网络
如今招了些员工,也外包一些事情给其余朋友作作,本身慢慢静下心来,继续DM8127的开发工做,同时在开发工程当中,把一些经验分享出来,继续耕耘本身的博客。架构
总的来讲,一我的要吃透整个TI指定的第3方DM8127的IPNC_RDK包,确实挺难,由于软件包太多东西,一我的的精力确实有限。ide
说到DM8127开发,咱们公司其实2013年就已经启动了,没错就是经过艾睿合众达,买到台湾APPRO的DM8127-IPNC(IP网络相机),如今艾睿合众达已经不卖这个产品了,由于国内用这个平台开发的公司比较少,没办法,TI的DSP就是贵,这些年出货量比较大的就海康等几个大公司了。公司迟迟没有推出DM8127产品,有如下几个缘由:布局
1、当时资金不够;性能
2、搞过这方面的人才缺少,不容易招;网站
3、公司全部资源全力支持大客户去抢占某个市场;人工智能
4、DM8127 架构比较复杂;spa
5、高清CMOS 的ISP 的2A-3A算法这些比较头疼,大大加大了开发成本和时间。操作系统
还好,目前调试出了SONY一款1/2.8寸的200万IMX SENSOR,图像效果比之前的720P好多了,感到很欣慰,本身也有动力去搞开发工做了。这2年大规模出货的时候,琐碎的事情一大堆,本人都不知道怎么过来的,整我的根本没心情去搞开发工做。
DM8127 是DM81XX系列功耗相对低一些的带浮点C674X DSP的DAVINCI芯片,浮点运算能力达到4500M FLOPS,专门针对高清相机进行设计的,由于带有ISP模块,因此能和DM368-DM385同样能够对RAW DATA的SENSOR 原始图像数据进行处理。而普通的DM8168和DM8148则没有这个功能。
DM8168和DM8148比较适合作多路D1的智能图像分析DVR的产品,DM8168和DM8148功耗都比DM8127大。固然DM8127比咱们之前开发的DM3730功耗大是确定的,毕竟强悍的性能摆在这里,本公司网站卖的对应型号核心板都有相应的性能描述,这里也不用太累赘去描述。
下面只用一个简单的表格大概了解一下几个经常使用的ARM CORTEX-A8+DSP DAVINCI芯片的对比,那个ARM9+DSP的90纳米超级大功耗的DM6467T就不用比较了,一样只有一个CORTEX-A8不带DSP的DM385/DM388这里也不列出比较。
功能 |
DM8127 |
DM8168 |
DM8148/8147 |
DM3730 |
DSP |
浮点C674X 750M |
浮点C674X 1G |
浮点C674X 750M |
定点C64+ 800M |
ARM |
A8+双M3 |
A8+双M3 |
A8+双M3 |
A8 |
性能 |
强 |
最强(优) |
强 |
最低 |
功耗 |
大 |
最大 |
较大 |
最小(优) |
ISP |
强大的ISP(优) |
无 |
无 |
弱化的ISP |
SATA |
无 |
有 |
有 |
无 |
网口PHY |
有 |
有 |
有 |
无 |
USB PHY |
有 |
有 |
有 |
无 |
DSP L2 |
256K |
256K |
256K |
64K+32K SRAM |
ARM L2 |
256K |
256K |
512K |
256K |
H264编解码算法 |
不占用DSP资源 |
不占用DSP资源 |
不占用DSP资源 |
占用少许DSP资源 |
内置人脸识别 |
有 |
无 |
无 |
无 |
DM8127内部结构图:
DM8168内部结构图:
DM8148/DM8147内部结构图:
若是须要更详细的功能对比,你们能够到TI网站下载对应的DATASHEET资料。
按道理来讲,DM8127是12年TI发布的产品,真正芯片规模量产是从13年开始,到如今17年应该是比较落后的芯片了,为何咱们还要坚持去作呢?
你看看人家那些手机芯片,半年推出一个新的知足旗舰机要求的芯片,更新换代特别快。但从咱们工业应用角度讲,TI DSP不同,TI 的芯片生命力很是强大,通常主推的芯片都是10年以上的生命周期,好比DM6446如今都还有公司在大规模出货,毕竟如今DM6446比2010年那时便宜多了。TI那些TMS320F28XX工控芯片,用在电力系统,电机,电源等控制领域,生命力更增强大,好几个都超过10年以上的生命周期。不仅仅在工业应用,在国防军工TI的DSP扮演很是重要的角色。
公司坚持作DM8127,是由于公司也一直在作DAVINCI图像分析的SOC平台,还有目前图像识别(视频分析)这个市场并无萎缩,而是愈来愈壮大,本人也看了×××2017年7月8日发布《新一代人工智能发展规划》全文,里面确定少不了图像识别(机器视觉)这一块的产品,像车牌识别人脸识别都是不错的产品,给社会管理带来很大的便利。
在视频分析方面,TI ARM+DSP的方案,至关适合不一样种类算法的移植,纯粹C/C++语言,也适合中小公司快速设计产品,比那种烧钱的ARM+FPGA仍是有优点的,移植现成的算法(好比OpenCV啊等等)到FPGA,你必须找到很是牛的人,这种人对verilog语言和HLS语言很是很是熟悉,并且对硬件逻辑很是熟悉,对现成算法每一个模块都很是熟悉。还有TI 2014年推出的那个用32级流水线执行指令的杀手锏浮点DSPC66X,从2017年开始加入到了DAVINCI系列,目前推出的是DM50X,只不过ARM 是双Cortex-M4超级单片机,跑的是TI RTOS(DSP BIOS这种实时操做系统)。这个C66X 浮点DSP拿来作视频分析超级爽。
至于DM8127的开发攻略要如何写,本人文化水平有限,文字功底更有限,无法按照那种专业布局架构去写,因为IPNC_RDK软件包涉及到的东西比较多,我只能先从开发人员从无到有的角度去写。
好比搭建Linux HOST开发环境,IPNC_RDK总体架构分析,BOOT过程和应用程序运行过程等等。就是买芯片回来后,参考开发板,设计好硬件,咱们是如何一步一步去开发这个平台的,如何让这个本身作的裸板自动跑起来。
IPNC_RDK有相似的相关手册,可是写的用户手册是有点简单,只是告诉你他们的IPNC高清相机如何使用,软件包如何编译等等,对如何工做的原理没太多精力去描述,特别是他们那一套McFW,本人总感受介绍有点简单,若是不是分析过源代码,根本不清楚McFW的架构。
本人要写的开发攻略出发点不一样,有时间和兴趣就写写,分享分享,或许对那些毕业设计的学生有帮助,或许对那些出来工做的新手有帮助,或许能碰见在这方面共同爱好的朋友,看看是否有合做可能,共同去作一个好的图像识别(视频分析)产品,好比有些朋友有很好的图像识别(视频分析)算法,软件有一个好的卖点,而对硬件设计啊,生产啊,认证啊,电磁干扰啊,防雷啊等等没法分心去作或者不够专业去作,咱们就能够提供对应的软件平台和硬件平台去帮客户实现他们的卖点,实现双赢的同时,咱们共同作的产品能给社会带来良性的帮助,本人以为也是一种成就。