完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用SPC560B-DIS板我遇到了eDMA问题。
我有一个非常基本的功能设置,使用eDMA从一个阵列到另一个阵列写一连串32位字。 但它似乎没有进入第二次(或次要的)主循环迭代(如在CITER中描述一次但不是再次) 如果我手动重置TCD.START,则会发生下一次迭代(如果我继续这样做,迭代将继续,直到CITER为零且激活完成标志) 但是我假设应该由硬件启动子环'循环'。 任何帮助都将不胜感激。 #discovery #iter #dma 以上来自于谷歌翻译 以下为原文 using the SPC560B-DIS board I'm having trouble with eDMA. I've got a very basic function set up to write a succession of 32bit words from one array to another using the eDMA. but it doesn't seem to ever get on to the second (or subsiquent) major loop iterations (as in CITER decriments the once but then not again) If i manually reset the TCD.START, the next iteration happens (and if I keep doing this the iterations continue till CITER is zero and the done flag is activated) However I assume that subsiquent 'loops' should be started by hardware. Any help with this would be appreciated. #discovery #iter #dma |
|
相关推荐
3个回答
|
|
(参考手册RM0037)EDMA_ERQRL下有一节说
“在接受通道的硬件服务请求之前,必须先断言eDMA请求输入信号和此使能请求标志。” 但是除了''设置位1(CERQ [0])提供全局清除功能,强制EDMA_ERQRL的全部内容归零,禁用所有eDMA请求时,我找不到任何其他对“请求输入信号”的引用输入。“” 这表明它们是一回事? 如果没有,我是否应该做任何事情让它产生硬件请求? (顺便说一下:我正试图通过DMA运行SPI,但无论有没有SPI代码,似乎都有完全相同的问题,所以我现在假设这是一个DMA问题) 以上来自于谷歌翻译 以下为原文 (Reference Manual RM0037) Has a section under EDMA_ERQRL saying ''Both the eDMA request input signal and this enable request flag must be asserted before a channel’s hardware service request is accepted.'' But I can't find any other references to a 'request input signal' other than ''Setting bit 1 (CERQ[0]) provides a global clear function, forcing the entire contents of the EDMA_ERQRL to be zeroed, disabling all eDMA request inputs.'' Which suggests that they are the same thing?? If not, should I have to do anything to let it produce Hardware requests? (BTW: I'm trying to run SPI via DMA but seem to be having exactly the same issues both with and without the SPI code, so am currently assuming it's a DMA problem) |
|
|
|
你好Patrick,
如果您想使用eDMA硬件,您应该注意: TCD.D_REQ 禁用硬件请求。如果设置了此标志,则为eDMA硬件 当自动清除相应的EDMA_ERQRL位时 当前主要迭代计数达到零。 0通道的EDMA_ERQRL位不受影响。 1当外部主循环时,通道的EDMA_ERQRL位清零 很完美 在SPC5studio中,Giovanni提供了一个很好的edma设置示例;-) DSPI应用程序 spi和edma(cf spc5_edma.c和spi_lld.c) 最好的祝福 二万 以上来自于谷歌翻译 以下为原文 Hello Patrick , If you want to use eDMA Hardware , you should take care of : TCD.D_REQ Disable hardware request. If this flag is set, the eDMA hardware automatically clears the corresponding EDMA_ERQRL bit when the current major iteration count reaches zero. 0 The channel’s EDMA_ERQRL bit is not affected. 1 The channel’s EDMA_ERQRL bit is cleared when the outer major loop is comple in SPC5studio , there is a nice example of edma settings made by Giovanni ;-) DSPI Applications spi and edma (cf spc5_edma.c and spi_lld.c)
Best regards Erwan |
|
|
|
Erwan感谢您的回复,
我(/ am)已经使用该代码作为参考,并且通常发现它非常有用。 原来我遇到的问题是我用DMA_MUX将DMA通道链接到源。 我现在已经修好了,所以谢谢你的帮助。 帕特里克 以上来自于谷歌翻译 以下为原文 Erwan thanks for the reply, I was (/am) already using that code as a reference, and in general finding it very useful. Turns out the issue I was having was with my linking of the DMA channel to the source with the DMA_MUX. I've fixed it now, so thankyou for the assist. Patrick |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2900 浏览 1 评论
3285 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1866 浏览 1 评论
3718 浏览 6 评论
6131 浏览 21 评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
415浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
515浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
342浏览 2评论
使用STM32F407VET6的USB2.0功能,发现ctl后芯片无数据返回,是什么原因可能导致的呢?
248浏览 2评论
用STM32G431开发工程,1.50版本的Package包文件无法输出项目工程
357浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-3-6 17:33 , Processed in 1.277159 second(s), Total 48, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191