RF Test on custom board (nrf5340 + nrf21540)

Hello,

I create a custom board based on nRF5340 with a FEM nRF21540 and I would like to test radio part with some fixed frequency test.

It seems that SDK (nrf connect 2.4) provides a sample for RF test (Direct Test Mode).

After adding my board in the "Direct Test Mode" project, I meet some build error:

Executing task: nRF Connect: Generate config erl_nrf5340_cpunet for /home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode 

Building direct_test_mode
/bin/sh -c west build --build-dir /home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode/build_erl /home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode --pristine --board erl_nrf5340_cpunet --no-sysbuild -- -DNCS_TOOLCHAIN_VERSION:STRING="NONE" -DBOARD_ROOT:STRING="/home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode" -DCONFIG_DTM_USB="y"

-- west build: generating a build system
Loading Zephyr default modules (Zephyr base).
-- Application: /home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode
-- CMake version: 3.20.5
-- Found Python3: /home/bgorostidi/Workspace/Toolchains/nrfConnect_SDK/toolchains/1f9b40e71a/usr/local/bin/python3.8 (found suitable exact version "3.8.2") found components: Interpreter 
-- Cache files will be written to: /home/bgorostidi/.cache/zephyr
-- Zephyr version: 3.3.99 (/home/bgorostidi/Workspace/Toolchains/nrfConnect_SDK/v2.4.0/zephyr)
-- Found west (found suitable version "1.0.0", minimum required is "0.7.1")
-- Board: erl_nrf5340_cpunet
-- Found host-tools: zephyr 0.16.0 (/home/bgorostidi/Workspace/Toolchains/nrfConnect_SDK/toolchains/1f9b40e71a/opt/zephyr-sdk)
-- Found toolchain: zephyr 0.16.0 (/home/bgorostidi/Workspace/Toolchains/nrfConnect_SDK/toolchains/1f9b40e71a/opt/zephyr-sdk)
-- Found Dtc: /home/bgorostidi/Workspace/Toolchains/nrfConnect_SDK/toolchains/1f9b40e71a/usr/bin/dtc (found suitable version "1.4.7", minimum required is "1.4.6") 
-- Found BOARD.dts: /home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode/boards/arm/erl_nrf5340/erl_nrf5340_cpunet.dts
-- Found devicetree overlay: /home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode/boards/erl_nrf5340_cpunet.overlay
-- Generated zephyr.dts: /home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode/build_erl/zephyr/zephyr.dts
-- Generated devicetree_generated.h: /home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode/build_erl/zephyr/include/generated/devicetree_generated.h
-- Including generated dts.cmake file: /home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode/build_erl/zephyr/dts.cmake
Parsing /home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode/Kconfig
Loaded configuration '/home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode/boards/arm/erl_nrf5340/erl_nrf5340_cpunet_defconfig'
Merged configuration '/home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode/prj.conf'
Merged configuration '/home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode/boards/erl_nrf5340_cpunet.conf'
Merged configuration '/home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode/build_erl/zephyr/misc/generated/extra_kconfig_options.conf'
Configuration saved to '/home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode/build_erl/zephyr/.config'
Kconfig header saved to '/home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode/build_erl/zephyr/include/generated/autoconf.h'

warning: Experimental symbol DTM_USB is enabled.

-- Found GnuLd: /home/bgorostidi/Workspace/Toolchains/nrfConnect_SDK/toolchains/1f9b40e71a/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd (found version "2.38") 
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/bgorostidi/Workspace/Toolchains/nrfConnect_SDK/toolchains/1f9b40e71a/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
CMake Error at /home/bgorostidi/Workspace/Toolchains/nrfConnect_SDK/v2.4.0/nrf/cmake/multi_image.cmake:199 (message):
  No board specified for domain 'CPUAPP'.  This configuration is typically
  defined in
  /home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode/boards/arm/erl_nrf5340/Kconfig
Call Stack (most recent call first):
  /home/bgorostidi/Workspace/Toolchains/nrfConnect_SDK/v2.4.0/nrf/cmake/multi_image.cmake:169 (add_child_image_from_source)
  /home/bgorostidi/Workspace/Toolchains/nrfConnect_SDK/v2.4.0/nrf/samples/CMakeLists.txt:56 (add_child_image)


