打印

TCP3D demo 程序挂起

[复制链接]
1048|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
无尽海|  楼主 | 2014-7-28 21:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人新手,求指教
板子用的是TMDSEVM6670L。例程版本:pdk_C6670_1_1_2_5\packages\ti\drv\exampleProjects\tcp3dExampleProject
程序运行到Void rcvBlockTaskFunc(Void)的第一个while(1)的  Semaphore_pend(semRcvStart, BIOS_WAIT_FOREVER);(837行)后挂起
此时检查内存发现码块数据已从外部文件读入到MEM中,但是直到挂起都没有通过EDMA读入到TCP3D的内存中去,是不是因为这个原因导致接收task认为没有收到数据,所以一直保持挂起状态,等待接收完毕?
还有就是EDMA传输是不是在执行  Tcp3d_start() 的时候就启动了?

相关帖子

沙发
无尽海|  楼主 | 2014-8-6 16:17 | 只看该作者
问题已经解决
这种情况下确实是由于没有post(semRcvStart)造成的,这时候,要先检查挂起时0x2080000内存地址中的内容,如果全为0的话,则说明是TCP3D没有输出数据,如果不为0,则说明TCP3D输出了数据。
全为0,则可能是tcp3d_example_main.c中的power domain默认没有使能,需要如下操作:
1.将enable_tcp3d() 中的#ifndef, #elseif, #endif等条件编译语句直接注释掉,让程序能够直接执行该段代码
2.在main.c中添加如下:
#include <ti/csl/csl_psc.h>
#include <ti/csl/csl_pscAux.h>
#include <ti/csl/cslr_device.h>
头文件
此时,再次编译工程,应该就能够调通了

使用特权

评论回复
评分
参与人数 1威望 +4 收起 理由
zhangmangui + 4 赞一个!
板凳
zhangmangui| | 2014-8-6 22:23 | 只看该作者
无尽海 发表于 2014-8-6 16:17
问题已经解决
这种情况下确实是由于没有post(semRcvStart)造成的,这时候,要先检查挂起时0x2080000内存地 ...

好的   谢谢你的分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