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

Problem programming custom PCBs on nrf51822

Hi, I tried my best to solve my problem via forum but unfortunately no success. I got nrf51 DK and played with it a lot. successfully program the samples and tweak them a bit. using SDK 5.1 and s110 v6.

The problem starts when I try custom boards. I have made one based on QFAAC0 for which:

I have same problem with a board I purchased online, PTR5528 which is based on CEAA . Can program blinky but no BLE.

Is there something that I am doing wrong. I did connect the board to 3 V and connected the segger programmer pins as explained in the forum (That's how I program without an error)

Thanks in advanced for your help, Ali

Parents
  • Hi Chris

    Thank you very much for tracking this down. Fixed the same perplexing problem for me.

    I have a custom PCB based on the nRF51822 reference designs in the data sheet. The SoftDevice and memory map all were set up correctly. Test GPIO code integrated with inactive S110 SoftDevice and worked fine.

    Yet when running ble_app_hrs example code, main() worked up to ble_stack_init. At that point line 231 of softdevice_handler.c ....

    err_code = sd_softdevice_enable(clock_source, softdevice_assertion_handler);

    ... would cause a hang inside the SoftDevice in a loop between 0x237C to 0x2382.

    Fix was as you describe:

    SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_SYNTH_250_PPM, false);

    I was not aware that SD110 was configured expecting an external 32KHz xtal. Looked again and didn't see reference to that in the nRF51822 data sheet, SDK or S110 documentation.

    Liam

Reply
  • Hi Chris

    Thank you very much for tracking this down. Fixed the same perplexing problem for me.

    I have a custom PCB based on the nRF51822 reference designs in the data sheet. The SoftDevice and memory map all were set up correctly. Test GPIO code integrated with inactive S110 SoftDevice and worked fine.

    Yet when running ble_app_hrs example code, main() worked up to ble_stack_init. At that point line 231 of softdevice_handler.c ....

    err_code = sd_softdevice_enable(clock_source, softdevice_assertion_handler);

    ... would cause a hang inside the SoftDevice in a loop between 0x237C to 0x2382.

    Fix was as you describe:

    SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_SYNTH_250_PPM, false);

    I was not aware that SD110 was configured expecting an external 32KHz xtal. Looked again and didn't see reference to that in the nRF51822 data sheet, SDK or S110 documentation.

    Liam

Children
No Data
Related