![Marvell PXA300 Скачать руководство пользователя страница 317](http://html.mh-extra.com/html/marvell/pxa300/pxa300_developers-manual_1734615317.webp)
69rlq62d-f714peg4 * Memec (Headquar
ter
s) - Unique
Tec
h,
Insight,
Impact
MAR
VELL CONFIDENTIAL,
UNDER ND
A# 12101050
69rlq62d-f714peg4 * Memec (Headquar
ter
s) - Unique
Tec
h,
Insight,
Impact
MAR
VELL CONFIDENTIAL,
UNDER ND
A# 12101050
69r
lq62d-f714peg4 * Memec (Headquar
ters) - Unique
T
ech, Insight, Impact * UNDER ND
A# 12101050
MAR
VELL CONFIDENTIAL - UNA
UTHORIZED DISTRIB
UTION OR USE STRICTL
Y PR
OHIBITED
DMA Controller
Copyright © 12/13/06 Marvell
CONFIDENTIAL
Doc. No. MV-TBD-00 Rev. A
December 13, 2006
Document Classification: Proprietary Information
Page 317
Not approved by Document Control. For review only.
FETBL0: 0x0000_0000
FETBL1: 0x0000_0000
After successful DMA transfers, the same memory table contains the following information:
FETBL0: 0x0000_0003
FETBL1: 0x0000_0003
The following code is a chain of descriptors for full- and empty-bit implementation:
First Descriptor Set
First Descriptor
//Compare and Branch Descriptor modes enabled.
//No data transferred by this descriptor.
//Source is indirectly addressed and target is directly addressed
//On a successful compare of &FETBL0 with 0x0000,
// Descriptor chain branches to desc[1] + 4*32bits, i.e desc[2].
//If Compare fails, then descriptor chain jumps to desc[1].
//Desc[1] stops the channel as Full and Empty bits were not both 0.
desc[0].ddadr = &desc[1], BrEn = 1;
desc[0].dsadr = FETBL0;
desc[0].dtadr = 0x0000;
desc[0].dcmd = CmpEn=1, AddrMode = b01;
Second Descriptor
//Error setting descriptor, which stops the channel as
//(Full:Empty) != 0b00
//No data transferred. Stop interrupt triggered.
desc[1].ddadr = (Stop = 1);
desc[1].dsadr = ignored;
desc[1].dtadr = ignored;
desc[1].dcmd = Len=0;
Third Descriptor
//Data transferring descriptor
desc[2].ddadr = &desc[3];
desc[2].dsadr = SRC0;
desc[2].dtadr = TRG0;
desc[2].dcmd = Len=4K bytes;
Fourth Descriptor
//FullEmpty table updating descriptor
desc[3].ddadr = &desc[4];
desc[3].dsadr = FEUPDT;
desc[3].dtadr = FETBL0;
desc[3].dcmd = Len=4 bytes;
Second Descriptor Set