KSDK2.0 EDMA_HandleIRQ callback calls NULL

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

KSDK2.0 EDMA_HandleIRQ callback calls NULL

ソリューションへジャンプ
1,066件の閲覧回数
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 解決策
856件の閲覧回数
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 返信
857件の閲覧回数
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 件の賞賛
返信