- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When using the spi_dma_b2b example, I simply switched the SPI7 defines and clock source to SPI3, activated it's pins in the pin tool and it stops functioning. Here is the defines I changes, notice how the DMA channels are updated as well for Flexcomm 3.
#define EXAMPLE_SPI_MASTER SPI3
#define EXAMPLE_SPI_MASTER_IRQ FLEXCOMM3_IRQn
#define EXAMPLE_SPI_MASTER_CLK_SRC kCLOCK_Flexcomm3
#define EXAMPLE_SPI_MASTER_CLK_FREQ CLOCK_GetFlexCommClkFreq(3U)
#define EXAMPLE_SPI_SSEL 0
#define EXAMPLE_DMA DMA0
#define EXAMPLE_SPI_MASTER_RX_CHANNEL 10
#define EXAMPLE_SPI_MASTER_TX_CHANNEL 11
#define EXAMPLE_MASTER_SPI_SPOL kSPI_SpolActiveAllLow
Then I change this code for Flexcomm 3 as well:
/* attach 12 MHz clock to SPI3 */
CLOCK_AttachClk(kFRO12M_to_FLEXCOMM3);
/* reset FLEXCOMM for SPI */
RESET_PeripheralReset(kFC3_RST_SHIFT_RSTn);
At this point it stops working, so I believe something in the background is needing to be changed as well, but I'm not familiar with the SPI, DMA or SPI_DMA drivers.
Thank you for your help!
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello @AveryDauben,
The DMA has a separate DMA request for each Flexcomm, as shown in the following image:
If you wish to modify the Flexcomm, it is essential to modify these channels. For example, channels 18 and 19 correspond to the Flexcomm 7 interface, which is why the macros are defined as follows:
#define EXAMPLE_SPI_MASTER_RX_CHANNEL 18
#define EXAMPLE_SPI_MASTER_TX_CHANNEL 19
Also, if you experience any issue, does not hesitate to let me know.
BR
Habib.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello @AveryDauben,
The DMA has a separate DMA request for each Flexcomm, as shown in the following image:
If you wish to modify the Flexcomm, it is essential to modify these channels. For example, channels 18 and 19 correspond to the Flexcomm 7 interface, which is why the macros are defined as follows:
#define EXAMPLE_SPI_MASTER_RX_CHANNEL 18
#define EXAMPLE_SPI_MASTER_TX_CHANNEL 19
Also, if you experience any issue, does not hesitate to let me know.
BR
Habib.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
could you please attach the file that you are looking at? The Dual-DMA usage pdf on the LPC55S6x page is not fully up-to-date. Thank you!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello @AveryDauben,
The table was taken from the user manual, which you can find on this page:
BR
Habib.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you, this fixed the issue. I must've had an outdated version of the DMA channels as FlexComm 2 and 3 aren't switched on this pdf.
