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
  • Deleting the build folder only change the order the errors were logged.

    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_cpunet_init':
    C:/ncs/v2.9.0/modules/soc-hwmv1/soc/arm/nordic_nrf/nrf53/soc.c:460: 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:466: 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:467: 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:468: 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:469: 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:470: undefined reference to `nrfx_gppi_channels_enable'
    collect2.exe: error: ld returned 1 exit status

  • Thanks, did you try to add CONFIG_NRFX_GPPI to both cores? I forgot to specify it

    Regards

    Runar

  • I had not added in both cores. I delete the build folder and I tried it now in both cores and no change. Same errors came out.

  • 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!

Related