LPC55S69 SPI DMA Example doesn't function properly when changing Flexcomm port

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

LPC55S69 SPI DMA Example doesn't function properly when changing Flexcomm port

ソリューションへジャンプ
1,352件の閲覧回数
AveryDauben
Contributor II

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!

ラベル(2)
タグ(3)
0 件の賞賛
返信
1 解決策
1,312件の閲覧回数
Habib_MS
NXP Employee
NXP Employee

Hello @AveryDauben,

The DMA has a separate DMA request for each Flexcomm, as shown in the following image:

Habib_MS_0-1744062424504.png


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.

元の投稿で解決策を見る

0 件の賞賛
返信
4 返答(返信)
1,313件の閲覧回数
Habib_MS
NXP Employee
NXP Employee

Hello @AveryDauben,

The DMA has a separate DMA request for each Flexcomm, as shown in the following image:

Habib_MS_0-1744062424504.png


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.

0 件の賞賛
返信
1,254件の閲覧回数
AveryDauben
Contributor II
@Habib_MS

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!
0 件の賞賛
返信
1,169件の閲覧回数
Habib_MS
NXP Employee
NXP Employee

Hello @AveryDauben,

The table was taken from the user manual, which you can find on this page:

Habib_MS_1-1744646940073.png

BR
Habib.

