TI中文支持网
TI专业的中文技术问题搜集分享网站

DM648的DAT模块调试问题

之前在网上看资料,在Bulid Option中定义了CHIP_DM642并添加csl库,使用csl2_dat.c模块,但是在运行一段时间后程序跑死在DAT_wait模块中,找了很久没找到原因,由于648不再使用csl,不知道这样能不能用,后来又模仿该c文件重写DAT模块,具体代码见附件,去掉Bulid Option中对642的定义并移除csl模块,但是程序还是跑死,有时在DAT_wait中,有时在_getFreeChannel中(IPR位均为0,无法开辟新通道),若打开TEST定义(中断方式),即利用中断的话程序会跑死出现如下情况,不知道什么原因

结构体定义如下:

//DAT模块数据结构体
typedef struct tDat
{
    Int32 segId;                                                                 //内存段ID,如SDRAMHEAP/ISRAMHEAP
    EDMA3_DRV_Handle hEdma;                               //EDMA3 Driver Handle, used to call all the Driver APIs
    CSL_Edma3ccShadowRegsOvly shadow;         //DMA Channel Controller Regions Shadow Register
    EDMA3_DRV_PaRAMRegs param;                      //DMA Parameter RAM
    Uint16 chId[DAT_CHANNEL_NUM];                     //DMA Channel ID, 10 channel run in parallel
    Uint8 tcc[DAT_CHANNEL_NUM];                          //DMA Channel TCC code
    Uint32 mask[2];                                                         //通道状态掩码
    Uint32 chIdx;                                                              //当前DAT模块使用的通道索引
} tDat;

 

zhiping liu:

这种不固定位置的死机可能是板子本身抗干扰不行,如果有电机,电机不启动试试,在多几块板子上试试。

xiangfei mi:

回复 zhiping liu:

没有电机啊,只有视频,然后就是DAT模块搬移视频数据

赞(0)
未经允许不得转载:TI中文支持网 » DM648的DAT模块调试问题
分享到: 更多 (0)