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

No softdevice Events reaches the freeRTOS application

Hi, We are in the process of migrating our SDK version from 13 to 15.2 and the error we were facing after porting of SDK is that , we were not able to track the BLE events with freertos task . There is advertising in FAST mode is done and then then there is no events reaching the application. Is there any possible ideas to guess from the behavior observed ?
Thanks in Advance.

Parents Reply Children
  • SatzTechGeek said:
    but the problem there is no clear picture about freertos init and hookup function and how the events are triggered ?.
    •  The freeRTOS is using RTC1 for its timekeeping and you can see the port files in SDK\external\freertos\portable\CMSIS\nrf52\port_cmsis_systick.c
    • not sure which hookup functions are you mentioning here?
    • in nrf_sdh_freertos.c you can see that the softdevice events are notified to app using SD_EVT_IRQHandler (also called SWI2_IRQHandler). In freertos, instead of handling these events in IRQ context, we pass them to softdevice_task. Softdevice task will be in blocked state until the SD_EVT_IRQHandler unblocks it.
  • Thanks, Susheel Nuguru solution which you mentioned solve one of our issues.  But when we pass the BLE event handler as a function argument to BLE stack init function and register the function results in a deadlock mechanism. Is that we cant able to register the event handler function by passing  as an argument to stack init

Related