您好,欢迎来到61ic! | [登录] [注册] 忘记密码 | 设为首页 帮助
 . 网站首页 . 业界新闻 . 设计中心 . 移动技术 . TI专栏 . ADI专栏 . FPGA专栏 . 代码工厂 . 官方商城 . 
 . 活动专区 . 新品快递 . 解决方案 . 前沿科技 . TI资源 . ADI资源 . FPGA资源 . 下载中心 . 产品展示 . 
加入收藏
付款方式
联系我们
您现在的位置: 61IC电子在线 >> TI专栏 >> TI DaVinci >> TMS320DM81x SOC >> 正文
  DM8168 DVRRDK-link开发讲解           ★★★ 【字体:
DM8168 DVRRDK-link开发讲解
作者:木之子    文章来源:木之子    点击数:    更新时间:2014-8-24    

 在dm8168_dvrrdk开发过程中,遇到不少的问题,同时解决了不少问题,在此做一个小小的总结。
    1.系统架构
        系统架构由两部分组成,app应用程序端和link链路。


    (1)app应用程序端(arm端):
         此端也是用户端,直接操作数据层。读取数据(为整个link链路读入数据流)以及存储数据(将整个link链路处理完的数据结果通过此端进行存储)。
   (2)link链路端:
         此端为底层端。它分为M3(vpss和vedio)、DSP、linux。在链路chain的搭建过程中要注意,vpss与vedio之间有专门的通信机制,M3、DSP与linux则为核间通信。

    2.link链路创建
        每个link都具有唯一ID号
        每个link都有一个或多个输入列队,同时也有一个或多个输出列队
        特定link有些特定参数。如
            notifyprelink、notifynestlik、nonotifymode等:核间通信使用。
            processlink:多用在alglink中,主要是具有特定的数据流向。processlink对数据做相应的处理完后,数据仍需返回给当前link。
            ex: ipcframeOutVedio->processLink = alglink,即alglink处理完后返回给ipcframeOutVedio。
        因此:在定义当前link时,需定义出指向上游以及下游的linkID,是承接上游的哪一个输出列队,以及自己有多少个输出列队。
        链路定义好之后,需要从上至下一一调用System_linkCreate函数创建好链路。

    3.linkstart
        每个link需要调用System_linkStart进行开启,并且调用方式是从下至上。

    4.问题:
   (1)ListMP_GetHead(listMPInHndl)为NULL
    Answer:其下一个link没有调用ListMP_putTail(listMPInHndl),所以肯定为NULL。即释放机制没有达成,只需要在下一个link中调用释放机制即可。
  (2)Venc_registerCallback
    Answer:在dvrrdk4.0中,Ti_venc.c中只提供了注册回掉函数机制,但没提供消息响应机制,所以用Venc_registerCallback的同仁们请参照Ti_vcap.c中写,否则可以用Vcap_registerCallback。

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    DM8168 DVRRDK开发总结
    osd-link移植的代码流程
    scd-link移植的代码流程
    YUV422与RGB互相转
    DM8168 PWM驱动与测试程序
    DM8168中程序启动分析及如何…
    DM8168视频格式及HDVPSS研究
    TMS320DM8168下GDB远程调试环…
    DM8168集成图像算法(改正官…
    DM8168电源调试总结
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61 湘ICP备13001086号-2