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

App fault problem

Hello, Nordic!

I'm developing with nrf52840, s340, sdk 15.3.0

I made my app_error_fault_handler. It is very good for me.

I sometimes got an error. So I saw that log 

Received a fault! id: 0x00000001, pc: 0x00005450, info: 0x00000000
SOFTDEVICE: ASSERTION FAILED

pc is softdevice region so I don't know the reason why to happen.

Let me know how to deal pleaze.

Thank you

Parents
  • Hi Hongpal, 

    it is Dynastream that compiles the final S340 binary, hence we do not have the .elf or assert table for that SoftDevice internally. I have requested these and will look into the assert once I get hold of the .elf file or the assert table. 

    Note: This make take some days. 

    Best regards

    Bjørn

  • Hello Bjørn,

    Thank you. I'm waiting your new answer. 

  • Hi,

    The assert indicates that the SoftDevice was unable to process a BLE event in time. The BLE protocol have timing requirements, and when they are not meet the SoftDevice will assert. There could be several reasons why the SoftDevice did not process these events in time:

    • You are somehow blocking the SoftDevice in a higher priority interrupt/task/thread, and therefore not giving the SoftDevice enough time to process the BLE events. It could potentially also happen when debugging with breakpoints.
    • You are using the Timeslot API, and not ending the timeslot in time, i.e. you spent too much time in the timeslot.
    • If this is a custom board, it could be some HW issues with the crystal(s) you are using.

    Some questions;

    What were you doing when it happened? Did you for example run a scanner with long scan_window? Did you run a directed advertiser with long timeout? Any chance you were disabling interrupts (__disable_irq()). What source are you using for LFCLOCK, RC or XO(crystal)?

  • It is happened when my device is going to sleep mode that is defined in my program.

    So the sleep mode try to finish work such as scanning, advertising, sensor closing and so on.

    My scan window is 40. That is 25ms.

    I am using fast, slow advertising so fast time out is one minute and slow time out is none.

    No, I don't do disabling anything while sleep mode.

    My source is nrf_clock_lf_src_xtal.

Reply
  • It is happened when my device is going to sleep mode that is defined in my program.

    So the sleep mode try to finish work such as scanning, advertising, sensor closing and so on.

    My scan window is 40. That is 25ms.

    I am using fast, slow advertising so fast time out is one minute and slow time out is none.

    No, I don't do disabling anything while sleep mode.

    My source is nrf_clock_lf_src_xtal.

Children
No Data
Related