完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
各位专家,我在ezDSP5535开发板上用CCS5.3,在c55_csl_304ccs_v50_examplesu***CSL_USB_DmaExample的基础上修改发送缓冲区,可以向PC发送自定义的数据了。现在我想让5535读取SD卡内的几十GB的数据并发送上来,问题如下:
1.原工程里面是Transparent DMA模式,当然也可以用每次发送512B,执行多次的方法,但感觉这样效率比较低 2.如果用RNDIS DMA或Generic RNDIS DMA,除了做好相关寄存器中的模式设置之外,是否只需要改USB_confDmaTx()函数?还有其他需要改动的地方吗? CSL_Status USB_confDmaTx(DWORD dwEndpoint, CSL_U***HostPktDescr *hpdtx,Uint32 packetsize, Uint16 *pTxBuffer,Bool swapWords) [ ………… if((hpdtx != NULL) && (pTxBuffer != NULL)) [ ………… hpdtx->Buffer0InfoWord0 = packetsize; //是否普通RNDIS最大为4M-1字节,而Generic RNDIS最大为65536字节? hpdtx->Buffer0InfoWord1 = ((Uint32)pTxBuffer) << 1 | 0x80000; //该buffer长度是否与packetsize一致? hpdtx->LinkingWord = 0; //是否不再为0,若指向next buffer应该怎么修改? hpdtx->OriginalBuffer0InfoWord0 = packetsize; hpdtx->OriginalBuffer0InfoWord1 = ((Uint32)pTxBuffer) << 1 | 0x80000; ………… ] 3.手册中说transparent dma每次传输完成后都会产生一个dma中断,但在例程中没有发现相关的dma ISR,请问是什么原因? 4.若改为RNDIS DMA或Generic RNDIS DMA,是否也不需要dma ISR? 初次接触USB,请多指教!! |
|
相关推荐
3 个讨论
|
|
没有RNDIS的例程可以参考。
根据TRM RNDIS DMA Transfer Setup的要求,把模式改为RNDIS 模式就可以了,例程中MzxPktSize=64bytes已经满足要求。USB_confDmaTx的话,buffer可以改成你要求的大小。 http://www.ti.com/lit/ug/spruh87h/spruh87h.pdf 没有用到DMA中断就没写,看你是否需要DMA中断去做处理。 上面文档13.2.9.9 CPPI DMA Transfer Interrupt Handling专门有讲DMA中断处理。 |
|
|
|
|
|
好的谢谢,我再试试。另外13.2.9.9中似乎两句话矛盾:
The firmware needs to use queues not reserved by H/W as Completion Queues if require for DMA interrupt to be generated on a completion of a transfer. 若传输完成后需要产生中断,Firmware 需要使用未被硬件保留作为completion queue的queue. If need not to generate an interrupt, firmware is required to use queues that are not reserved as completion queues (queues 28 to 67). 若不需要产生中断,则应使用未保留的queue28~67作为completion queue 那么问题是:若使用queue28~67,会不会产生中断? |
|
|
|
|
|
su56789 发表于 2019-10-23 14:02 谢谢指正,文档中的这句话确实有错误,not应该去掉才对。 The firmware needs to use queues not reserved by H/W as Completion Queues if require for DMA interrupt to be generated on a completion of a transfer. 我已提交这个typo。 http://www.go-dsp.com/forms/techdoc/doc_feedback.htm?litnum=SPRUH87H |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
684 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
600 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1055 浏览 1 评论
741 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
525 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
166浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
128浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
127浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
123浏览 12评论
GD32F303RCT6配置PA4 ADC引脚,将PA2代替key功能,PA2连接时无法实现预期功能,为什么?
53浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 02:37 , Processed in 1.009711 second(s), Total 70, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号