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

Unable to discover beacon

I tried to run beacon example (from SDK 9.0). Even after uploading hex file I was not able to "see" becon. I'm using st-link v2 and openocd. Let me tell a bit more about what I did.

First I tried with notifications example:

reset
halt
nrf51 mass_erase
program nrf_s110.hex
program nrf_notification.hex
reset
init

And the device shows up so far so good!

Then tried to upload beacon example:

reset
halt
nrf51 mass_erase
program nrf_s110.hex
program nrf_beacon.hex
reset
init

Nothing.

I would like to ask if I miss something maybe ?

  • you made me gulp when I saw mass_erase. Then i realized that it could just be the name of your script. What are you doing inside that? please say just chip erase and not mass erase (there is a difference and if you do not know, i would not tell you. Believe me, here ignorance is a bliss)

    If beacon is not advertising at all then there are two possible reasons

    1. becaon application did not start at all because of wrong start address of this application, not matching what softdevice version is expecting.

    2. something failed inside your program, which by default will reset your chip- Can you overwrite the app_error_handler function to blink some LEDS and confirm that there are some failures.

  • Thank you for your response.

    That is a good question - what mass_erase do. I though it is removing everything from memory. This is the script from openocd.

    I based on description from here: openocd.org/.../Flash-Commands.html "If flash_autoerase is off, use mass_erase before flash programming. Flash erase command fails if region to erase is not whole flash memory. "

    Good point - I didn't tried to connect with debuger yet.

Related