DM6437 C64X EDMA 疑惑總結記錄

2021-09-08 16:58:16 字數 1055 閱讀 8449

總結一下dm6437中的edma的使用出現的問題,方便以後再開發定位問題。

1.edma link 和 chain的區別

link實現了dma的自動重載入(非靜態模式),需要兩個param

chain是不更新param set表,直接event對應的param。

2. transfer completioncode(tcc)

a.opt中的tcc決定了pending bit的位置,不需要做到和channel的一一對應。故理論上同乙個tcc可以對應多個channel

b.如何使chain方式下,這個tcc決定了下次event觸發的channel event id.

3. q0,q1、q2和tc0、tc1和tc2

dm6437的edma控制器有3個queue。對應的是transfer control. 64個channel可以配置到指定的queue中,當然q0 priority最高,預設64個都配置到q0上。

4 edma最優的模式:acnt≤dbs acnt is power of 2 bidx=acnt bcnt≤1023  sm/am = 0(increment)

5.在link 模式下opt.static =0時。最終傳輸完成後會link到0xffff,即設定param為乙個null param

6,對於a與a-b snyc模式的event數

對於a模式,需要bcnt*ccnt個event。即如果外設peripheral的話需要觸發出這麼多個event事件

而對於a-b模式,只需要ccnt個event,故對於常常二維2d處理時,只需要ccnt =1 就可以滿足,故手動一次設定就可以。

而如果是3d的話,手動的話就需要ccnt次event(考慮到ccnt交小時,可以考慮使用執行opt.static = 0,並且intermediate chain(每個tr即2d後啟動再event到自己));3d模式使用的不是很多。

7. mcbsp和edma結合使用時出現只能啟動一次transfer?

因為在完成基本的傳輸後,最後還會傳送乙個event觸發了乙個null,會置位esr,從而阻塞了q0。故需要清除esr暫存器。相同通道的dma才可以再次工作

DM6437 讀寫DDR測試過程

硬體平台 dm6437evm 除錯工具 ccs3.3 ddr讀寫程式 uint32 memfill32 uint32 start,uint32 len,uint32 val read pattern for i start i end i 4 return errorcount volatile u...

7 inch LCD 除錯記錄 DM6437

對於助視器7inch 液晶配置除錯記錄 dsp晶元 dm6437 lcd晶元 at070tn92 lcd模式在hv模式,資料介面為rgb888模式。利用vpbe 中的lcd controller傳輸資料。vpbe中採集的資料為yuv422。lcd controller 能夠將yuv格式轉化為rgb格...

移植DM9000C驅動

核心自帶的dm9000驅動程式不能用於dm9000c上,把廠家提供的驅動程式移植到開發板上。dm9000 是乙個記憶體介面的晶元,兩個同樣接有 dm9000 的開發板,最小差異 基位址 位寬和中斷引腳。1,基位址 位址線和資料線上掛有網絡卡晶元 記憶體和 norflash。如何訪問乙個網絡卡裝置而不...