|
Hi all:
Here are a strange problem about DMA. The OS and hardware is vxworks and AT91sam9260
Before I set TSTART bit in EMAC_NCR, I have alloced memory for FD and buffer, and initialize FD's addr with buffer addr. And initialize others registers of EMAC, for example TBQP,RBQP etc. But when I start DMA transmiting by setting TSTART, the TSR remains 8(TGO),the TBQP plus 8 again original value. So I check the first FD's status word, the highest bit(used bit never set). which looks like DMA tranmsit blocks, the EMAC can not get data from EBI, and cannot set used bit yet.
So, what will cause this problem? By the way, the TBQP and RBQP value is set with Physical address.(Because in our OS, the Physical and virtual address is same).
Pls help me, thanks!
|