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

Program Fanstel BC805M EK by using nRF52 DK

I would like to use nRF52 DK (nRF52832) to program Fanstel BC805M EK (nRF52805). I know that the hardware connection looks like this and we need to use the separate power supply for each board. 

1) Could anyone tell me how to upload the BLE code from nRF52 DK to BC805M EV via Segger, please? 

2) Because BC805M has fewer pins than nRF52 DK, how could I change the pin configuration in Segger, please? 

Thanks 

Parents
  • Hi

    1. The interface MCU on the nRF52 DK will detect an attached board automatically, and will then upload firmware onto the external board instead of the onboard SoC.

    2. You will need to edit your project to work with nRF52805 HW. We don't have a guide to do this specifically for nRF52805, but the procedure would be the same, so please check out the Developing for nRF52810 "Transferring the project to nRF52810 hardware" guide, but replace calls to nRF52810 with nRF52805, and make sure that the RAM and FLASH memory is set correctly.

    I don't think there is an external LF clock on the module of the Fanstel board you're using either, so you will need to edit these defines to the following values in your sdk_config.h header file as well.

    // <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_ACCURACY  - External clock accuracy used in the LL to compute timing.
     
    // <0=> NRF_CLOCK_LF_ACCURACY_250_PPM 
    // <1=> NRF_CLOCK_LF_ACCURACY_500_PPM 
    // <2=> NRF_CLOCK_LF_ACCURACY_150_PPM 
    // <3=> NRF_CLOCK_LF_ACCURACY_100_PPM 
    // <4=> NRF_CLOCK_LF_ACCURACY_75_PPM 
    // <5=> NRF_CLOCK_LF_ACCURACY_50_PPM 
    // <6=> NRF_CLOCK_LF_ACCURACY_30_PPM 
    // <7=> NRF_CLOCK_LF_ACCURACY_20_PPM 
    // <8=> NRF_CLOCK_LF_ACCURACY_10_PPM 
    // <9=> NRF_CLOCK_LF_ACCURACY_5_PPM 
    // <10=> NRF_CLOCK_LF_ACCURACY_2_PPM 
    // <11=> NRF_CLOCK_LF_ACCURACY_1_PPM 
    
    #ifndef NRF_SDH_CLOCK_LF_ACCURACY
    #define NRF_SDH_CLOCK_LF_ACCURACY 1
    #endif

    Best regards,

    Simon

  • Hi Simonr, 

    Thanks for your help. By following your steps, I had some new issues. 

    When compiling nrf_ppi.h: 

    1) For channel 10 to 15: 'PPI_CHEN_CH10_Pos' undeclared here (not in a function); did you mean 'PPI_CHEN_CH1_Pos'?

    When compiling the nrfx_timer.c: 

    1) 'NRF_TIMER3' undeclared (first use in this function); did you mean 'NRF_TIMER0'?

    2) 'TIMER3_CC_NUM' undeclared (first use in this function); did you mean 'TIMER0_CC_NUM'?

    Any idea, please? Thank you very much. 

Reply
  • Hi Simonr, 

    Thanks for your help. By following your steps, I had some new issues. 

    When compiling nrf_ppi.h: 

    1) For channel 10 to 15: 'PPI_CHEN_CH10_Pos' undeclared here (not in a function); did you mean 'PPI_CHEN_CH1_Pos'?

    When compiling the nrfx_timer.c: 

    1) 'NRF_TIMER3' undeclared (first use in this function); did you mean 'NRF_TIMER0'?

    2) 'TIMER3_CC_NUM' undeclared (first use in this function); did you mean 'TIMER0_CC_NUM'?

    Any idea, please? Thank you very much. 

Children
No Data
Related