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.

請教EDMA channel的使用函義



您好,

EDMA3CC0 有16個DMA channels 
EDMA3CC1 有64個DMA channels 
EDMA3CC2 有64個DMA channels

我在EDMA範例程式看到使用DMA TC channel都是用下面這行程式碼只取得1個channel使用,

CC_channel = get_EDMA_TC();

想請問每一次用DMA傳輸資料只能用一個channel傳輸嗎?

可不可以一次同時用50個channels傳輸資料, 變成快50倍?

或是說把一張圖切8等份, 有8個cpu,每個cpu用DMA的一個channel傳1/8的圖, 就等於同時用DMA 8個channel傳一張圖, 快8倍?  謝謝

  • 可以同时进行数据搬移的硬件引擎是TC,Keystone芯片上一般有一个或多个EDMA的模块,每个模块上有2-6个TC,每个个TC都能单独发起数据传输,具体TC个数可以参考相应的数据手册。

  • 謝謝, 但有些地方還是不太懂,聽你的意思也就是同時間最多10個TC同時在傳輸吧

    EDMA3CC0 有16個DMA channels and interrupt channels, 8 QDMA channels, 128 PaRAM set, 2個TC
    EDMA3CC1 有64個DMA channels and interrupt channels, 8 QDMA channels, 512 PaRAM set, 4個TC
    EDMA3CC2 有64個DMA channels and interrupt channels, 8 QDMA channels, 512 PaRAM set, 4個TC

    1.想請問有10個TC用來傳輸數據, 那上面的16 + 64 + 64 = 144 DMA channels是用來做什麼的?

    2.128 + 512 + 512 = 1152個PaRAM是指 我們最多能設定1152組PaRAM供我們鎖鍊(chaining)連續傳輸使用嗎?