MQX for KSDK: lwevent makes errror no_one_to_run

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

MQX for KSDK: lwevent makes errror no_one_to_run

758件の閲覧回数
menkooldewurtel
Contributor II

Hello,

 

with KDS2.0.0 and KSDK1.1.0. MQX for KSDK configured with PE for FRDMK64F.

 

In a init-function I create a  event, witch is defined in a global header-file:

...

     result = _lwevent_create(&sampleStateEvent, 1); //Event auto clear

...

 

There is one ISR (every 4096µs) for DMA Complete:

PE_IST(DMA0_IRQHandler)

{

     _mqx_uint result=MQX_OK;

 

     DMA_CINT = (uint8_t)0x00; //Clear DONE and INT flags

     result = _lwevent_set(&sampleStateEvent, (uint32_t) 2);

 

     DMA_ERQ =(uint32_t) 0x3; //start DMA Channel 0 and 1 again

}

 

In an Task I want to wait for the Event with:

....                                                    

     result = _lwevent_wait_ticks(&sampleStateEvent, (uint32_t) 2, TRUE,0);

....

 

For the first pass of the wait command the Task waits till the event is set by the ISR.

Next pass MQX crashs:  ASM_LABEL(no_one_to_run)

 

Any idea whats my Mistake?

 

Thanks!

 

Menko

ラベル(1)
タグ(3)
0 件の賞賛
返信
1 返信

541件の閲覧回数
RadekS
NXP Employee
NXP Employee

From my point of view it looks like some problem where lwevent didn’t exist in case of second loop.

Could you please check whether you call _lwevent_destroy somewhere between first and second _lwevent_wait_ticks?

It is possible that you somehow rewrite lwevent structure or kernel data by DMA transfer?

I hope it helps you.

Have a great day,
RadekS

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 件の賞賛
返信