This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Starterware/AM3517:未调用 SDMA 接收中断

Guru**** 2555630 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/610996/starterware-am3517-sdma-receive-interrupt-not-called

器件型号:AM3517

工具/软件:Starterware

您好!

我使用 AM35x Sitara 进行 SDMA 传输。

sdma 已初始化,以便将 sdma 存储器复制到存储器。

出于某种原因、在发送缓冲区后不调用中断回调处理程序。

我在通道#0上发送缓冲区、因此我希望调用 IRQ #12。 因此、中断处理程序被记录在 IRQ #12上。

是否有任何想法,原因可能是什么? 它是时钟、电源域问题吗?

谢谢、

已运行

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您使用的是什么软件? 哪个版本?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我将裸机与简单服务(如 uC/OS)配合使用。
    我已经验证了在各种模块(例如定时器)上接收到中断处理程序。

    此外,在同一个处理器上验证了相同的 DMA 测试,但使用了不同的操作系统。
    此致、
    已运行
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我还想补充一点、这是我正在执行的读取/写入序列:





    WR:0x48056078 0x10080
    RD:0x48056090 0xe1e56
    WR:0x48056090 0xe1e56
    WR:0x4805609c 0x8000c440
    WR:0x480560a4 0x0
    WR:0x480560a8 0x0
    WR:0x480560a0 0x8000c4a8
    WR:0x480560ac 0x0
    WR:0x480560b0 0x0
    WR:0x48056098 0x0
    WR:0x48056094 0x100
    RD:0x48056080 0x3065000
    WR:0x48056080 0x3065000
    WR:0x4805608c 0xffe
    WR:0x48056088 0x20
    RD:0x48056018 0x0
    WR:0x48056018 0x1
    RD:0x48056080 0x3065000
    WR:0x48056080 0x3065080

    <--等待中断

    感谢您的任何建议、
    已运行
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否参考了 AM35x TRM 修订版 C 的第7.5节?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Biser、

    谢谢你。
    我确实进行了一个过程、现在我看到、如果发送大小大于1024字节、就会调用中断处理程序。
    该测试将 FIFO 深度配置为128、因此我确定它可能与该值相关、但尝试降低该值时、我仍然会得到只有1024的较大大小才会导致调用回调处理程序。
    我将继续调查。

    此致、
    已运行