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

Programming nRF52840 on custom board with the ble_app_uart

Hi All,

I built a custom board that mounts a nrf52840 chip and I followed the schematic N 5 of the datasheet.
I also have 2 evaluation boards nrf53840 EVB "PCA10056", with which I have tested the various applications in "nRF5_SDK_15.1.0_a8c0c4d" including the ble_app_uart.
I tested this application using "Segger Embedded studio for ARM 3.40" and it worked great.

I was able to send data via UART (coming from another board) to nrf52840 EVB_1, send them over BLE to the other nrf52840 EVB_2 and print the data on terminal.

At this point I would liked to test this application on the custom board using a "SEGGER J-Link Base" and through the Segger Embedded studio.

I tried to program the custom board and the download was successful, but it didn't come back from "ble_stack_init" and in particular it stops here:

#ifdef ANT_LICENSE_KEY
ret_code = sd_softdevice_enable(&clock_lf_cfg, app_error_fault_handler, ANT_LICENSE_KEY);
#else
ret_code = sd_softdevice_enable(&clock_lf_cfg, app_error_fault_handler);
#endif

Is there anybody who could help me?

Parents
  • Hi,

    Did you include the optional 32.768 kHz LF crystal, X2, on your board? If you did not, have you changed the clock configuration in the example to use the internal RC oscillator?

    This is done by changing to the configuration in sdk_config.h:

    #ifndef NRF_SDH_CLOCK_LF_SRC
    #define NRF_SDH_CLOCK_LF_SRC 0
    #endif
    
    #ifndef NRF_SDH_CLOCK_LF_RC_CTIV
    #define NRF_SDH_CLOCK_LF_RC_CTIV 16
    #endif
    
    #ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV
    #define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 2
    #endif
    
    #ifndef NRF_SDH_CLOCK_LF_ACCURACY
    #define NRF_SDH_CLOCK_LF_ACCURACY 1
    #endif

    Best regards,
    Jørgen

Reply
  • Hi,

    Did you include the optional 32.768 kHz LF crystal, X2, on your board? If you did not, have you changed the clock configuration in the example to use the internal RC oscillator?

    This is done by changing to the configuration in sdk_config.h:

    #ifndef NRF_SDH_CLOCK_LF_SRC
    #define NRF_SDH_CLOCK_LF_SRC 0
    #endif
    
    #ifndef NRF_SDH_CLOCK_LF_RC_CTIV
    #define NRF_SDH_CLOCK_LF_RC_CTIV 16
    #endif
    
    #ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV
    #define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 2
    #endif
    
    #ifndef NRF_SDH_CLOCK_LF_ACCURACY
    #define NRF_SDH_CLOCK_LF_ACCURACY 1
    #endif

    Best regards,
    Jørgen

Children
Related