Upgrading NRFCONNECT SDK v2.0.0 to v2.5.0 build issue with PINCTRL Driver compiling common.c

Hi,

I've been working on upgrading our SDK 2.0.0 code to SDK 2.5.0.  There are numerous things to do so I have been fixing things to get to the point where I can get a good hex build.  Of the many things to be done I have implemented the PINCTRL in the device tree and am trying to get past those fixes.  The issue I am having at the moment appears to be the build not compiling common.c which is in the zephyr drivers/pinctrl/ directory.  According to the CMakeList.txt file the common.c should be compiled if the proj.conf has the CONFIG_PINCTRL=y set.  But I am getting some issues with undeclared functions which appear to need common.c to be there to work:

../lib/gcc/arm-zephyr-eabi/12.2.0/thumb/v8-m.main+fp/hard" -LC:/Users/lindh/Desktop/wt-sdk-25/wt_app/signetik_client/build/mcuboot/zephyr -lgcc zephyr/arch/common/libisr_tables.a -mcpu=cortex-m33 -mthumb -mabi=aapcs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mfp16-format=ieee -Wl,--gc-sections -Wl,--build-id=none -Wl,--sort-common=descending -Wl,--sort-section=alignment -Wl,-u,_OffsetAbsSyms -Wl,-u,_ConfigAbsSyms -nostdlib -static -Wl,-X -Wl,-N -Wl,--orphan-handling=warn -Wl,-no-pie C:/Users/lindh/Desktop/wt-sdk-25/nrfxlib/crypto/nrf_cc310_platform/lib/cortex-m33/hard-float/no-interrupts/libnrf_cc310_platform_0.9.18.a C:/Users/lindh/Desktop/wt-sdk-25/nrfxlib/crypto/nrf_cc310_bl/lib/cortex-m33/hard-float/no-interrupts/libnrf_cc310_bl_0.9.12.a && cmd.exe /C "cd /D C:\Users\lindh\Desktop\wt-sdk-25\wt_app\signetik_client\build\mcuboot\zephyr && C:\ncs\toolchains\c57af46cb7\opt\bin\cmake.exe -E true""
c:/ncs/toolchains/c57af46cb7/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: zephyr/drivers/serial/libdrivers__serial.a(uart_nrfx_uarte.c.obj): in function `pinctrl_apply_state':
C:\Users\lindh\Desktop\wt-sdk-25\zephyr\include\zephyr\drivers\pinctrl.h:348: undefined reference to `pinctrl_lookup_state'
c:/ncs/toolchains/c57af46cb7/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: zephyr/drivers/serial/libdrivers__serial.a(uart_nrfx_uarte.c.obj): in function `pinctrl_apply_state_direct':
C:\Users\lindh\Desktop\wt-sdk-25\zephyr\include\zephyr\drivers\pinctrl.h:329: undefined reference to `pinctrl_configure_pins'
collect2.exe: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

The routines in red appear to have the source in the zepher drivers/pinctrl/common.c file which is compiled in the CMakelist.txt file in the drivers/pinctrl directory.  And I believe I have the config setup in proj.conf that should be building it, unless I have something else missing:

CONFIG_BUILD_WITH_TFM=n
####CONFIG_SPM=y    # removed v250
#CONFIG_TEST_RANDOM_GENERATOR=y
CONFIG_BASE64=y
CONFIG_PINCTRL=y
#CONFIG_PM_DEVICE=y
#CONFIG_PINCTRL_NRF=y
CONFIG_PM_PARTITION_SIZE_NVS_STORAGE=0x5000
This is just an excerpt from the proj.conf section that the CONFIG_PINCTRL=y is in.  Other entries in the proj.conf which appeared to have an issue I have commented out with 4 "#"'s.  Config entries I have put into proj.conf since the start of the conversion are:
# NEW PARAMETERS FOR v250:
CONFIG_MBEDTLS=y
CONFIG_DFU_TARGET_MCUBOOT=y
CONFIG_MCUBOOT_IMG_MANAGER=y
CONFIG_FLASH_MAP=y
CONFIG_STREAM_FLASH=y
As I said, I am not through getting everything converted.  Just hit this roadblock and it seems like the common.c of PINCTRL is not being built so those routines that are prototyped in pinctrl.h are missing.
Thanks for your help and let me know if you need anything else to figure it out.  I will continue looking at it as well.
h.
Parents Reply Children
No Data
Related