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

I would like to transfer some data from the iOS app and, while still connected, store it in Flash. Has anyone tried this and been successful?

I've heard that's not allowed. If so, why?

If it is allowed, are there any precautionary steps I need to take, not to interfere with the radio?

Thank you!

Gil

P.S. (1) I can't save it in RAM, disconnect it and then transfer it to Flash because I don't have enough RAM space for the whole amount data. (2) I would like to do it during the same connection.

Parents
  • It is allowed, and there shouldn't be any particular problems with such an application. One thing you need to be aware of is however that flash writes and erases will halt the CPU. This means that you need to take care to not do such actions when the softdevice needs to run code to handle for example a connection event.

    This can be done for example by using the radio notification feature of the softdevice. There are examples on how to do flash writes in the SDK, for example the flashwrite_example (but this does not take the softdevice into account). Also, most of the BLE examples uses the bond manager, which writes bonding information to flash.

    The radio notification feature is described in the SoftDevice Specification, and can for example be used through the ble_radio_notification module.

Reply
  • It is allowed, and there shouldn't be any particular problems with such an application. One thing you need to be aware of is however that flash writes and erases will halt the CPU. This means that you need to take care to not do such actions when the softdevice needs to run code to handle for example a connection event.

    This can be done for example by using the radio notification feature of the softdevice. There are examples on how to do flash writes in the SDK, for example the flashwrite_example (but this does not take the softdevice into account). Also, most of the BLE examples uses the bond manager, which writes bonding information to flash.

    The radio notification feature is described in the SoftDevice Specification, and can for example be used through the ble_radio_notification module.

Children
Related