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

TMS320C6748: 关于TMS320C6748开发板上USB驱动开发的问题????

Part Number:TMS320C6748

大家好:

       我现在在做USB的驱动开发,USB注册的是CDC总线,使用FIFO模式进行数据通讯数据长度只能达到1024字节,不能满足设计需要,看数据手册了解到USB自带的DMA可以传输4M的数据,现在想实现USB的DMA功能,主要使用的是DMA的发送功能。

       代码场景,USB注册CDC总线,接收数据使用端点接收,也就是FIFO模式,发送使用DMA进行发送,参考USB_DEV_MSC例子中的DMA,感觉帮助比较小,例子中主要是针对DMA接收和DMA初始化的操作,仿照这个例子初始化DMA和DMA的发送,发现使用串口调试助手向开发板发送一条指令,不能正常接收响应,并且有的时候存在发送几条指令后出现死机的现象(主要表现在串口调试助手死机,代码中断点不能进入),我想问下USB注册CDC总线+DMA发送这种实现方式是否是不能实现的?如果可以实现的话需要一些操作吗?

       我参照的例子是STARTWARE中的例子,我在TI官网上也下载过PDK的源码包,在文件usb_musb.c中函数setupMusbDevMsc(USB_Params* params)里面有对BULK、CDC和MSC设备总线的注册,并且在第395行有一个宏DMA_MODE,开代码的设计如果打开这个宏,DMA是可以和上述三种总线都进行配合使用的,那样的话是不是就推翻我上面的疑惑CDC总线不能和DMA配合使用?

       我现在所遇到的问题主要集中在两点吧:

       问题1:USB注册CDC总线+使用DMA发送数据的实现,如果可以实现需要注意哪些问题?

       问题2:在调用函数doDmaTxTransfer()(这个函数是DMA的发送函数)时出现串口调试助手死机的现象的具体原因可能会有哪些???

Nancy Wang:

请阅读手册 usb章节。

33.2.8.11.4 Linux CDC

User Case 4: Example of How to Program the USB DMA Controller

33.2.8 Communications Port Programming Interface (CPPI) 4.1 DMA Overview

https://www.ti.com.cn/cn/lit/ug/spruh79c/spruh79c.pdf

STARTWARE中的例程现在可以获得的支持较少,建议使用最新的PDK中的例程,如果有问题可以咨询产品线工程师。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6748: 关于TMS320C6748开发板上USB驱动开发的问题????
分享到: 更多 (0)