35.3.3 Addressing BDT entriesAn understanding of the addressing mechanism of the Buffer Descriptor Table is usefulwhen accessing endpoint data via the USB-FS or microprocessor. Some points of interestare:• The BDT occupies up to 512 bytes of system memory.• 16 bidirectional endpoints can be supported with a full BDT of 512 bytes.• 16 bytes are needed for each USB endpoint direction.• Applications with less than 16 endpoints require less RAM to implement the BDT.• The BDT Page Registers (BDT_PAGE) point to the starting location of the BDT.• The BDT must be located on a 512-byte boundary in system memory.• All enabled TX and RX endpoint BD entries are indexed into the BDT to allow easyaccess via the USB-FS or MCU core.When a USB token on an enabled endpoint is received, the USB-FS uses its integratedDMA controller to interrogate the BDT. The USB-FS reads the corresponding endpointBD entry to determine whether it owns the BD and corresponding buffer in systemmemory.To compute the entry point in to the BDT, the BDT_PAGE registers is concatenated withthe current endpoint and the TX and ODD fields to form a 32-bit address. This addressmechanism is shown below:Table 35-2. BDT address calculation fieldsField DescriptionBDT_PAGE BDT_PAGE registers in the Control Register BlockEND_POINT END POINT field from the USB TOKENTX 1 for transmit transfers and 0 for receive transfersODD Maintained within the USB-FS SIE. It corresponds to the buffer currently in use. The buffers areused in a ping-pong fashion.35.3.4 Buffer Descriptors (BDs)A buffer descriptor provides endpoint buffer control information for the USB-FS andprocessor. The Buffer Descriptors have different meaning based on whether it is theUSB-FS or processor reading the BD in memory.The USB-FS Controller uses the data stored in the BDs to determine:Programmers interfaceKL25 Sub-Family Reference Manual, Rev. 3, September 2012616 Freescale Semiconductor, Inc.