SAM3A4C Atmel Corporation, SAM3A4C Datasheet - Page 1077

no-image

SAM3A4C

Manufacturer Part Number
SAM3A4C
Description
Manufacturer
Atmel Corporation
Datasheets
Figure 39-7. Allocation and Reorganization of the DPRAM
11057A–ATARM–17-Feb-12
11057A–ATARM–17-Feb-12
UOTGHS_DEVEPT.EPENx = 1
UOTGHS_DEVEPTCFGx.ALLOC = 1
UOTGHS_HSTPIP.EPENx = 1
UOTGHS_HSTPIPCFGx.ALLOC = 1
Device:
Host:
Pipes/Endpoints 0..5
Activated
Free Memory
PEP5
PEP4
PEP3
PEP2
PEP1
PEP0
Figure 39-7 on page 1077
example.
Note:
1. The pipes/endpoints 0 to 5 are enabled, configured and allocated in ascending order.
2. The pipe/endpoint 3 is disabled, but its memory is kept allocated by the controller.
3. In order to free its memory, its UOTGHS_DEVEPTCFGx.ALLOC bit is written to zero.
4. If the user chooses to reconfigure the pipe/endpoint 3 with a larger size, the controller
Each pipe/endpoint then owns a memory area in the DPRAM.
The pipe/endpoint 4 memory window slides down, but the pipe/endpoint 5 does not
move.
allocates a memory area after the pipe/endpoint 2 memory area and automatically
slides up the pipe/endpoint 4 memory window. The pipe/endpoint 5 does not move and
a memory conflict appears as the memory windows of the pipes/endpoints 4 and 5
overlap. The data of these pipes/endpoints is potentially lost.
2. There is no way the data of the pipe/endpoint 0 can be lost (except if it is de-allocated) as the
3. Deactivating then reactivating the same pipe/endpoint with the same configuration only modi-
4. When the user writes a one to the UOTGHS_DEVEPTCFGx.ALLOC bit, the Configuration OK
UOTGHS_DEVEPT.EPEN3 = 0
UOTGHS_HSTPIP.EPEN3 = 0
Device:
Host:
memory allocation and de-allocation may affect only higher pipes/endpoints.
fies temporarily the controller DPRAM pointer and size for this pipe/endpoint. Nothing changes
in the DPRAM, higher endpoints seem not to have been moved and their data is preserved as
far as nothing has been written or received into them while changing the allocation state of the
first pipe/endpoint.
Status bit (UOTGHS_DEVEPTISRx.CFGOK) is set only if the configured size and number of
banks are correct as compared to the endpoint maximal allowed values and to the maximal
FIFO size (i.e. the DPRAM size). The UOTGHS_DEVEPTISRx.CFGOK value does not con-
sider memory allocation conflicts.
Pipe/Endpoint 3
(ALLOC stays at 1)
Free Memory
Disabled
PEP5
PEP4
PEP3
PEP2
PEP1
PEP0
illustrates the allocation and reorganization of the DPRAM in a typical
UOTGHS_DEVEPTCFG3.ALLOC = 0
UOTGHS_HSTPIPCFG3.ALLOC = 0
Device:
Host:
Pipe/Endpoint 3
PEP4 Lost Memory
Memory Freed
Free Memory
PEP5
PEP4
PEP2
PEP1
PEP0
UOTGHS_DEVEPT.EPEN3 = 1
UOTGHS_DEVEPTCFG3.ALLOC = 1
UOTGHS_HSTPIP.EPEN3 = 1
UOTGHS_HSTPIPCFG3.ALLOC = 1
Device:
Host:
Pipe/Endpoint 3
PEP3 (larger size)
Free Memory
Activated
PEP4
PEP2
PEP1
PEP0
PEP5
SAM3X/A
SAM3X/A
Conflict
1077
1077

Related parts for SAM3A4C