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!

Parents
  • I will add new test results. We have left Gazell to work for extended period of few days also without OS (FreeRTOS) and after 24+ hours when Device makes endless scans for Host to pair with it freezes again. The same system with Gazell only initialized and started, but no Gazell API calls, with or without FreeRTOS works fine.

  • A little update on the matter. We are on the final development stage of our product. So we moved from the pca10028 to our product board which uses NRF51822QFAAH0. The pairing library is preprogrammed and does not use any pairing procedure functions. But we started to experience again the same problem, crashing with FreeRTOS the same way as described above when Gazell Device out of range this time. With the pca10028 (nrf51422) we do not have any problems using the very same firmware with only changed microcontroller type. On the other side we use for our Gazell Host the same NRF51822 without OS and it works just fine.

Reply
  • A little update on the matter. We are on the final development stage of our product. So we moved from the pca10028 to our product board which uses NRF51822QFAAH0. The pairing library is preprogrammed and does not use any pairing procedure functions. But we started to experience again the same problem, crashing with FreeRTOS the same way as described above when Gazell Device out of range this time. With the pca10028 (nrf51422) we do not have any problems using the very same firmware with only changed microcontroller type. On the other side we use for our Gazell Host the same NRF51822 without OS and it works just fine.

Children
No Data
Related