SDK 2.9.0 undefined reference to `nrfx_gppi_channel_alloc'

I'm updating our nRF5340 firmware from SDK 2.4.2 to the SDK2.9.0. After few modifications, I was able to compile it using the SDK2.8.0. Now I'm trying to compile it with SDK 2.9.0 and I couldn't figure out how to fix those undefined reference.

c:/ncs/toolchains/b620d30767/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: zephyr/soc/soc/arm/nordic_nrf/lib..__modules__soc-hwmv1__soc__arm__nordic_nrf.a(soc.c.obj): in function `rtc_pretick_cpuapp_init':
C:/ncs/v2.9.0/modules/soc-hwmv1/soc/arm/nordic_nrf/nrf53/soc.c:408: undefined reference to `nrfx_gppi_channel_alloc'
c:/ncs/toolchains/b620d30767/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: C:/ncs/v2.9.0/modules/soc-hwmv1/soc/arm/nordic_nrf/nrf53/soc.c:418: undefined reference to `nrfx_gppi_task_endpoint_setup'
c:/ncs/toolchains/b620d30767/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: C:/ncs/v2.9.0/modules/soc-hwmv1/soc/arm/nordic_nrf/nrf53/soc.c:419: undefined reference to `nrfx_gppi_event_endpoint_setup'
c:/ncs/toolchains/b620d30767/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: C:/ncs/v2.9.0/modules/soc-hwmv1/soc/arm/nordic_nrf/nrf53/soc.c:420: undefined reference to `nrfx_gppi_channels_enable'

Thanks in advance,

Leiser

Parents Reply Children
  • Sorry for the delay, I was working in other assignment.

    Looks like adding the CONFIG_NRFX_GPPI on the boards files works. No more undefined reference to `nrfx_gppi_channel_alloc'.

    The error now is related to i2c_nrfx_twin.

    \main_app\build\zephyr && C:\ncs\toolchains\b620d30767\opt\bin\cmake.exe -E true""
    c:/ncs/toolchains/b620d30767/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: zephyr/drivers/i2c/libdrivers__i2c.a(i2c_nrfx_twim_common.c.obj): in function `i2c_nrfx_twim_configure':

    C:/ncs/v2.9.0/zephyr/drivers/i2c/i2c_nrfx_twim_common.c:71: undefined reference to `log_const_i2c_nrfx_twim'

    c:/ncs/toolchains/b620d30767/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: zephyr/drivers/i2c/libdrivers__i2c.a(i2c_nrfx_twim_common.c.obj): in function `i2c_nrfx_twim_msg_transfer':

    C:/ncs/v2.9.0/zephyr/drivers/i2c/i2c_nrfx_twim_common.c:103: undefined reference to `log_const_i2c_nrfx_twim'

    c:/ncs/toolchains/b620d30767/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: zephyr/drivers/i2c/libdrivers__i2c.a(i2c_nrfx_twim_common.c.obj): in function `i2c_nrfx_twim_common_init':

    C:/ncs/v2.9.0/zephyr/drivers/i2c/i2c_nrfx_twim_common.c:140: undefined reference to `log_const_i2c_nrfx_twim'

    I think you can close this one. If I will not able to find a solution for that error I will open other case for that.

    Thanks!

  • The errors related to i2c_nrfx_twim was fixed by removing "CONFIG_I2C_LOG_LEVEL_OFF=y".  I was able to build the nRF5340 firmware using the SDK 2.9.0.

    Thanks for the support.

    Regards, 

    Leiser

  • Great to hear we were able to solve the undefined references. Don't hesitate to create another ticket in future if there is any question

    Regards

    Runar

Related