This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

FreeRTOS with Gazell problem on nrf51

Hi All,

We have been developing device with pca10028 evaluation board and in the process we use also few other custom boards with nrf51822. We use IAR. The device system is based on FreeRTOS, contains SPI controlled lcd display, the buttons of pca10028 and we use also the Leds in the process too(for development). When we initially made our code, we made it without OS and all worked fine, and still works in our long tests made. We use SDK 11.

Then we ported our code to FreeRTOS from the SDK and we got to our problem: When there is no Host around the Device, Device starts endless tries to call gzp_id_req_send() with pause of 1 second in between, and after some time - 15-60 min. system gets stuck.

Our software uses 3 tasks only that are of equal priority with time slicing. For the moment we do not use power saving. When the problem appears it looks like the OS scheduler is stopped and system loops endlessly between RADIO_IRQHandler() and the while loop in gzp_tx_packet() function. For information - the lcd display task in this test is in endless block with Semaphore(we do not turn on the lcd), the second task is scanning buttons on every 4ms with periodic blocking, and last task is Gazell processing task. With Gazell we tried also with aboslutely no blocking of the task and running it as stand alone app using simple nrf_delay_ms(1000) in between. The result is the same with no difference. I want to point also that when Device is connected to Host and in range the system works fine with FreeRTOS.

Thank you for your attention!

Related