nrf52810 + secure bootloader + s112 + BLE APP

Hello,

I am facing some troubles generating and flashing a complete hex file using the Nordic command line utils. Below, I will explain my scenario:

  • Secure bootloader pca10040e_s112_ble
  • BLE App ble_app_ias_c_pca10040e_s112
  • Softdevice s112 7.2.0
  • nRF5 SDK 17.1.0

The HW environment is as follows:

  • nrf52832 EVK working as nrf52810

I did not change nothing of the examples except of the dfu_public_key.c that I am using one that I generated in order to have also the priv.key. 

The commands that I am performing are:

nrfutil.exe settings generate --family NRF52810 --application ble_app_ias_c_pca10040e_s112.hex --application-version 2 --bootloader-version 2 --bl-settings-version 2 settings_app.hex

mergehex.exe -m secure_bootloader_ble_s112_pca10040e.hex s112_nrf52_7.2.0_softdevice.hex -o boot_soft.hex

mergehex.exe -m boot_soft.hex settings_app.hex -o boot_soft_sett.hex

mergehex.exe -m ble_app_ias_c_pca10040e_s112.hex boot_soft_sett.hex -o app.hex

nrfjprog.exe --family nrf52 --eraseall

nrfjprog.exe --reset --family NRF52 --program app.hex

Once the EVK is flashed, I do not see any output, only LED5 blinking.

On the other side, if I flash the same binaries using the NRF Programmer, I can see the BLE App running and everything is fine.

Any sugestion about the commands? 

Many thanks in advanced,

Javier

  • Hello,

    I want to shed ligth on this topic before investigating more about flashing process. I have changed the app, just to give a try with an easy example (ble_app_blinky) and it is working.... at least I see the device on the BLE network but it rejects the connection.

    What I guess now is that there is a memory problem. Because the example that I used before was more complete. Which is the RAM configuration for nrf52810 device using s112? I saw in this topic Adjustment of RAM and Flash memory that SD uses:

    Therefore, which is the proper configuration for memory RAM for APP-BLE and s112?

    Regards,

    Javier

  • Hi, 

    Have a look at this Memory layout doc.

    Since nRF52810 has limited space, the reserved fds pages by Immediate Alert Client Application will be overlapped with bootloader. That will cause the following error:

    <info> app_timer: RTC: initialized.
    
    <error> peer_manager_pds: Could not initialize flash storage. fds_init() returned 0x860A.
    
    <error> peer_manager: pm_init failed because pds_init() returned NRF_ERROR_STORAGE_FULL.
    
    <error> app: Fatal error
    
    <warning> app: System reset
     


    I would suggest you use another chip with large memory size or choose another application without using Flash Data Storage (FDS). 

    Regards,
    Amanda

Related