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

Is the SDK11 boot loader be compatible with SDK7.2 applications

Hi

I am currently using the boot loader from SDK7.2.0, compiled using Keil. However, for all the other software I am using GCC. But GCC support for the boot loader was not included in the SDK7.2.0.

I have tried to look at the bootloader differences between SDK7.2.0 and SDK11, and managed to compile the boot loader code, but do not seem to get DFU working with that compiled file. So I still must be doing something wrong.

As I do not want to spend too much time on this, I was wondering: if I would use the makefile in SDK11 and compile the code using SDK11, and flash that to the device, would this still work with an older SD version and an application compiled using SDK7.2.0?

And if not, how could I figure out what was wrong with my SDK7.2.0 boot loader GCC version?

Parents
  • The bootloader from SDK v11.0.0 is not compatible with applications compiled with SDK v7.2.0.

    I have backported the GCC support from SDK v9.0.0 to SDK v7.2.0, you'll find it attached, but please not that this should be treated as experimental.

    -Bjørn

    Attachments:

    nRF51_SDK_7.2.0_gcc.zip

  • No, our bootloader has been optimized to be as small as possible. If you need more space to add code to the bootloader, then you can increase the flash space allocated to the bootloader in the linker script.

    You have set the bootloader settings to equal to BANK_VALID_APP in bootloader_settings.c, i.e.

    uint8_t m_boot_settings[CODE_PAGE_SIZE] attribute ((section(".bootloaderSettings"))) = {BANK_VALID_APP};

    and then you have to set the .bootloaderSettings section in the dfu_gcc_nrf51.ld to LOAD instead of NOLOAD, i.e.

     /* Place the bootloader settings page in flash. */
      .bootloaderSettings(LOAD) :
      {
        
      } > BOOTLOADER_SETTINGS
    
Reply
  • No, our bootloader has been optimized to be as small as possible. If you need more space to add code to the bootloader, then you can increase the flash space allocated to the bootloader in the linker script.

    You have set the bootloader settings to equal to BANK_VALID_APP in bootloader_settings.c, i.e.

    uint8_t m_boot_settings[CODE_PAGE_SIZE] attribute ((section(".bootloaderSettings"))) = {BANK_VALID_APP};

    and then you have to set the .bootloaderSettings section in the dfu_gcc_nrf51.ld to LOAD instead of NOLOAD, i.e.

     /* Place the bootloader settings page in flash. */
      .bootloaderSettings(LOAD) :
      {
        
      } > BOOTLOADER_SETTINGS
    
Children
No Data
Related