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

SDK 15.3 - secure_bootloader example not working in BMD301 - Custom Board

Hi,

I have used nRF5_SDK_15.3.0.

I have tested secure_bootloader example code with Adafruit Feather nRF52 Bluefruit LE - nRF52832 Board. And its advertising and work fine.

Full path : nRF5_SDK_15.3.0_59ac345\examples\dfu\secure_bootloader\pca10040_ble\ses

But, the same firmware i have uploaded in my custom designed board which has BMD301 chip.All other example like ble_app_bms example works with below configuration.

Does external crystal required in BMD301 circuit for secure_bootloader ? Currently we haven't connected any external crystal. You can see in schematics below.

I want to add DFU in my application firmware.So,

Please suggest me configuration for secure_bootloader  in sdk_config.h If I am missing something else which is specific to BMD301, Please mention.

Here is schematics of my board, 

Here is clock setting in sdk_config.h

// Internal clock setting---------------------

// </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


//---------------------------------------------

Parents
  • Hi VIjay, 

    To use the radio you need to have the 32MHz crystal. I'm not sure how a BLE example worked for you. You may use the internal RC for the 32kHz but not the 32MHz oscillator. 

    To configure the bootloader to use the internal 32kHz you need to change NRF_SDH_CLOCK_LF_SRC to 0 in sdk_config.h

  • Thanks for answer Hung Bui. 

    Yes I have used internal RC oscillator 32kHz.

    • My question is that, Does external crystal require to run Dfu firmware on BMD301  Which has nrf52832?
    • Does it possible to run dfu firmware without external crystal?
    • Because my BMD301 is advertising and working fine with ble_app_hrs firmware by changing clock configuration it works without any external crystal.
    • I want to run DFU firmware on my BMD301 without external crystal. Is it possible? 

Reply
  • Thanks for answer Hung Bui. 

    Yes I have used internal RC oscillator 32kHz.

    • My question is that, Does external crystal require to run Dfu firmware on BMD301  Which has nrf52832?
    • Does it possible to run dfu firmware without external crystal?
    • Because my BMD301 is advertising and working fine with ble_app_hrs firmware by changing clock configuration it works without any external crystal.
    • I want to run DFU firmware on my BMD301 without external crystal. Is it possible? 

Children
Related