'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
  • oskarbjo said:
    Now I am however getting the error "multiple definitions of `RTC1_IRQHandler'". Why does this happen? 

    Multiple files can't define a function with the same name, as the application then does not know which of the function implementations should be called.

    oskarbjo said:
    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)

    That is correct.

    oskarbjo said:
    how to find out which other library is trying to use RTC1? 

    The compiler will normally tell you which two files defines the function. If not, you just needs to search your project for references to RTC1_IRQHandler.

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

    Multiple files can't define a function with the same name, as the application then does not know which of the function implementations should be called.

    oskarbjo said:
    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)

    That is correct.

    oskarbjo said:
    how to find out which other library is trying to use RTC1? 

    The compiler will normally tell you which two files defines the function. If not, you just needs to search your project for references to RTC1_IRQHandler.

Children
No Data
Related