Bootloader on a nRF52832_XXAB device without LF crystal

I am trying to get a bootloader to run on a 52832_xxab, which is the smaller variant of the xxaa, so far without success. I use a custom board without LF Clock crystal, SDK 14.2 and softdevice 5.1, Keil uVision and J-Link. For testing I use nRF Connect on an Android mobile.

On a second board I have the xxaa in a module variant (so with LF Clock crystal) there I have the bootloader from the example area successfully to run. But I had to use the armgcc environment, with the Keil environment it didn't work (so far).

When I customize the armgcc environment for the xxab and use it to create the bootloader it does not work. When I start the Keil debugger, I see that the first steps up to main() and also after that are still executed correctly. After that, or as soon as I activate run I end up in a hardfault.

Here are my adjustments:

LF clock source in config.h and also in p1040.h on SYNTH

Makefile, LD file and generated HEX file: secure_dfu_ble_gcc_nrf52_xxab.zip

Please let me know if more info is needed.

Is it even possible to run the bootloader without the LF crystal?

What am I doing wrong?

Greetings,
Andreas

Parents
  • Hi all, my case can be closed, I found the source of the problem.

    There are several positions in the config.h file where ths LF Clock is set. I used the configuration wizard to set theses settings and for an unknown reason, the number 2 (for SYNTH) was written at the start of the define instead of the end.


    // <o> CLOCK_CONFIG_LF_SRC  - LF Clock Source
     
    // <0=> RC
    // <1=> XTAL
    // <2=> Synth

    #ifndef CLOCK_CONFIG_LF_SRC
    #define 2CLOCK_CONFIG_LF_SRC 1
    #endif

    I guess that this leads to a default LF_Clock (RC?) but not to the expected SYNTH.

    Andreas

Reply
  • Hi all, my case can be closed, I found the source of the problem.

    There are several positions in the config.h file where ths LF Clock is set. I used the configuration wizard to set theses settings and for an unknown reason, the number 2 (for SYNTH) was written at the start of the define instead of the end.


    // <o> CLOCK_CONFIG_LF_SRC  - LF Clock Source
     
    // <0=> RC
    // <1=> XTAL
    // <2=> Synth

    #ifndef CLOCK_CONFIG_LF_SRC
    #define 2CLOCK_CONFIG_LF_SRC 1
    #endif

    I guess that this leads to a default LF_Clock (RC?) but not to the expected SYNTH.

    Andreas

Children
No Data
Related