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

  • Hello Bjørn,

    I have been able now to get the boot loader compiled and working. 2 things: as soon as I add 1 or 2 lines of code, for some signaling via LEDS, I get a linker error that the code size is too big. Is there anything that can be stripped from the DFU code?

    And another one: I would like to use a Jlink programmer in production to program application, soft device and boot loader. However, when using the GCC compiled boot loader, I need to program the user application via DFU, while with the Keil version, the BOOTLOADER_SETTINGS field in flash was written to the correct value. Any ideas how I can solve this?

Reply
  • Hello Bjørn,

    I have been able now to get the boot loader compiled and working. 2 things: as soon as I add 1 or 2 lines of code, for some signaling via LEDS, I get a linker error that the code size is too big. Is there anything that can be stripped from the DFU code?

    And another one: I would like to use a Jlink programmer in production to program application, soft device and boot loader. However, when using the GCC compiled boot loader, I need to program the user application via DFU, while with the Keil version, the BOOTLOADER_SETTINGS field in flash was written to the correct value. Any ideas how I can solve this?

Children
No Data
Related