Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52840 upgrading mBed-os from 5.7.6 to 5.9.6

Hi,

We are developing a device with nRF52840 and mBed-os. We have a bootloader based on SDK 13.0.0.0-1
with softdevice s140 5.0.0-1-alpha.

Changes that has been made to the bootloader is e.g. enabling write protection and adding possibility to
force bootloader into DFU mode.

We are now looking at upgrading mBed-os from 5.7.6 to 5.9.6.

Is there support for running mBed 5.9.6 on nRF52840?

Do we need to upgrade the bootloader and/or the softdevice as well?

Is there a change in how the softdevice/bootloader work that could give problems when upgrading?

Parents
  • Hello,

    Is there support for running mBed 5.9.6 on nRF52840?

    Nordic is not involved in the work with mbed-OS, in general if the mbed-OS is using a production quality S140 release (not alpha release) it should be possible to run mbed-OS on the nRF52840. 

    Do we need to upgrade the bootloader and/or the softdevice as well?

    From your description I can see that you are referring to a alpha release of S140, which is not a qualified BLE stack. In addition from the release notes for s140_nrf52840_5.0.0-1.alpha I can find: "The SV-calls sd_mbr_command_vector_table_base_set() and sd_mbr_command_copy_bl() are not supported (DRGN-8197). Using these calls leads to undefined behavior "

    So you will need to update to a production release of S140 to make a product.

    Best regards,
    Kenneth

Reply
  • Hello,

    Is there support for running mBed 5.9.6 on nRF52840?

    Nordic is not involved in the work with mbed-OS, in general if the mbed-OS is using a production quality S140 release (not alpha release) it should be possible to run mbed-OS on the nRF52840. 

    Do we need to upgrade the bootloader and/or the softdevice as well?

    From your description I can see that you are referring to a alpha release of S140, which is not a qualified BLE stack. In addition from the release notes for s140_nrf52840_5.0.0-1.alpha I can find: "The SV-calls sd_mbr_command_vector_table_base_set() and sd_mbr_command_copy_bl() are not supported (DRGN-8197). Using these calls leads to undefined behavior "

    So you will need to update to a production release of S140 to make a product.

    Best regards,
    Kenneth

Children
  • When updating s140, is it necessary to update the bootloader as well so it uses SDK15? Does DFU and application start address work the same in SDK 15 as in SDK 13 so that the changes we have made can be merged?

  • Hi, 

    Yes, you need to update to a new bootloader that is API compatible with the new softdevice (v.6.x.x API). Note that the Master boot record (MBR - not possible to update through DFU) included in the 5.0.0-1 alpha release does not support bootloader update as Kenneth already pointed out. In other words, it is not possible to do  DFU for any devices running your current FW implementation, they need to be re-programmed through the debug interface.

    The application start address depends on the size of the softdevice binary. Bootloader should rely on the  info struct in the softdevice to determine the application start address rather than a harcoded value inside the bootlaoder code.   

      

Related