导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[wangzaixia]基于DAVINCI的3G视频服务器的设计



No.74692
作者:wangzaixia
邮件:wangzaixia@asfas.net
ID:128698
登陆:11次
文章数:17篇
最后登陆IP:222.212.69.241
最后登陆:2010/12/23 14:47:56
注册:2009/5/3 14:22:52
财富:194
发帖时间:2009/8/24 11:49:59
发贴者IP:222.212.66.93
标题:wangzaixia:基于DAVINCI的3G视频服务器的设计
摘要:No.74692基于DAVINCI的3G视频服务器的设计 基于DAVINCI的3G视频服务器的设计
基于DAVINCI的3G视频服务器的设计 1
摘要 1
1:DSP的手动加载实现 1
2:视频编码算法的移植 2
3:视频编码算法的优化 2
4:基于共享内存的arm和dsp交互设计 3
5:PC端客户端软件的实现: 3
6:3G的实现 3

摘要:
视频编解码系统一般的实现可以采用DSP,ASIC专用芯片,FPGA可编程逻辑芯片,基于DSP处理器设计的系统具备易于升级,易于扩展等优点所以在视频系统设计中被大量采用。TI DAVINCI 6446处理器是TI公司最新的双核视频处理芯片,TI公司提供一种基于CODE ENGINE的API机制封装了复杂的DSP的编解码接口,给ARM应用程序提供一种简单明了的系统调用来实现视频的处理,但是同时这种机制也存在一个问题,就是如果要对机制本身进行一些修改或者扩展,添加自定义的接口或者算法,需要开发者去深入了解复杂的code engine机制,成都宇鸿科技提出一种跳过code engine机制,直接使用coff文件加载双核中的dsp处理器,直接根据共享内存实现arm和DSP的通信。DSP直接运行一些开源的编解码算法比如XVID,或者T264。该方法具备算法移植简单,arm和dsp接口自定义,
系统框架非常简单的优点。本文提出的DAVINCI 开发系统开发的时候只需要CCS开发工具和montvista的linux arm编译环境,整个产品开发可以不需要仿真器的参与。

实现:
1:DSP的手动加载实现
   在DAVINCIN 6446双核处理器出来之前的DM642或者不含arm的davinci DM6437芯片都是可以通过PCI 和HPI接口进行DSP程序的加载的,首先开发者使用CCS工具生成目标coff文件,通过TI提供的BIN文件转换工具转换成二进制的加载文件。加载程序DSPboot读取该文件,把文件中的每一个程序段根据相应的加载地址加载到DSP的内存空间或者L2RAM,最后把处于RESET状态的dsp 恢复运行,DSP从入口地址开始运行。
Dsp加载的流程如下:
 
按此在新窗口浏览图片
2:视频编码算法的移植
本文以XVID在DAVINCI 6446上的移植为例子,展示如何用CCS编译生成在DSP上的可执行代码。
1:首先新建一个CCS工程,并且把所有的XVID的c源码文件拷贝到工程的文件夹下面
编译的时候有几个问题:

2:没有configure文件,需要用户手动在portb.h中加入了以下的定义: 
#define ARCH_IS_GENERIC 
#define ARCH_IS_32BIT
 #define ARCH_IS_LITTLE_ENDIAN 
3:ccs不允许数组初始化的时候用变量,改变一下数组的代码编写方式编译通过。 
4:很多函数没有定义,是c标准库,目前加的是 rts6400_eh.lib

按照上述步骤编译XVID
接下来就是编写系统的内存分布CMD文件,可以参考ti的example目 ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:16毫秒 最大:484毫秒 查询6次