完善资料让更多小伙伴认识你,还能领取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 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
1912 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3667 浏览 4 评论
5042 浏览 0 评论
请问如何用DM368对RGB格式的图片数据进行编码生成JPEG格式图片?
1741 浏览 1 评论
9426 浏览 8 评论
CC3100BOOST使用CC3200lunchXL进行烧录
687浏览 2评论
735浏览 1评论
TMS320F28034: 利用C2prog通过SCI给TMS320F28034烧录程序,出现错误提示:Bootloading... failed (invalid echo)!
704浏览 1评论
求DLPC350 Programmer’s Guide User's Guide 中文版说明书
1210浏览 1评论
1794浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-5-13 23:26 , Processed in 0.797124 second(s), Total 72, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号