TI中文支持网
TI专业的中文技术问题搜集分享网站

請問EDMA的Data Sorting功能那裡有問題

我的影像每pixel為 1 byte, 我要將寬高為srcWidth, srcHeight的影像做轉置運算,

下面是我的函式設定, 能否請問那裡有設定錯嗎?

因為我測試起來, 最後有垂直的128列都沒做運算耶,很奇怪, 還是說它做的不完全

EDMACCRegs->PARAMSET[uiChannel].OPT=
CSL_EDMA3_OPT_MAKE(CSL_EDMA3_ITCCH_EN,
CSL_EDMA3_TCCH_DIS,
CSL_EDMA3_ITCINT_DIS,
CSL_EDMA3_TCINT_EN,
uiChannel,
CSL_EDMA3_TCC_NORMAL,
CSL_EDMA3_FIFOWIDTH_NONE,
CSL_EDMA3_STATIC_DIS,
CSL_EDMA3_SYNC_AB,
CSL_EDMA3_ADDRMODE_INCR,
CSL_EDMA3_ADDRMODE_INCR);
EDMACCRegs->PARAMSET[uiChannel].SRC= GLOBAL_ADDR(srcAddress);
EDMACCRegs->PARAMSET[uiChannel].SRC_DST_BIDX= CSL_EDMA3_BIDX_MAKE(1, srcHeight);
EDMACCRegs->PARAMSET[uiChannel].LINK_BCNTRLD= CSL_EDMA3_LINKBCNTRLD_MAKE(0xFFFF, 0);
EDMACCRegs->PARAMSET[uiChannel].SRC_DST_CIDX= CSL_EDMA3_CIDX_MAKE(srcWidth,1);
EDMACCRegs->PARAMSET[uiChannel].CCNT= srcHeight;
EDMACCRegs->PARAMSET[uiChannel].A_B_CNT= CSL_EDMA3_CNT_MAKE(1, srcWidth);
EDMACCRegs->PARAMSET[uiChannel].DST= GLOBAL_ADDR(dstAddress);

//Manually trigger the EDMA//
(*TPCC_ESR)= 1<<(uiChannelShift);

//wait for completion//
while(0==((*TPCC_IPR)&(1<<(uiChannelShift))));

//clear completion flag//
(*TPCC_ICR)= 1<<(uiChannelShift);

Chia-Hung Chen1:

當我輸入srcWidth = 1024, srcHeight = 2048的圖, 要轉置成 2048 x 1024,

最後面有128個垂直的列都沒做轉置運算

Shine:

回复 Chia-Hung Chen1:

谢谢分享。

赞(0)
未经允许不得转载:TI中文支持网 » 請問EDMA的Data Sorting功能那裡有問題
分享到: 更多 (0)