在ncs v3.1.1程序编译中,发现报错:

[283/341] Building C object modules/nrf/subsys/mpsl/init/CMakeFiles/..__nrf__subsys__mpsl__init.dir/mpsl_init.c.obj FAILED: modules/nrf/subsys/mpsl/init/CMakeFiles/..__nrf__subsys__mpsl__init.dir/mpsl_init.c.obj C:\ncs\toolchains\c1a76fddb2\opt\zephyr-sdk\arm-zephyr-eabi\bin\arm-zephyr-eabi-gcc.exe -DKERNEL -DK_HEAP_MEM_POOL_SIZE=2048 -DMBEDTLS_CONFIG_FILE=\"nrf-config.h\" -DMBEDTLS_PSA_CRYPTO_CONFIG_FILE=\"n rf-psa-crypto-config.h\" -DMBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE=\"nrf-psa-crypto-user-config.h\" -DNCS_APPLICATION_BOOT_BANNER_GIT_REPO -DNRF54L15_XXAA -DNRF_APPLICATION -DNRF_CONFIG_CPU_FREQ_MHZ=128 - DPICOLIBC_LONG_LONG_PRINTF_SCANF -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -IC:/ncs/v3.1.1/nrf/drivers/mpsl/clock_control -IC:/ncs/v3.1.1/zephyr/samples/0hec/fci_ota/build/zephyr/i nclude/generated/zephyr -IC:/ncs/v3.1.1/zephyr/include -IC:/ncs/v3.1.1/zephyr/samples/0hec/fci_ota/build/zephyr/include/generated -IC:/ncs/v3.1.1/zephyr/soc/nordic -IC:/ncs/v3.1.1/zephyr/soc/nordic/nr f54l/. -IC:/ncs/v3.1.1/zephyr/soc/nordic/common/. -IC:/ncs/v3.1.1/zephyr/subsys/bluetooth -IC:/ncs/v3.1.1/zephyr/subsys/settings/include -IC:/ncs/v3.1.1/nrf/include -IC:/ncs/v3.1.1/nrf/lib/multithread ing_lock/. -IC:/ncs/v3.1.1/nrf/subsys/bluetooth/controller/. -IC:/ncs/v3.1.1/nrf/subsys/settings/include -IC:/ncs/v3.1.1/zephyr/drivers/flash -IC:/ncs/v3.1.1/nrf/tests/include -IC:/ncs/v3.1.1/modules/ hal/cmsis/CMSIS/Core/Include -IC:/ncs/v3.1.1/modules/hal/cmsis_6/CMSIS/Core/Include -IC:/ncs/v3.1.1/zephyr/modules/cmsis_6/. -IC:/ncs/v3.1.1/nrf/modules/hal_nordic/. -IC:/ncs/v3.1.1/modules/hal/nordic /nrfx -IC:/ncs/v3.1.1/modules/hal/nordic/nrfx/drivers/include -IC:/ncs/v3.1.1/modules/hal/nordic/nrfx/mdk -IC:/ncs/v3.1.1/zephyr/modules/hal_nordic/nrfx/. -IC:/ncs/v3.1.1/modules/debug/segger/SEGGER - IC:/ncs/v3.1.1/modules/debug/segger/Config -IC:/ncs/v3.1.1/nrfxlib/softdevice_controller/include -IC:/ncs/v3.1.1/nrfxlib/mpsl/fem/common/include -IC:/ncs/v3.1.1/nrfxlib/mpsl/fem/nrf21540_gpio/include -IC:/ncs/v3.1.1/nrfxlib/mpsl/fem/nrf21540_gpio_spi/include -IC:/ncs/v3.1.1/nrfxlib/mpsl/fem/nrf2220/include -IC:/ncs/v3.1.1/nrfxlib/mpsl/fem/nrf2240/include -IC:/ncs/v3.1.1/nrfxlib/mpsl/fem/nrf22xx/in clude -IC:/ncs/v3.1.1/nrfxlib/mpsl/fem/simple_gpio/include -IC:/ncs/v3.1.1/nrfxlib/mpsl/fem/include -IC:/ncs/v3.1.1/nrfxlib/mpsl/fem/include/protocol -IC:/ncs/v3.1.1/nrfxlib/mpsl/include -IC:/ncs/v3.1 .1/nrfxlib/mpsl/include/protocol -IC:/ncs/v3.1.1/zephyr/samples/0hec/fci_ota/build/generated/library_nrf_security_psa -IC:/ncs/v3.1.1/nrf/subsys/nrf_security/include -IC:/ncs/v3.1.1/modules/crypto/obe ron-psa-crypto/oberon/drivers -IC:/ncs/v3.1.1/nrf/subsys/nrf_security/src/threading/include -IC:/ncs/v3.1.1/nrf/subsys/nrf_security/src/utils -IC:/ncs/v3.1.1/nrf/subsys/nrf_security/src/drivers/cracen /common/include -IC:/ncs/v3.1.1/nrf/subsys/nrf_security/src/drivers/cracen/sxsymcrypt/include -IC:/ncs/v3.1.1/nrf/subsys/nrf_security/src/drivers/cracen/silexpk/target/baremetal_ba414e_with_ik -IC:/nc s/v3.1.1/nrf/subsys/nrf_security/src/drivers/cracen/silexpk/include -IC:/ncs/v3.1.1/nrf/subsys/nrf_security/src/drivers/cracen/cracenpsa/include -IC:/ncs/v3.1.1/modules/crypto/oberon-psa-crypto/includ e -IC:/ncs/v3.1.1/modules/crypto/oberon-psa-crypto/library -IC:/ncs/v3.1.1/modules/crypto/mbedtls/library -IC:/ncs/v3.1.1/modules/crypto/mbedtls/include -IC:/ncs/v3.1.1/modules/crypto/mbedtls/include/ library -isystem C:/ncs/v3.1.1/zephyr/lib/libc/common/include -fno-strict-aliasing -Os -imacros C:/ncs/v3.1.1/zephyr/samples/0hec/fci_ota/build/zephyr/include/generated/zephyr/autoconf.h -fno-printf-r eturn-value -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m33 -mthumb -mabi=aapcs -mfp16-format=ieee -mtp=soft --sysroot=C:/ncs/toolchains/c1a76fddb2/opt/zephyr-sdk/arm-zephyr-eabi/ arm-zephyr-eabi -imacros C:/ncs/v3.1.1/zephyr/include/zephyr/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wdouble-promotion -Wno-pointer-sign -Wpointer-arith -We xpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-pic -fno-pie -fno-asynchronous-unwind-tables -ftls-model=local-exec -fno-reorder-functions --param=min-pagesize=0 -fno-defer- pop -fmacro-prefix-map=C:/ncs/v3.1.1/zephyr/samples/0hec/fci_ota=CMAKE_SOURCE_DIR -fmacro-prefix-map=C:/ncs/v3.1.1/zephyr=ZEPHYR_BASE -fmacro-prefix-map=C:/ncs/v3.1.1=WEST_TOPDIR -ffunction-sections - fdata-sections -specs=picolibc.specs -std=c99 -MD -MT modules/nrf/subsys/mpsl/init/CMakeFiles/..__nrf__subsys__mpsl__init.dir/mpsl_init.c.obj -MF modules\nrf\subsys\mpsl\init\CMakeFiles\..__nrf__subsy s__mpsl__init.dir\mpsl_init.c.obj.d -o modules/nrf/subsys/mpsl/init/CMakeFiles/..__nrf__subsys__mpsl__init.dir/mpsl_init.c.obj -c C:/ncs/v3.1.1/nrf/subsys/mpsl/init/mpsl_init.c C:/ncs/v3.1.1/nrf/subsys/mpsl/init/mpsl_init.c: In function 'm_config_clock_source_get': C:/ncs/v3.1.1/nrf/subsys/mpsl/init/mpsl_init.c:335:10: error: #error "Clock source is not supported or not defined" 335 | #error "Clock source is not supported or not defined" | ^~~~~ C:/ncs/v3.1.1/nrf/subsys/mpsl/init/mpsl_init.c: In function 'mpsl_lib_init_internal': C:/ncs/v3.1.1/nrf/subsys/mpsl/init/mpsl_init.c:377:34: error: 'CONFIG_CLOCK_CONTROL_NRF_ACCURACY' undeclared (first use in this function); did you mean 'CONFIG_CLOCK_CONTROL_NRF_FORCE_ALT'? 377 | clock_cfg.accuracy_ppm = CONFIG_CLOCK_CONTROL_NRF_ACCURACY; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | CONFIG_CLOCK_CONTROL_NRF_FORCE_ALT C:/ncs/v3.1.1/nrf/subsys/mpsl/init/mpsl_init.c:377:34: note: each undeclared identifier is reported only once for each function it appears in [300/341] Building C object modules/hal_nordic/modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v3.1.1/modules/hal/nordic/nrfx/drivers/src/nrfx_spim.c.obj ninja: build stopped: subcommand failed. FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\c1a76fddb2\opt\bin\cmake.EXE' --build 'c:\ncs\v3.1.1\zephyr\samples\0hec\fci_ota\build' * The terminal process terminated with exit code: 1.

尝试在prj.conf里添加如下内容:

# 使用外部晶振作为低频 32k 源
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y

# 低频晶振精度 (ppm) — 根据晶振规格填写,常见晶振写 20(示例)
CONFIG_CLOCK_CONTROL_NRF_ACCURACY=20

# 可选:强制使用替代驱动(一般不需要)
#CONFIG_CLOCK_CONTROL_NRF_FORCE_ALT=n

以上是根据错误提示,添加低频晶振/RC相关内容,依旧报错,经ChatGPT和nordic官方的AI分析仍旧无法解决,遂尝试恢复ncs到原始版本,一切恢复正常。

恢复ncs到原始版本的命令如下:

cd C:\ncs\v3.1.1
west forall -c "git reset --hard"
west forall -c "git clean -fd"  ////注意这个命令危险
west update

发表回复