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

Couldn't connect 52810 successfully during DFU mode

according to this article to modify my code. https://devzone.nordicsemi.com/f/nordic-q-a/27185/52810-how-to-use-dfu

It  could be scanned but couldn't connected.

Is there anything i omitted ?

Parents Reply Children
  • Hi 

    I do use nRF Connect to connect !

    there are two boards, a product demo (52810)  and  a nordic PCA10040.

    I needed to use dfu on 52810,  so  I made some modification base on SDK14.2.0.

    I got these modification from https://devzone.nordicsemi.com/f/nordic-q-a/27185/52810-how-to-use-dfu

    -----------------------

    1. softdevice : nRF5_SDK_14.2.0_17b948a\components\softdevice\s112\hex

    2. project: nRF5_SDK_14.2.0_17b948a\examples\dfu\bootloader_secure_ble

    after compiling ...

    Using nRFgo studio:

    1. erase all

    2. program softdevice

    3. download bootloader by keil

    if I do these operation on 52810 , advertising is ok but can't be connected. 

    to do these operation on PCA10040 , everything is ok !

  • sorry, it's my fault !  the softdevice clock source that I configured is wrong ..  

  • Hi, I have the same issue. 

    May I ask what & where is softdecive clock source? 

    Thanks.

  • Hi Ralph, see this page for information about the SoftDevice clock source. If you don't have LF crystal, you will need to use the RC Oscillator. You need to set the clock source in sdk_config.h. To use the RC Oscillator, you would need to set the following defines:

    // </h> 
    //==========================================================
    
    // <h> Clock - SoftDevice clock configuration
    
    //==========================================================
    // <o> NRF_SDH_CLOCK_LF_SRC  - SoftDevice clock source.
     
    // <0=> NRF_CLOCK_LF_SRC_RC 
    // <1=> NRF_CLOCK_LF_SRC_XTAL 
    // <2=> NRF_CLOCK_LF_SRC_SYNTH 
    
    #ifndef NRF_SDH_CLOCK_LF_SRC
    #define NRF_SDH_CLOCK_LF_SRC 0
    #endif
    
    // <o> NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. 
    #ifndef NRF_SDH_CLOCK_LF_RC_CTIV
    #define NRF_SDH_CLOCK_LF_RC_CTIV 16
    #endif
    
    // <o> NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. 
    // <i> How often (in number of calibration intervals) the RC oscillator shall be calibrated
    // <i>  if the temperature has not changed.
    
    #ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV
    #define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 2
    #endif
    
    // <o> NRF_SDH_CLOCK_LF_XTAL_ACCURACY  - External crystal clock accuracy used in the LL to compute timing windows.
     
    // <0=> NRF_CLOCK_LF_XTAL_ACCURACY_250_PPM 
    // <1=> NRF_CLOCK_LF_XTAL_ACCURACY_500_PPM 
    // <2=> NRF_CLOCK_LF_XTAL_ACCURACY_150_PPM 
    // <3=> NRF_CLOCK_LF_XTAL_ACCURACY_100_PPM 
    // <4=> NRF_CLOCK_LF_XTAL_ACCURACY_75_PPM 
    // <5=> NRF_CLOCK_LF_XTAL_ACCURACY_50_PPM 
    // <6=> NRF_CLOCK_LF_XTAL_ACCURACY_30_PPM 
    // <7=> NRF_CLOCK_LF_XTAL_ACCURACY_20_PPM 
    
    #ifndef NRF_SDH_CLOCK_LF_XTAL_ACCURACY
    #define NRF_SDH_CLOCK_LF_XTAL_ACCURACY 1
    #endif

Related