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

nRF51822 BLE example app doesn't work

Hello I am developing an application with BLE and I have just faced to a problem. I want to check my IDE settings and development environment.

I am using the development board "HRM1017" which is described here.

HRM1017
www.hosiden.co.jp/.../en_hrm1017.pdf

The board has the nRF51822 inside, and my development environment is

IDE:          Keil uVision MDK-Lite 5.17
SDK:         nRF51SDK 7.2.0
SoftDevice:    nRF51822_7.1.0(Programmed via nRFgoStudio)
Flash Download: Segger

I runned the example file which is located in the SDK files below.

Example File
C:\Keil_v5\ARM\Pack\NordicSemiconductor\nRF_Examples\7.2.0
\ble_peripheral\ble_app_hrs\pca10028\s110\arm5\ble_app_hrs_s110_pca10028.uvprojex

The build and download was succeeded.
But when I tried to check the application with the nRF Toolbox
or nRF Master Control Panel on my iPhone, both of them could not find the device.

To divide the problem, I tried to implement the sample project in the mbed platform.
I downloaded the hex file via nRFgoStudio. It works.

Since I am using the example file, I guess there are some problems in the Software, or IDE settings.
I want to check my IDE settings and environment.

I checked the start address of the ROM of nRF51822, it starts from 0x16000.
The address is checked in the Device Programming form of the nRFgoStudio.

Is there anyone who had same problem or could advise me about this issue??

Thanks
Marchall

Parents
  • Hi Aryan

    Thank you for your help on this issue. It's solved!!

    This is actually board-dependent problem.
    The HRM1017 does not have crystal oscillator inside. The hardware fault above could be caused by the lack of this oscillator.

    The HRM1017 users have to edit the main.c in all sample projects.

    static void ble_stack_init(void) { uint32_t err_code;

    // Initialize the SoftDevice handler module. 
    

    // SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, false); SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_RC_250_PPM_250MS_CALIBRATION, false); .....

    I am using evaluation board named HAA0039-010020 by Hoshiden.inc. It works when I switched P4 (Pair of 2-4 and 1-3 pin).

    Thank you for your help again!

    Marchall

Reply
  • Hi Aryan

    Thank you for your help on this issue. It's solved!!

    This is actually board-dependent problem.
    The HRM1017 does not have crystal oscillator inside. The hardware fault above could be caused by the lack of this oscillator.

    The HRM1017 users have to edit the main.c in all sample projects.

    static void ble_stack_init(void) { uint32_t err_code;

    // Initialize the SoftDevice handler module. 
    

    // SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, false); SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_RC_250_PPM_250MS_CALIBRATION, false); .....

    I am using evaluation board named HAA0039-010020 by Hoshiden.inc. It works when I switched P4 (Pair of 2-4 and 1-3 pin).

    Thank you for your help again!

    Marchall

Children
Related