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

S110 v8.0.0 softdevice size and DFU update

With S110 v8.0.0's size increased to 96K, I'm concerned that my current memory layout is going to prevent me from upgrading to a future softdevice.

It seems that the only safe way to do a major softdevice version update is to upgrade both the softdevice and the bootloader at the same time. That seems to be the case for a 7.1.0 -> 8.0.0 and I'd assume it would be the case with future major versions.

I'm currently using 32K for the bootloader and 2K for the pstorage parameters, so with 8.0.0 as a starting point the largest softdevice I can upgrade is 98K (4K MBR + 94K SD) in SD+BL mode.

How much can I expect S110 to grow in the next few major versions?

Does nordic have a roadmap for the next few major versions of S110. The one feature I'm really waiting for is support for larger MTU sizes via fragmentation and reassembly.

I'm getting fairly close to needing to lock down the value of NRF_UICR->BOOTLOADERADDR. I don't want to make a decision now that will prevent me from using the next few major softdevice versions in the future.

Parents
  • @Clem: It's hard to tell about the future product. You can contact our sale staff in your area for more information. Please pm me your location I can send you the contact.

    But what you can do for now is to reduce the size of the bootloader. Have you used any optimization when compiling the code ? Our bootloader only takes about 14KB of code.

  • Funny, a colleague of you just ask me if I could upgrade to s110 v8 for another problem. I do not know the code of the softdevice off course but it will be similar to what I see in the SDK. What I notice is that a lot is checked runtime. This is a huge part of the code. Ok, some parameters should be checked but most of them can be checked with static asserts or only in a debug mode. And sometimes it beter to just crash when something is not ok. You see it directly and the bug can be fixed. Almost all code is static. You (as far as I known) don't use the heap. Most of us don't I think. So instance should just exist. If not a hard fault is ok. In my (humble) opinion most of the Nordic code is quite "big". I move more and more away from the SDK because there is to much overhead in there. It hard to point this out in this piece of text. I have only 21 characters left ;-)

Reply
  • Funny, a colleague of you just ask me if I could upgrade to s110 v8 for another problem. I do not know the code of the softdevice off course but it will be similar to what I see in the SDK. What I notice is that a lot is checked runtime. This is a huge part of the code. Ok, some parameters should be checked but most of them can be checked with static asserts or only in a debug mode. And sometimes it beter to just crash when something is not ok. You see it directly and the bug can be fixed. Almost all code is static. You (as far as I known) don't use the heap. Most of us don't I think. So instance should just exist. If not a hard fault is ok. In my (humble) opinion most of the Nordic code is quite "big". I move more and more away from the SDK because there is to much overhead in there. It hard to point this out in this piece of text. I have only 21 characters left ;-)

Children
No Data
Related