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

hr example wont work on top of soft device, s110-s120?,soft device?

Hi,

I am knew to BLE and I was able to ran succesfully the blinky project. Now when I load the soft device on and then try to download the hr example if says "Flash download failed Cortex M0".

But if I go to nrfGO studio and erase it, I can upload it. Although in the guide says you have to load the soft device first. Any ideas??

Also since I am a newbie I am having issues with understanding what s110-s120 are, what are the differences? what are they? It might seem stupid but I dont know why there are those 4 options (128k-256k).

Finally what is a soft device?

Thank you in advance!!

Parents
  • A Softdevice: A bluetooth library pre-programmed to a certain memory space on the chip. This is a more fail-safe alternative to including .h and .c files like you normally would.

    Softdevice 110: Can only be a "slave" or "peripheral" device, which can be connected to from "centrals" or "masters" like a smartphone.

    Softdevice 120: Can only be the "central" or "master", and can therefore connect to another device running 110.

    Your flash problem is probaly caused by wrong memory settings in keil. Launch nrfGo studio and find your device. Look at the memory spaces on the left. These addresses and sizes must correspond to your target options in keil.

    Set "IROM1 Start" to "Application Address" from nrfgo. Set the "IROM1 Size" to the hex value of Application size shown in nrfgo. In my 110 it is 176 kB, or hex value 2C000 (176*1024->hex).

    If this doesent work. make sure that you are using up-do-date versions of both keil, J-LINK and the nrf SDK.

    image description image description

  • If you want to make your own services to create them in your application. Your services will use the softdevice functions to communicate over BLE. Have a look at the Led-Button example (i think its a nan36 app note) to understand how services work. To sum up: The softdevice is something that is separate from your code, but which you can use by calling its function calls. These functions always start with sd_some_function..... The softdevice term is quite hard to grasp, and i struggled myself in the beginning. Just think of it as a separate unit that handles all the BLE rules and protocols for you.

Reply
  • If you want to make your own services to create them in your application. Your services will use the softdevice functions to communicate over BLE. Have a look at the Led-Button example (i think its a nan36 app note) to understand how services work. To sum up: The softdevice is something that is separate from your code, but which you can use by calling its function calls. These functions always start with sd_some_function..... The softdevice term is quite hard to grasp, and i struggled myself in the beginning. Just think of it as a separate unit that handles all the BLE rules and protocols for you.

Children
No Data
Related