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

S130 v1.0 assert encountered: rem.c line 1376

I have modified the ble_app_hrs_c_s130_pca10031 example to run without external RTC and collect only battery status data from BLE peripherals that have a service with UUID 0xFF00 rather than 0x180D.

  • IDE: IAR ARM 7.2
  • Softdevice: s130_nrf51_1.0.0_softdevice.hex
  • SDK : nRF51_SDK_10.0.0_dc26b5e
  • No external RTC clock
  • nrf51822-QFAA-R7
  • No uart interface
  • Modifications to the original ble_app_hrs_c_s130_pca10031 code
  • General Options -> Device: NordicSemi nRF51822-QFAA
  • Symbols defined:
    • NRF_LOG_USES_RTT
  • General Options -> Semihosted: Enabled
  • Commented following line:
    • //buttons_leds_init(&erase_bonds);
    • //uart_init();
    • //hrs_c_init();
  • Changed the following defines:
    • #define TARGET_UUID 0xFF00
  • Changed the following lines:
    • SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_SYNTH_250_PPM, NULL);

When the application is downloaded, it prints the following output to the terminal windows:

Heart rate collector example

Battery = 62 %

and then a softdevice assertion is raised with the following parameters

  • file: rem.c
  • line: 1376
  • pc: 0x0000D82A

This behaviour is consistently repeated every time that the application is execute.

The same happens if Softdevice S120 is used, but the assert is raised with the following parameters:

  • file: rem.c
  • line: 1375
  • pc: 0x0000D852

Do you have any insight on the nature of the problem?

Parents
  • Hi Roberto,

    The error line telling that there is some issue with the timer used by the softdevice. I'm not sure why that happened, but could be because of the clock source you used. NRF_CLOCK_LFCLKSRC_SYNTH_250_PPM is not supported by the softdevice. You should use NRF_CLOCK_LFCLKSRC_RC_250_PPM_4000MS_CALIBRATION instead if you don't have external 32kHz crystal.

    Also 0xFF00 is not a 16 bits UUID defined by Bluetooth sig, it's not a good idea to use. Have you made sure you removed all the code related to hrs client ? (because you removed hrs_c_init();)

Reply
  • Hi Roberto,

    The error line telling that there is some issue with the timer used by the softdevice. I'm not sure why that happened, but could be because of the clock source you used. NRF_CLOCK_LFCLKSRC_SYNTH_250_PPM is not supported by the softdevice. You should use NRF_CLOCK_LFCLKSRC_RC_250_PPM_4000MS_CALIBRATION instead if you don't have external 32kHz crystal.

    Also 0xFF00 is not a 16 bits UUID defined by Bluetooth sig, it's not a good idea to use. Have you made sure you removed all the code related to hrs client ? (because you removed hrs_c_init();)

Children
No Data
Related