DM6446开发-工具链概述 转载http://space.ee365.cn/?uid-1430-a - sarah的BLOG - 52RD R&D Blog - 研发人员聚集的专业博客_我爱研发网_52RD.com

来源:百度文库 编辑:神马文学网 时间:2024/06/13 14:43:37
DM6446开发-工具链概述 转载http://space.ee365.cn/?uid-1430-a
Wally 发表于 2007-10-16 10:36:00
DM6446的双核架构使得开发流程与单核的DSP或者ARM或者AP变得复杂,尤其是要开发自己的DSP端算法的时候,一个合适团队工作的开发流程和工具链的构建和维护变得重要起来。无论是从DM642系统过渡到DM6446,还是从DSP+ARM双芯片系统过渡到DM6446,都需要面临一系列的问题。DM642是一个单核芯片,DSP内核独享片内存储器,独享DMA资源,独享最小系统资源(Flash和DRAM),所以用DMA就是用CSL,随便你用,反正没人跟你抢;DSP+ARM的架构是一个双芯片系统,跟双核单芯片的DM6446区别就更大,首先两颗芯片的内核还是在独享片内存储器,独享片内DMA资源,独享最小系统资源,他们之间只需要进行数据和信令的通信,做过硬件的,可以理解Dual-PortSRAM的工作原理,一块存储器,两个端口,为了避免对同一块存储区进行操作,设置了各种方式,譬如信号量,做过软件的,就更容易理解,两个内核之间的通信就好比两个线程之间的通信,无非是通过共享缓存,信号量,互斥量,邮箱等完成的,于是,这里就引出了一个Framework-CodecEngine,这个东西是ti提供的一个框架,这个框架的底层可以是一颗DSP内核,可以是一颗ARM内核,也可以是双核,这个框架的上层软件分为应用程序和算法,应用程序通过CE的API调用算法,至于这个算法是在DSP上跑还是在ARM上跑,应用程序是不知道的,完全通过CE屏蔽掉了,这个过程其实就是一个RPC,这个CE的好处就是,基于该框架开发的软件可以很快的Porting到不同架构的达芬奇处理器上,而应用软件和算法之间的兼容性则通过xDM标准来保证,ti通过CE和xDM即保证了自己的利益,也保证了第三方的利益,更保证了系统集成商的产品可以快速换代上市。CE里面有几个组件,或者我们叫做package,一个一个的说,DSPLink是用来做应用软件和算法之间进行信令通信用的,DSPLink的package里也有很多小模块,可以运行一个简单的脚本进行配置,然后再从新make出需要的dsplinkk.ko做为Linux模块加载的驱动;Cmem是用来做共享内存分配的,因为应用程序是运行在MVistaLinux上的,在应用程序里malloc到的buffer都是虚拟地址,实际的物理空间不一定连续,当把这个指针传递给算法的时候,问题就出现了,因为算法是运行在DSPBios上的,这是一个只有实地址的世界,为了解决这个问题,在共享缓存动态申请空间的时候,就要调用Cmem提供的api;xdctools是一个ti提供的工具组建,也是一个最核心的组件,任何的编译行为都是通过xdctools来解释脚本内容调用各种编译器来完成的,CCS下和Linux下的工具链是一样的,可以看到安装后CCS路径下的东西,一个是DSPBios,一个是CC,这里面是交叉编译器,还有一个就是XDCTools,在Linux下的CE也是如此,只不过还多了点料,譬如DSPLink和Cmem,所以,所有的组件package都可以在CCS下用,我们测试过FC,在CCS下Build,调用一样Ok,在Linux下用也是Ok的,就是这么简单;FC里有两个组件,一个是ACPY3和DMAN3,用来做DMA的,一个是DSK2,用来管理DSP的存储系统资源的(譬如协调多个算法使用片内存储器)这两个package可以理解为ti提供的符合xdais标准的软件,通过api和配置脚本可以方便的使用这些module;CGTools,这个就是DSP的交叉编译器,大家都很熟悉我就不多说了;DSPBios,使用CE一定要用DSPBios,我也遇到过两个客户,抛弃了Bios和CE,自己做双核通信,说是因为Bios效率低,个人觉得Time2Market才是王道! 最后再次对于很久不更新博客表示歉意,最近刚安定下来,欢迎大家多多交流!
DM6446开发-工具链概述 转载http://space.ee365.cn/?uid-1430-a - sarah的BLOG - 52RD R&D Blog - 研发人员聚集的专业博客_我爱研发网_52RD.com tcp粘包分析 - imjacob的BLOG - 52RD R&D Blog - 研发人员... 元泰世纪科技拓展移动二维码应用新领域 - 我爱研发网 52RD.com - R&D大本营 简单的I2C协议理解!(无图) - EEcha的BLOG - 52RD R&D Blog ... 手机开机怎么看芯片 - zsqt8888的BLOG - 52RD R&D Blog - 研... c语言中static 用法总结 - imjacob的BLOG - 52RD R&D Blo... #pragma 预处理指令详解 - sunhuibo的BLOG - 52RD R&D Bl... [人在职场]技术人员创业经[转] - zsqt8888的BLOG - 52RD R&D B... PPT设计者必看的十大博客 - xuanny的BLOG - 52RD R 思比科微电子发布本土首款320万像素CMOS图像传感器 - 我爱研发网 52RD.com ... 我的博客:http://zwkzwkzwkzwkzwk.blog.163.com http://vhead.blog.sina.com.cn/player/outer_player.swf?auto=0&vid=13529637&uid=1270989414type 2012年预言的巧合 大全(-----邪影的博客http://blog.sina.com.cn/zhigaoshen 悠然的秋夜长话http://blog.sina.com.cn/youranba 博金的博客http://blog.sina.com.cn/chensx888899文墨 致我所有的朋友(无论已婚与未婚)http://blog.sina.com.cn/asd1168811688 手机TDMA noise的产生 - Adamwu的BLOG - 52RD R 别再拿“技术”说事——一位MTK手机研发人员的心灵独白 - RD灌水也疯狂 - 52RD研... 全面的手机结构设计Check list - 结构与ID研发讨论区 - 52RD研发论坛 我的Blog工具 我的Blog工具 我的Blog工具 发力网络,企业品牌新体验 - starmcy - 计世博客 IT人的博客! -http://blog.ccw.com.cn 网络营销VS传统营销 - starmcy - 计世博客 IT人的博客! -http://blog.ccw.com.cn