Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs

Hardfault with Zigbee initialisation when BLE SoftDevice is included.

Hello Nordic support,

I am working on an application that works either with BLE or Zigbee and the protocol to be used is determined at application startup. Initially, my application was only Zigbee based and was using RTOS for performing various operations. This is working as expected.

Now, I have added BLE support to this application and added the necessary macros. As mentioned in this link https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_tz_v4.2.0%2Fzigbee_multi_examples.html (point 6), I have initialised SoftDevice by calling the function  nrf_sdh_enable_request() in main.c and then call ZB_INIT() inside an RTOS task. However, while performing Zigbee initialisation, the program goes into hardfault. 

Could you please let me know what could be the possible issue here?

Regards,

Anusha

Parents Reply
  • Check if the SysTick_IRQn is still enabled after the softdevice is enabled? I have a feeling that maybe the systick interrupt is being disabled after the softdevice.. You can use NVIC_GetEnableIRQ API to querry if a particular irq is enabled or not. Check if the interrupt is still enabled after the softdevice is enabled. If you find it disabled, then enable it after the softdevice is enabled. I have a feeling that softdevice might be disabling systick irq when it is initializing.

Children
Related