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

nrf52833 ble dfu how to start?

Hi ,

I need to start my application using sdk5 16.0 version, which should have custom ble servivnced and dfu feature.

After getting some trouble with zephyr os, i decided to test with sdk5. 

But it seems that nrf52833DK is not totally supported in all example. i wanted to start from dfu example and then integrate hrs example. Is it the good way to go ? 

Or may be the best is to start with hrs nfc paring ? but then how to integrate dfu. In the doc of how to integrate dfu, it is not for s113 ... 

I tried to migrate blinky ble from s112 10040e to s113 , i update ll the field but i finnaly get some linking .init errors with UNPLACED label.

I have the the feeling that zephyr or sdk5, nothing is really ready for nrf52833...

But i keep c9nfident, it is not like o wanted to do something ompossible, just  question of tile and good practice i guess.

thanks a lot for your help !

Parents
  • Hi,

    nRF5 SDK version 16 is probably the best SDK for nRF52833 unless you have a particular reason for using nRF Connect SDK. It is correct that many examples are not adapted to it, but adjusting an existing example takes just a few minutes once you know what is needed.

    For reference, I started off with the BLE bliky example for nRF52840 in SDK 16, for SES (\examples\ble_peripheral\ble_app_blinky\pca10059\s140\ses\ble_app_blinky_pca10059_s140.emProject).

    1. Adjust the linker configuration macros to be correct for the flash and RAM size of the nRF52833, and the reduced size of the S113 SoftDevice:

    2. Adjust the preprocessor defines to specify the correct board, IC and SoftDevice:

    3. Adjust the include path to include S113 headers instead of S140 headers:

    4. Make SES load the correct S113 SoftDevice when programming from SES:

  • Hi Einar, thanks for the reply , 

    I followed all the step already before, thanks it confirm i did right. But i'm always getting to this error, even if i change the memory size and start adress:

    Output/Debug/Exe/ble_app_buttonless_dfu_pca10100_s113.elf section `.init' will not fit in region `UNPLACED_SECTIONS'

    region `UNPLACED_SECTIONS' overflowed by 96372 bytes

    Output/ble_app_buttonless_dfu_pca10100_s113 Debug/Obj/thumb_crt0.o: in function `memory_set':

    (.init+0xd8): undefined reference to `__stack_end__'

    (.init+0xdc): undefined reference to `__stack_start__'

    I have used this reference table to know which adresse should i use :

    https://devzone.nordicsemi.com/nordic/short-range-guides/b/getting-started/posts/adjustment-of-ram-and-flash-memory

    nrf52833 has 512kB ( 0x80 000)  of flash and 128kB of ram ( 0x20 000) so this parts are ok. But then How to know the size and where softDist has been flashed ?

    I have also used you value, it gives always same errors.

Reply
  • Hi Einar, thanks for the reply , 

    I followed all the step already before, thanks it confirm i did right. But i'm always getting to this error, even if i change the memory size and start adress:

    Output/Debug/Exe/ble_app_buttonless_dfu_pca10100_s113.elf section `.init' will not fit in region `UNPLACED_SECTIONS'

    region `UNPLACED_SECTIONS' overflowed by 96372 bytes

    Output/ble_app_buttonless_dfu_pca10100_s113 Debug/Obj/thumb_crt0.o: in function `memory_set':

    (.init+0xd8): undefined reference to `__stack_end__'

    (.init+0xdc): undefined reference to `__stack_start__'

    I have used this reference table to know which adresse should i use :

    https://devzone.nordicsemi.com/nordic/short-range-guides/b/getting-started/posts/adjustment-of-ram-and-flash-memory

    nrf52833 has 512kB ( 0x80 000)  of flash and 128kB of ram ( 0x20 000) so this parts are ok. But then How to know the size and where softDist has been flashed ?

    I have also used you value, it gives always same errors.

Children
  • Hi,

    Olfox said:

    I followed all the step already before, thanks it confirm i did right. But i'm always getting to this error, even if i change the memory size and start adress:

    Output/Debug/Exe/ble_app_buttonless_dfu_pca10100_s113.elf section `.init' will not fit in region `UNPLACED_SECTIONS'

    You should not get these problems. Can you upload your project so that I can try to see what is missing?

    Olfox said:
    But then How to know the size and where softDist has been flashed ?

    You can always find the SoftDevice size in the release notes of the SoftDevice. So, under <SDK16>\components\softdevice\s113\doc\ you find s113_nrf52_7.0.1_release-notes.pdf, and there it is specified that the size of the SoftDevice is 112.0 kB (0x1C000 bytes). The start address of the application must always be the same as the size of the SoftDevice.

  • After searching why bootloader was not in ( even if i thought it was) here is the content of my memory:

    i really have a lake of knowledge on all this memry and boot order settings, where does program start, what do the secure bootloader, when it launch app etc to be able to debug it properly and manage . I'm really afraid of working with dfu and swap partition etc in the futur when i see how it is not so obvious to work with nordic lol.

Related