使用EDMA多增加使用的頭文件
以core1舉例說明
首先在主函數里面對EDMA進行初始化,初始化函數用的是KeyStone_common.c中的初始化函數,並且沒有修改他。
問題
這里有疑問查閱資料有的地方說要初始化EDMA中斷,還有什么事件,我這里使用的時候好像都沒用到中斷事件?
問題
core1~4這樣選擇CC和 TC是否正確?應該如何配置?
我目前了解到的是CC0是用於MSMC和DDR3的數據讀寫,CC1,CC2用於外部存儲設備和各個core片內存儲設備的數據讀寫。
EDMA傳輸函數
其中一共要循環讀取793次,每次讀取數據量為4*512*2*2*4B,因為我們需要實現的功能要求一批數據為512*2*2*4B,但是經過實際測量,EDMA這個函數,數據量讀取的越大,吞吐量越接近TI官方手冊說的理論值。所以我們一次選擇讀取4批數據到L2內,進行分離。
具體參數為:
DDR_start_SRC+gate_num_2_i*4*512*2*2*4 :為從DDR3讀取數據的SRC地址。每次讀取都要變化增量偏移一次。
問題
查閱TI官方給的EDMA手冊知道,
那么想知道我們這種寫SRC地址的方法是否就是手冊說的 增量地址。還是應該有其他寫法更合理?
還有,每個核我都是這么寫的,沒有涉及手冊說的什么優先級,中斷,不知道實際用起來安全性和穩定性怎么樣?想知道怎么測試安全性穩定性
最后一個問題問題就是,我想要用EDMA從L2寫數據到MSMC可行嗎?因為我目前查到的資料都是說明都是DDR3~MSMC或者外部寄存器到L2。(四個核同時並行調用EDMA)