KSDK2.0 EDMA_HandleIRQ callback calls NULL

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

KSDK2.0 EDMA_HandleIRQ callback calls NULL

跳至解决方案
1,073 次查看
manfredschnell
Contributor IV

Hello,

 

we use KSDK2.0 with K64.

 

In Function EDMA_HandleIRQ() "fsl_edma.c" the handle->callback() is called regardless if it's NULL. --> This leads to HardFault.

 

The "Kinetis SDK v.2.0 API Reference Manual.pdf" on page 221 writes relating to that:

 

 

 

 

 

"16.7.38  void EDMA_HandleIRQ (edma_handle_t *  handle )

 

 

 

 

This function clears the channel major interrupt flag and call the callback function if it is not NULL."

 

 

Next KSDK source should be changed to call the callback only, if it's not NULL.

 

Best regards

Manfred

 

 


 

标签 (1)
1 解答
863 次查看
Jmart
NXP Employee
NXP Employee

Manfred,

I've confirmed that this code is updated already and will be available in the next release of the edma driver enabled parts.

if ((handle->tcdPool == NULL) && (handle->callback != NULL))

    {

        (handle->callback)(handle, handle->userData, true, 0);

    }

/* Invoke callback function. */

        if (handle->callback)

        {

            (handle->callback)(handle, handle->userData, transfer_done, tcds_done);

        }

Thanks for your feedback,

Jason

在原帖中查看解决方案

0 项奖励
回复
1 回复
864 次查看
Jmart
NXP Employee
NXP Employee

Manfred,

I've confirmed that this code is updated already and will be available in the next release of the edma driver enabled parts.

if ((handle->tcdPool == NULL) && (handle->callback != NULL))

    {

        (handle->callback)(handle, handle->userData, true, 0);

    }

/* Invoke callback function. */

        if (handle->callback)

        {

            (handle->callback)(handle, handle->userData, transfer_done, tcds_done);

        }

Thanks for your feedback,

Jason

0 项奖励
回复