-- Configuring incomplete, errors occurred!
See also "/home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode/build_erl/CMakeFiles/CMakeOutput.log".
See also "/home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode/build_erl/CMakeFiles/CMakeError.log".
FATAL ERROR: command exited with status 1: /home/bgorostidi/Workspace/Toolchains/nrfConnect_SDK/toolchains/1f9b40e71a/usr/local/bin/cmake -DWEST_PYTHON=/home/bgorostidi/Workspace/Toolchains/nrfConnect_SDK/toolchains/1f9b40e71a/usr/local/bin/python3.8 -B/home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode/build_erl -GNinja -DBOARD=erl_nrf5340_cpunet -DNCS_TOOLCHAIN_VERSION:STRING=NONE -DBOARD_ROOT:STRING=/home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode -DCONFIG_DTM_USB=y -S/home/bgorostidi/Workspace/Projects/Iot/nrf53_test/direct_test_mode

 *  The terminal process terminated with exit code: 1. 
 *  Terminal will be reused by tasks, press any key to close it. 

My custom board has an UART0  (only TX) for debug and USB capability.

Best regards.

8132.direct_test_mode.zip

Parents Reply Children
  • Hi,

    I've double checked the Kconfig and the DOMAIN_CPUAPP_BOARD is well defined with the board name.

  • Hi,

    Please check what the DOMAIN_CPUAPP_BOARD symbol is set to in your .config output file.

  • Actualy, DOMAIN_CPUAPP_BOARD symbol is not taken into account in the .config file.

    Kconfig content:

    # ERL board configuration
    
    if BOARD_ERL_NRF5340_CPUAPP || BOARD_ERL_NRF5340_CPUAPP_NS
    
    config BOARD_ENABLE_DCDC_APP
    	bool "Application MCU DCDC converter"
    	select SOC_DCDC_NRF53X_APP
    	default y
    
    config BOARD_ENABLE_DCDC_NET
    	bool "Network MCU DCDC converter"
    	select SOC_DCDC_NRF53X_NET
    	default y
    
    config BOARD_ENABLE_DCDC_HV
    	bool "High Voltage DCDC converter"
    	select SOC_DCDC_NRF53X_HV
    	default y
    
    config BOARD_ENABLE_CPUNET
    	bool "NRF53 Network MCU"
    	select SOC_NRF_GPIO_FORWARDER_FOR_NRF5340 if \
    		$(dt_compat_enabled,$(DT_COMPAT_NORDIC_NRF_GPIO_FORWARDER))
    	help
    	  This option enables releasing the Network 'force off' signal, which
    	  as a consequence will power up the Network MCU during system boot.
    	  Additionally, the option allocates GPIO pins that will be used by UARTE
    	  of the Network MCU.
    	  Note: GPIO pin allocation can only be configured by the secure Application
    	  MCU firmware, so when this option is used with the non-secure version of
    	  the board, the application needs to take into consideration, that the
    	  secure firmware image must already have configured GPIO allocation for the
    	  Network MCU.
    	default y if (BT || NRF_802154_SER_HOST)
    
    config DOMAIN_CPUNET_BOARD
    	string
    	default "erl_nrf5340_cpunet"
    	depends on BOARD_ENABLE_CPUNET
    	help
    	  The board which will be used for CPUNET domain when creating a multi
    	  image application where one or more images should be located on
    	  another board. For example hci_rpmsg on the nRF5340_cpunet for
    	  Bluetooth applications.
    
    endif #  BOARD_ERL_NRF5340_CPUAPP || BOARD_ERL_NRF5340_CPUAPP_NS
    
    config DOMAIN_CPUAPP_BOARD
    	string
    	default "erl_nrf5340_cpuapp"
    	depends on BOARD_ERL_NRF5340_CPUNET
    	help
    	  The board which will be used for CPUAPP domain when creating a multi
    	  image application where one or more images should be located on
    	  another board.

  • You can found it in the zip file uploaded in my first message. Let me know if you cannot access to the file.

Related