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

S332 V2.0.0 with SDK 12.2.0 - Hangs at 0x000025c0

I have a simple application which pretty much consists of the following main function:

int main(void)
{
    SOFTDEVICE_HANDLER_INIT(&clock_lf_cfg, NULL);

    ble_enable_params_t ble_enable_params;
    err_code = softdevice_enable_get_default_config(1, 1, &ble_enable_params);
    APP_ERROR_CHECK(err_code);
}

I am using the SDK provided linker script armgcc_s332_nrf52832_xxaa.ld

When I execute this application, the processor seems to hang. If I attached the debugger, I see that the processor is hung at 0x000025C0 - strange thing is if I single step via si in the debugger and then continue execution via c - the program continues as normal.

I believe 0x000025C0 is in the softdevice execution range. Can you provide any hints as to what might be happening?

sdk_config.h attached. sdk_config.h

Note that the same source (built and linked against the s132v3 softdevice works as expected)

Parents
  • After a bit more experimentation I was able to determine that the cause of the hang is due to not having the RTC initialized before calling SOFTDEVICE_HANDLER_INIT() - I'm not exactly sure why this wasn't an issue with previous SDK or SD versions or why the S132 was not affected in the same way.

    I had thought that the Soft Device performs initialization of the required RTC (RTC0) by itself.

    In my 'fix', I simply have initialized RTC2 before calling SOFTDEVICE_HANDLER_INIT() which seemed to solve the issue.

    I do not fully understand the interdependencies here.

  • FormerMember
    0 FormerMember in reply to koniho

    Since it works to initialize the RTC after the softdevice initialization with S132 but not with S332, the problem is most likely related to the ANT part of the softdevice. We don't have the source code for the ANT part, so to find the reason for the problem/behavior you will have contact Dynastream.

Reply Children
No Data
Related