'NRF_RTC2' undeclared

Hello,

I am trying to port a project from the NRF52840 DK to a custom board where I am using the NRF52820. The code compiles fine when the project is using the settings for NRF52840 but when I adjust the settings under 'Code generation' to match that of the NRF82820 it complains that NRF_RTC2 is undeclared which it first comes across in nrfx_rtc.h at:

#define NRFX_RTC_INSTANCE(id)                                   \
{                                                               \
    .p_reg            = NRFX_CONCAT_2(NRF_RTC, id),             \
    .irq              = NRFX_CONCAT_3(RTC, id, _IRQn),          \
    .instance_id      = NRFX_CONCAT_3(NRFX_RTC, id, _INST_IDX), \
    .cc_channel_count = NRF_RTC_CC_CHANNEL_COUNT(id),           \
}

I suspect this has to do with the fact that NRF52840 has three real time counters while 52820 only has two, but I don't understand how I can work around this problem. I am not enabling RTC2 in the config file. Any ideas? Thank you.

Parents
  • Hi,

    I suspect this has to do with the fact that NRF52840 has three real time counters while 52820 only has two

    Yes, that would be the correct assumption. 

    but I don't understand how I can work around this problem. I am not enabling RTC2 in the config file. Any ideas?

    It looks like NRFX_RTC_INSTANCE() (or NRF_DRV_RTC_INSTANCE()) is called with 2 as the argument somewhere in your project. Please check if you can find any reference to one of these macros. This macro is defined in the header file, which is included regardless of the RTC instance being enabled in your sdk_config.h file or not.

    Best regards,
    Jørgen

Reply
  • Hi,

    I suspect this has to do with the fact that NRF52840 has three real time counters while 52820 only has two

    Yes, that would be the correct assumption. 

    but I don't understand how I can work around this problem. I am not enabling RTC2 in the config file. Any ideas?

    It looks like NRFX_RTC_INSTANCE() (or NRF_DRV_RTC_INSTANCE()) is called with 2 as the argument somewhere in your project. Please check if you can find any reference to one of these macros. This macro is defined in the header file, which is included regardless of the RTC instance being enabled in your sdk_config.h file or not.

    Best regards,
    Jørgen

Children
Related