This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

nRF51822 hangs while running with S110 SoftDevice and S110 HRS App

I have a nRF51822 Evaluation kit I am trying to get up and running. My kit has the older QFAACA part. I followed the steps to setup eclipse and GCC and i am successfully compiling. I adapted the GCC makefile and eclipse project to the PCA10001 board which compiles without problems. I downloaded the S110 softdevice to the board and then I download the code which is the HRS app using the debugger. The code stops at main and i then let it run, but it hangs in a very low area of the memory when try to run the ble bond function. This low area is inside the softdevice and it never returns, so I cannot see why it fails. The debugger says the current address is 0x2c08. The last function on the top level is bond_manager_init(); and inside of this function it hangs in ble_bondmngr_init(&bond_init_data)

I tried downloading the hex file using nRFgo and it faild as well. I feel something might be incompatible.

Thank you.

  • You should have the source for bond_manager_init located in the SDK ~\Nordic\nrf51822\Source\ble\ble_bondmngr.c, so in stepping through that where does it hang exactly ?

    Some things to try:

    • try "erase all" flash memory, then re-download the softdevice and your app.
    • try setting m_bondmngr_config.bonds_delete to true
    • the only soft device call the bond manager init makes is flash_pages_erase which calls sd_flash_page_erase.
    • make sure your app is downloading to Region 1, usually 0x14000. If your "main" function is lower than this then you probably clobbered the soft device.
    • lastly make sure the SDK you compiled against matches the soft device you are using.
  • I experienced a similar issue. The solution was to ensure I had the correct version of the soft device installed. I was using v6.0.0 and when I switched to v7.0.0 like magic, everything started working.

Related