DMA controller (DMA)
RM0008
If the MEM2MEM bit in the DMA_CCRx register is set, then the channel initiates transfers as
soon as it is enabled by software by setting the Enable bit (EN) in the DMA_CCRx register.
The transfer stops once the DMA_CNDTRx register reaches zero. Memory to Memory
mode may not be used at the same time as Circular mode.
10.3.4
Table 55.
Programmable data width, data alignment and endians
When PSIZE and MSIZE are not equal, the DMA performs some data alignments as
Programmable data width & endian behavior (when bits PINC = MINC = 1)
Number
Source
port
width
Destination
port width
of data
items to
transfer
Source content:
address / data
Transfer operations
Destination
content:
address / data
(NDT)
@0x0 / B0
1: READ B0[7:0] @0x0 then WRITE B0[7:0] @0x0
@0x0 / B0
8
8
4
@0x1 / B1
@0x2 / B2
2: READ B1[7:0] @0x1 then WRITE B1[7:0] @0x1
3: READ B2[7:0] @0x2 then WRITE B2[7:0] @0x2
@0x1 / B1
@0x2 / B2
@0x3 / B3
@0x0 / B0
4: READ B3[7:0] @0x3 then WRITE B3[7:0] @0x3
1: READ B0[7:0] @0x0 then WRITE 00B0[15:0] @0x0
@0x3 / B3
@0x0 / 00B0
8
16
4
@0x1 / B1
@0x2 / B2
2: READ B1[7:0] @0x1 then WRITE 00B1[15:0] @0x2
3: READ B3[7:0] @0x2 then WRITE 00B2[15:0] @0x4
@0x2 / 00B1
@0x4 / 00B2
@0x3 / B3
@0x0 / B0
4: READ B4[7:0] @0x3 then WRITE 00B3[15:0] @0x6
1: READ B0[7:0] @0x0 then WRITE 000000B0[31:0] @0x0
@0x6 / 00B3
@0x0 / 000000B0
8
32
4
@0x1 / B1
@0x2 / B2
2: READ B1[7:0] @0x1 then WRITE 000000B1[31:0] @0x4
3: READ B3[7:0] @0x2 then WRITE 000000B2[31:0] @0x8
@0x4 / 000000B1
@0x8 / 000000B2
@0x3 / B3
@0x0 / B1B0
4: READ B4[7:0] @0x3 then WRITE 000000B3[31:0] @0xC
1: READ B1B0[15:0] @0x0 then WRITE B0[7:0] @0x0
@0xC / 000000B3
@0x0 / B0
16
8
4
@0x2 / B3B2
@0x4 / B5B4
2: READ B3B2[15:0] @0x2 then WRITE B2[7:0] @0x1
3: READ B5B4[15:0] @0x4 then WRITE B4[7:0] @0x2
@0x1 / B2
@0x2 / B4
@0x6 / B7B6
@0x0 / B1B0
4: READ B7B6[15:0] @0x6 then WRITE B6[7:0] @0x3
1: READ B1B0[15:0] @0x0 then WRITE B1B0[15:0] @0x0
@0x3 / B6
@0x0 / B1B0
16
16
4
@0x2 / B3B2
@0x4 / B5B4
2: READ B3B2[15:0] @0x2 then WRITE B3B2[15:0] @0x2
3: READ B5B4[15:0] @0x4 then WRITE B5B4[15:0] @0x4
@0x2 / B3B2
@0x4 / B5B4
@0x6 / B7B6
@0x0 / B1B0
4: READ B7B6[15:0] @0x6 then WRITE B7B6[15:0] @0x6
1: READ B1B0[15:0] @0x0 then WRITE 0000B1B0[31:0] @0x0
@0x6 / B7B6
@0x0 / 0000B1B0
16
32
4
@0x2 / B3B2
@0x4 / B5B4
2: READ B3B2[15:0] @0x2 then WRITE 0000B3B2[31:0] @0x4
3: READ B5B4[15:0] @0x4 then WRITE 0000B5B4[31:0] @0x8
@0x4 / 0000B3B2
@0x8 / 0000B5B4
@0x6 / B7B6
@0x0 / B3B2B1B0
4: READ B7B6[15:0] @0x6 then WRITE 0000B7B6[31:0] @0xC
1: READ B3B2B1B0[31:0] @0x0 then WRITE B0[7:0] @0x0
@0xC / 0000B7B6
@0x0 / B0
32
8
4
@0x4 / B7B6B5B4
@0x8 / BBBAB9B8
2: READ B7B6B5B4[31:0] @0x4 then WRITE B4[7:0] @0x1
3: READ BBBAB9B8[31:0] @0x8 then WRITE B8[7:0] @0x2
@0x1 / B4
@0x2 / B8
@0xC / BFBEBDBC
@0x0 / B3B2B1B0
4: READ BFBEBDBC[31:0] @0xC then WRITE BC[7:0] @0x3
1: READ B3B2B1B0[31:0] @0x0 then WRITE B1B0[7:0] @0x0
@0x3 / BC
@0x0 / B1B0
32
16
4
@0x4 / B7B6B5B4
@0x8 / BBBAB9B8
2: READ B7B6B5B4[31:0] @0x4 then WRITE B5B4[7:0] @0x1
3: READ BBBAB9B8[31:0] @0x8 then WRITE B9B8[7:0] @0x2
@0x2 / B5B4
@0x4 / B9B8
@0xC / BFBEBDBC
@0x0 / B3B2B1B0
4: READ BFBEBDBC[31:0] @0xC then WRITE BDBC[7:0] @0x3
1: READ B3B2B1B0[31:0] @0x0 then WRITE B3B2B1B0[31:0] @0x0
@0x6 / BDBC
@0x0 / B3B2B1B0
32
32
4
@0x4 / B7B6B5B4
@0x8 / BBBAB9B8
2: READ B7B6B5B4[31:0] @0x4 then WRITE B7B6B5B4[31:0] @0x4
3: READ BBBAB9B8[31:0] @0x8 then WRITE BBBAB9B8[31:0] @0x8
@0x4 / B7B6B5B4
@0x8 / BBBAB9B8
@0xC / BFBEBDBC
4: READ BFBEBDBC[31:0] @0xC then WRITE BFBEBDBC[31:0] @0xC
@0xC / BFBEBDBC
Addressing an AHB peripheral that does not support byte or halfword write
operations
When the DMA initiates an AHB byte or halfword write operation, the data are duplicated on
the unused lanes of the HWDATA[31:0] bus. So when the used AHB slave peripheral does
186/995
Doc ID 13902 Rev 9
相关PDF资料
MCBTMPM330 BOARD EVAL TOSHIBA TMPM330 SER
MCIMX25WPDKJ KIT DEVELOPMENT WINCE IMX25
MCIMX53-START-R KIT DEVELOPMENT I.MX53
MCM69C432TQ20 IC CAM 1MB 50MHZ 100LQFP
MCP1401T-E/OT IC MOSFET DRVR INV 500MA SOT23-5
MCP1403T-E/MF IC MOSFET DRIVER 4.5A DUAL 8DFN
MCP1406-E/SN IC MOSFET DVR 6A 8SOIC
MCP14628T-E/MF IC MOSFET DVR 2A SYNC BUCK 8-DFN
相关代理商/技术参数
MCBSTM32EXLU 功能描述:开发板和工具包 - ARM EVAL BOARD + ULINK2 FOR STM32F103ZG RoHS:否 制造商:Arduino 产品:Development Boards 工具用于评估:ATSAM3X8EA-AU 核心:ARM Cortex M3 接口类型:DAC, ICSP, JTAG, UART, USB 工作电源电压:3.3 V
MCBSTM32EXLU-ED 制造商:ARM Ltd 功能描述:KEIL STM STM32EXL EVAL BOARD
MCBSTM32EXLUME 功能描述:开发板和工具包 - ARM EVAL BOARD + ULINKME FOR STM32F103ZG RoHS:否 制造商:Arduino 产品:Development Boards 工具用于评估:ATSAM3X8EA-AU 核心:ARM Cortex M3 接口类型:DAC, ICSP, JTAG, UART, USB 工作电源电压:3.3 V
MCBSTM32F200 功能描述:开发板和工具包 - ARM EVAL BOARD FOR STM STM32F207IG RoHS:否 制造商:Arduino 产品:Development Boards 工具用于评估:ATSAM3X8EA-AU 核心:ARM Cortex M3 接口类型:DAC, ICSP, JTAG, UART, USB 工作电源电压:3.3 V
MCBSTM32F200U 功能描述:开发板和工具包 - ARM EVAL BOARD FOR STM STM32F207IG + ULINK2 RoHS:否 制造商:Arduino 产品:Development Boards 工具用于评估:ATSAM3X8EA-AU 核心:ARM Cortex M3 接口类型:DAC, ICSP, JTAG, UART, USB 工作电源电压:3.3 V
MCBSTM32F200UME 功能描述:开发板和工具包 - ARM EVAL BOARD FOR STM STM32F207IG ULINK-ME RoHS:否 制造商:Arduino 产品:Development Boards 工具用于评估:ATSAM3X8EA-AU 核心:ARM Cortex M3 接口类型:DAC, ICSP, JTAG, UART, USB 工作电源电压:3.3 V
MCBSTM32F200UME-ED 制造商:ARM Ltd 功能描述:KEIL STM32F207IG EVAL BOARD
MCBSTM32F400 功能描述:开发板和工具包 - ARM EVAL BOARD FOR STM STM32F407IG RoHS:否 制造商:Arduino 产品:Development Boards 工具用于评估:ATSAM3X8EA-AU 核心:ARM Cortex M3 接口类型:DAC, ICSP, JTAG, UART, USB 工作电源电压:3.3 V