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

Can't start BLE on PCA10028

Hi Nordic,

I have got two PCA10028 boards and have a problem starting BLE on both.

I use latest Keil (5.16) and try to start ble_app_uart_s110_pca10028/ble_app_uart_s130_pca10028 examples(infocenter.nordicsemi.com/.../examples_ble_peripheral.html).

No matter how I tried - I couldn't get this, as well as any other BLE sample, running.

Steps I have performed (at least 5 times on each of my boards):

  1. Erase flash.
  2. Flash SoftDevice (I have tried samples with both 110 and 130 versions here).
  3. Build and flash the application.
  4. Connect to COM port from terminal, reset the board and check UART output and/or LEDs.

But result is always the same (same for both boards, by the way): I can't see any activity on UART, LEDs do not blink and board is not responsive to any of the buttons. Also, I can't see any advertisement happening too - no new BLE devices are detected from the phone.

I have tested boards with both Blinky and UART communication samples though and managed to start both fine.

I have spent $150+ into those boards, spent 6 hours trying to tackle this issue and can't get BLE working...

Please help!

Thanks in advance.

WBR, Alex

Parents
  • Hi Nordic, Aryan,

    I have checked my Keil IRAM/IROM settings again. Here what they are:

    For Application:

    IROM: 0x18000/0x28000 IRAM1: 0x20002000/0x6000 Seem to be in line with SoftDevice spec. I have done some debugging and it seems that the code is getting reset at app_button_init call. Something seems to be wrong with buttons initialization, nrf_drv_gpiote_in_init returns error code 4 during second call.
    while (button_count--) { app_button_cfg_t * p_btn = &p_buttons[button_count];

            nrf_drv_gpiote_in_config_t config = GPIOTE_CONFIG_IN_SENSE_TOGGLE(false);
            config.pull = p_btn->pull_cfg;
            
            err_code = nrf_drv_gpiote_in_init(p_btn->pin_no, &config, gpiote_event_handler);
            if (err_code != NRF_SUCCESS)
            {
                return err_code;
            }
        }
    

    Do you know what should be checked?

  • that means that app_buttons_init failed and the next line APP_ERROR_CHECK sees that the error code is not NRF_SUCCESS and is resetting your board. You need to debug and see what error code this function returned to know why it failed.

Reply Children
No Data
Related