Should the eDMA API mode Non-transactional (API functions) support channel linking?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Should the eDMA API mode Non-transactional (API functions) support channel linking?

跳至解决方案
1,852 次查看
imxrtuser
Senior Contributor I

Hello martinstano

I have another question to the DMA.

When using the Channel API mode Non-transactional (API functions) with checkbox Channel link initialization, Enable transfer configuration and Initialize transfer enabled the following lines of code will be included in peripherals.c:

/* DMA channel linking initialization */
  EDMA_SetChannelLink(DMA0_DMA_BASEADDR, DMA0_CH0_DMA_CHANNEL, kEDMA_MinorLink, DMA0_CH1_DMA_CHANNEL);
  /* DMA0 transfer initialization */
  EDMA_SetTransferConfig(DMA0_DMA_BASEADDR, DMA0_CH0_DMA_CHANNEL, &DMA0_CH0_transfer_config, NULL);

First function will set the ELINK and channel bits in CITER and BITER registers.

The second function will set up the transfer but overwrite the complete CITER and BITER settings for the channel link

// FROM FILE fsl_edma.c function EDMA_TcdSetTransferConfig

/* Current major iteration count */
    tcd->CITER = (uint16_t)config->majorLoopCounts;

/* Starting major iteration count */
    tcd->BITER = (uint16_t)config->majorLoopCounts;

Is the Channel API mode Non-transactional (API functions) not meant to be used with channel linking?

If yes it should be greyed out.

I think a possible workaround would be to to first set up the Transfer configuration and then call SetChannelLink (swap the above function calls in peripherals.c).

I have attached the MEX file to this post.

Kind regards,

Stefan

标记 (2)
0 项奖励
回复
1 解答
1,704 次查看
martin_stano
NXP Employee
NXP Employee

Hi,

the stated issue is resolved in hotfix posted in this thread: https://community.nxp.com/thread/524259

Best Regards

Martin

在原帖中查看解决方案

2 回复数
1,705 次查看
martin_stano
NXP Employee
NXP Employee

Hi,

the stated issue is resolved in hotfix posted in this thread: https://community.nxp.com/thread/524259

Best Regards

Martin

1,704 次查看
martin_stano
NXP Employee
NXP Employee

Hi!

Thank you for your feedback, as you mentioned, there might be problem with function order call. I will check all the API functions and prepare the update of the component.

Best Regards

Martin

0 项奖励
回复