0 件の賞賛
返信
1,291件の閲覧回数
AveryDauben
Contributor II

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.

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2073981%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ELPC55S69%20SPI%20DMA%20%E3%81%AE%E4%BE%8B%E3%81%8C%20Flexcomm%20%E3%83%9D%E3%83%BC%E3%83%88%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%A8%E6%AD%A3%E3%81%97%E3%81%8F%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%AA%E3%81%84%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2073981%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3Espi_dma_b2b%E4%BE%8B%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81SPI7%20%E3%81%AE%E5%AE%9A%E7%BE%A9%E3%81%A8%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%20%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%92%20SPI3%20%E3%81%AB%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%80%81%E3%83%94%E3%83%B3%20%E3%83%84%E3%83%BC%E3%83%AB%E3%81%A7%E3%83%94%E3%83%B3%E3%82%92%E3%82%A2%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96%E3%81%AB%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E6%A9%9F%E8%83%BD%E3%81%8C%E5%81%9C%E6%AD%A2%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%81%93%E3%81%A7%E3%81%AF%E3%80%81Flexcomm%203%20%E3%81%AE%20DMA%20%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%81%8C%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E6%9B%B4%E6%96%B0%E3%81%95%E3%82%8C%E3%82%8B%E3%81%8B%E3%81%AB%E6%B3%A8%E7%9B%AE%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%3CP%3E%23define%20EXAMPLE_SPI_MASTER%20SPI3%3CBR%20%2F%3E%23define%20EXAMPLE_SPI_MASTER_IRQ%20FLEXCOMM3_IRQn%3CBR%20%2F%3E%23define%20EXAMPLE_SPI_MASTER_CLK_SRC%20kCLOCK_Flexcomm3%3CBR%20%2F%3E%23define%20EXAMPLE_SPI_MASTER_CLK_FREQ%20CLOCK_GetFlexCommClkFreq(3U)%3CBR%20%2F%3E%23define%20EXAMPLE_SPI_SSEL%200%3CBR%20%2F%3E%23define%20EXAMPLE_DMA%20DMA0%3CBR%20%2F%3E%23define%20EXAMPLE_SPI_MASTER_RX_CHANNEL%2010%3CBR%20%2F%3E%23define%20EXAMPLE_SPI_MASTER_TX_CHANNEL%2011%3CBR%20%2F%3E%23define%20EXAMPLE_MASTER_SPI_SPOL%20kSPI_SpolActiveAllLow%3C%2FP%3E%3CP%3E%E6%AC%A1%E3%81%AB%E3%80%81Flexcomm%203%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%82%E5%A4%89%E6%9B%B4%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%2F*%2012%20MHz%20%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%82%92%20SPI3%20%E3%81%AB%E6%8E%A5%E7%B6%9A%20*%2F%3CBR%20%2F%3ECLOCK_AttachClk(kFRO12M_to_FLEXCOMM3)%3B%3C%2FP%3E%3CP%3E%2F*%20SPI%20%E3%81%AE%20FLEXCOMM%20%E3%82%92%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%20*%2F%3CBR%20%2F%3ERESET_PeripheralReset(kFC3_RST_SHIFT_RSTn)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%81%93%E3%81%AE%E6%99%82%E7%82%B9%E3%81%A7%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%AA%E3%81%8F%E3%81%AA%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81%E3%83%90%E3%83%83%E3%82%AF%E3%82%B0%E3%83%A9%E3%82%A6%E3%83%B3%E3%83%89%E3%81%AE%E4%BD%95%E3%81%8B%E3%82%82%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8B%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81SPI%E3%80%81DMA%E3%80%81%E3%81%BE%E3%81%9F%E3%81%AFSPI_DMA%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%83%BC%E3%81%AB%E3%81%AF%E8%A9%B3%E3%81%97%E3%81%8F%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%84%E3%81%9F%E3%81%A0%E3%81%8D%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2073981%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3ELPC55xx%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3E%E3%83%9A%E3%83%AA%E3%83%95%E3%82%A7%E3%83%A9%E3%83%AB%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2080135%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3ALPC55S69%20SPI%20DMA%E3%81%AE%E4%BE%8B%E3%81%AF%E3%80%81Flexcomm%E3%83%9D%E3%83%BC%E3%83%88%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%A8%E6%AD%A3%E3%81%97%E3%81%8F%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2080135%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F248824%22%20target%3D%22_blank%22%3E%40AveryDauben%3C%2FA%3E%2C%3C%2FP%3E%0A%3CP%3E%E3%81%93%E3%81%AE%E8%A1%A8%E3%81%AF%E3%80%81%20%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fproducts%2FLPC55S6x%23documentation%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%E3%81%93%E3%81%AE%E3%83%9A%E3%83%BC%E3%82%B8%3C%2FA%3E%E3%81%AB%E3%81%82%E3%82%8B%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB%E3%81%8B%E3%82%89%E6%8A%9C%E7%B2%8B%E3%81%97%E3%81%9F%E3%82%82%E3%81%AE%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Habib_MS_1-1744646940073.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Habib_MS_1-1744646940073.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F332967i364B6328AB14B1EF%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Habib_MS_1-1744646940073.png%22%20alt%3D%22Habib_MS_1-1744646940073.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EBR%3CBR%20%2F%3EHabib.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2079326%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3ALPC55S69%20SPI%20DMA%E3%81%AE%E4%BE%8B%E3%81%AF%E3%80%81Flexcomm%E3%83%9D%E3%83%BC%E3%83%88%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%A8%E6%AD%A3%E3%81%97%E3%81%8F%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2079326%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F231807%22%20target%3D%22_blank%22%3E%40Habib_MS%3C%2FA%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%3CBR%20%2F%3E%E3%81%94%E8%A6%A7%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E6%B7%BB%E4%BB%98%E3%81%97%E3%81%A6%E3%81%84%E3%81%9F%E3%81%A0%E3%81%91%E3%81%BE%E3%81%99%E3%81%8B%3FLPC55S6x%20%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%20Dual-DMA%20%E4%BD%BF%E7%94%A8%E6%B3%95%E3%81%AE%20PDF%20%E3%81%AF%E3%80%81%E5%AE%8C%E5%85%A8%E3%81%AB%E3%81%AF%E6%9C%80%E6%96%B0%E3%81%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%EF%BC%81%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2076451%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3ALPC55S69%20SPI%20DMA%E3%81%AE%E4%BE%8B%E3%81%AF%E3%80%81Flexcomm%E3%83%9D%E3%83%BC%E3%83%88%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%A8%E6%AD%A3%E3%81%97%E3%81%8F%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2076451%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%80%81%E3%81%93%E3%82%8C%E3%81%A7%E5%95%8F%E9%A1%8C%E3%81%AF%E4%BF%AE%E6%AD%A3%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E3%81%93%E3%81%AEpdf%E3%81%A7%E3%81%AFFlexComm%202%E3%81%8A%E3%82%88%E3%81%B33%E3%81%8C%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%82%89%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%80%81%E5%8F%A4%E3%81%84%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AEDMA%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%81%8C%E3%81%82%E3%81%A3%E3%81%9F%E3%81%AB%E9%81%95%E3%81%84%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2075458%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3ALPC55S69%20SPI%20DMA%E3%81%AE%E4%BE%8B%E3%81%AF%E3%80%81Flexcomm%E3%83%9D%E3%83%BC%E3%83%88%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%A8%E6%AD%A3%E3%81%97%E3%81%8F%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2075458%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F248824%22%20target%3D%22_blank%22%3E%40AveryDauben%3C%2FA%3E%2C%3C%2FP%3E%0A%3CP%3EDMA%20%E3%81%AB%E3%81%AF%E3%80%81%E6%AC%A1%E3%81%AE%E5%9B%B3%E3%81%AB%E7%A4%BA%E3%81%99%E3%82%88%E3%81%86%E3%81%AB%E3%80%81Flexcomm%20%E3%81%94%E3%81%A8%E3%81%AB%E5%80%8B%E5%88%A5%E3%81%AE%20DMA%20%E8%A6%81%E6%B1%82%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Habib_MS_0-1744062424504.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Habib_MS_0-1744062424504.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F331701iEDAA9B34E6453B90%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Habib_MS_0-1744062424504.png%22%20alt%3D%22Habib_MS_0-1744062424504.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CBR%20%2F%3EFlexcomm%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81%E3%81%93%E3%82%8C%E3%82%89%E3%81%AE%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E4%B8%8D%E5%8F%AF%E6%AC%A0%E3%81%A7%E3%81%99%E3%80%82%E3%81%9F%E3%81%A8%E3%81%88%E3%81%B0%E3%80%81%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%2018%20%E3%81%A8%2019%20%E3%81%AF%20Flexcomm%207%20%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%82%A4%E3%82%B9%E3%81%AB%E5%AF%BE%E5%BF%9C%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81%E3%83%9E%E3%82%AF%E3%83%AD%E3%81%AF%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E5%AE%9A%E7%BE%A9%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%23define%20EXAMPLE_SPI_MASTER_RX_CHANNEL%2018%3CBR%20%2F%3E%23define%20EXAMPLE_SPI_MASTER_TX_CHANNEL%2019%3C%2FP%3E%0A%3CP%3E%3CBR%20%2F%3E%E3%81%BE%E3%81%9F%E3%80%81%E5%95%8F%E9%A1%8C%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81%E9%81%A0%E6%85%AE%E3%81%AA%E3%81%8F%E3%81%8A%E7%9F%A5%E3%82%89%E3%81%9B%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%0A%3CP%3EBR%3CBR%20%2F%3EHabib.%3C%2FP%3E%3C%2FLINGO-BODY%3E