MQX for KSDK: lwevent makes errror no_one_to_run

cancel
Showing results for 
Search instead for 
Did you mean: 

MQX for KSDK: lwevent makes errror no_one_to_run

297 Views
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

Labels (1)
Tags (3)
0 Kudos
1 Reply

80 Views
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 Kudos