'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 Jorgen,

    Like you suggested, a file that I am not using anymore was calling that function with 2 as the argument. Thanks!

    Now I am however getting the error "multiple definitions of `RTC1_IRQHandler'". Why does this happen? 

    #if NRFX_CHECK(NRFX_RTC1_ENABLED)
    void nrfx_rtc_1_irq_handler(void)
    {
        irq_handler(NRF_RTC1, NRFX_RTC1_INST_IDX, NRF_RTC_CC_CHANNEL_COUNT(1));
    }
    #endif

    I read somewhere that the RTC0 is used by the softdevice and that RTC1 is used by the app_timer library (which I use in the project) - how to find out which other library is trying to use RTC1? 

Reply
  • Hi Jorgen,

    Like you suggested, a file that I am not using anymore was calling that function with 2 as the argument. Thanks!

    Now I am however getting the error "multiple definitions of `RTC1_IRQHandler'". Why does this happen? 

    #if NRFX_CHECK(NRFX_RTC1_ENABLED)
    void nrfx_rtc_1_irq_handler(void)
    {
        irq_handler(NRF_RTC1, NRFX_RTC1_INST_IDX, NRF_RTC_CC_CHANNEL_COUNT(1));
    }
    #endif

    I read somewhere that the RTC0 is used by the softdevice and that RTC1 is used by the app_timer library (which I use in the project) - how to find out which other library is trying to use RTC1? 

Children
No Data
Related