AnsweredAssumed Answered

Problem with OS task events using freeRTOS.

Question asked by joe birch on Jul 27, 2015
Latest reply on Jul 28, 2015 by David E Seymour

I cannot get task events to work. I am trying to signal between tasks

 

I have a very simple example with 2 tasks.

Task2 is waiting on an event.

Task1 sends the event.

 

I am using KDS 3.0, KSDK 1.2 on a FRDM_K22, gcc

The FreeRTOS version is 8.0.0 which comes with KSDK1.2

I used PEx to generate the code.

I modified FreeRTOSConfig.h to use configFRTOS_MEMORY_SCHEME==1

 

The event is created in main

            event_t msgInEvent;

           if (OSA_EventCreate(&msgInEvent, kEventAutoClear) != kStatus_OSA_Success) {
               PRINTF("Inside %s, OSA_EventCreate failed\n", __FUNCTION__);

            }

 

 

 

 

The wait is in task2

            if (OSA_EventWait(&msgInEvent, 0x01, 1, OSA_WAIT_FOREVER, NULL) != kStatus_OSA_Success) {

                       PRINTF("Inside %s, OSA_EventSet failed\n", __FUNCTION__);

            }

 

 

The Set is in task1

            if (OSA_EventSet(&msgInEvent, 0x01) != kStatus_OSA_Success) {

                      PRINTF("Inside %s, OSA_EventSet failed\n", __FUNCTION__);

            }

 

when I pause the CPU I get

 

rtosTest_Debug_PNE [GDB PEMicro Interface Debugging]          

            rtosTest.elf     

                        Thread #1 <main> (Suspended : Signal : SIGINT:Interrupt)

                                    WDOG_EWM_IRQHandler() at startup_MK22F51212.S:349 0x4e8        

                                    <signal handler called>() at 0xfffffffd          

                                    vPortStartFirstTask() at port.c:675 0x2852   

                                    xPortStartScheduler() at port.c:554 0x2792  

            C:\Freescale\KDS_3.0.0\eclipse\plugins\com.pemicro.debug.gdbjtag.pne_2.0.8.201504092111\win32\pegdbserver_console           

            arm-none-eabi-gdb     

 

Any help is appreciated

Outcomes