nRF7002DK board target nrf7002dk_nrf5340_cpuapp_ns is not working for v2.7.0-rc3

Hello,

I wanted to evaluate the nRF53 platform with nrf connect SDK so I got new nRF7002DK board. I have following versions of all tools installed.

- nRF connect SDK :- v2.7.0-rc3

- Toolchain version :- v2.6.0

- Board :- nRF7002DK

When I tried to do the build configuration I am getting following error.

-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
CMake Warning at D:/ncs/v2.7.0-rc3/zephyr/cmake/modules/boards.cmake:110 (message):
  Deprecated BOARD=nrf7002dk_nrf5340_cpuapp_ns specified, board automatically
  changed to: nrf7002dk/nrf5340/cpuapp_ns.
Call Stack (most recent call first):
  D:/ncs/v2.7.0-rc3/zephyr/cmake/modules/zephyr_default.cmake:132 (include)
  D:/ncs/v2.7.0-rc3/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
  D:/ncs/v2.7.0-rc3/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
  CMakeLists.txt:4 (find_package)


CMake Error at D:/ncs/v2.7.0-rc3/zephyr/cmake/modules/boards.cmake:320 (message):
  Board qualifiers `/nrf5340/cpuapp_ns` for board `nrf7002dk` not found.
  Please specify a valid board target.

  Valid board targets for nrf7002dk are:

  nrf7002dk/nrf5340/cpuapp

  nrf7002dk/nrf5340/cpuapp/ns

  nrf7002dk/nrf5340/cpuapp/nrf7001

  nrf7002dk/nrf5340/cpuapp/nrf7001/ns

  nrf7002dk/nrf5340/cpunet

  nrf7002dk/nrf5340/cpunet/nrf7001

Call Stack (most recent call first):
  D:/ncs/v2.7.0-rc3/zephyr/cmake/modules/zephyr_default.cmake:132 (include)
  D:/ncs/v2.7.0-rc3/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
  D:/ncs/v2.7.0-rc3/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
  CMakeLists.txt:4 (find_package)

It works with board target nrf7002dk_nrf5340_cpuapp. Can someone help me solve this issue as i want to work with trusted unit so want to select _ns version of board.

Thanks

Parents
  • Hi

    I would recommend using the same toolchain as SDK version. As NCS 2.7 is out I would suggest using it instead of 2.7-rc3 and using the correct toolchain. 

    Which sample are you trying? You would need to add TF-M, which you can do by adding CONFIG_BUILD_WITH_TFM in your prj.conf. I would also suggest having a look at Running applications with Trusted Firmware-M

    Additionally, there is TF-M secure peripheral partition sample which demonstrates the configuration of peripherals as secure peripherals, and the usage of the secure peripherals in the secure partition

    Regards

    Runar

  • Update:

    I checked with 2.6.0 SDK and toolchain and blinky sample which was not building due to mentioned error in board resolution builds without any issues for nrf7002dk_nrf5340_cpuapp_ns. However TF-M secure peripheral partition doesn't build for same board but issue might be as the supported platforms for this sample doesn't include that board and with creation of overlay that might be fixed.

    Conclusion: SDK 2.7.0 has a bug related to resolution of nrf7002dk_nrf5340_cpuapp_ns board.

  • Facing exactly the same issue as I upgraded to 2.7.0. Tried this on azure_iot_hub test app:

    • Build works without issues for nrf9160dk_nrf9160_ns
    • Build fails for nrf5340dk_nrf5340_cpuapp_ns with nrf7002ek SHIELD with error 
      nrf/modules/cjson/os/cJSON_os.c:15: undefined reference to `k_malloc'
    • Build fails for nrf7002dk_nrf5340_cpuapp_ns with above mentioned error 
      Board qualifiers `/nrf5340/cpuapp_ns` for board `nrf7002dk` not found.

    The one thing I noticed between nrf5340dk and nrf7002dk build logs, is in the deprecated board warning: 
     the new name for nrf5340dk has cpuapp/ns separated by '/', while in nrf7002dk it's still cpuapp_ns:

    CMake Warning at /src/west/zephyr/cmake/modules/boards.cmake:110 (message):
    Deprecated BOARD=nrf7002dk_nrf5340_cpuapp_ns specified, board automatically
    changed to: nrf7002dk/nrf5340/cpuapp_ns.

    vs

    CMake Warning at /src/west/zephyr/cmake/modules/boards.cmake:110 (message):
    Deprecated BOARD=nrf5340dk_nrf5340_cpuapp_ns specified, board automatically
    changed to: nrf5340dk/nrf5340/cpuapp/ns.

    All tests were performed with nrfutil and toolchains manager the upgraded to latest versions, and 2.7.0 toolchain with 2.7.0 NRF Connect SDK installed.

  • Update:

    I was able to finally build for nrf7002dk by changing cpuapp_ns to cpuapp/ns in nrf/boards/deprecated.cmake:

    # Wi-Fi boards
    set(nrf7002dk_nrf5340_cpuapp_DEPRECATED nrf7002dk/nrf5340/cpuapp)
    set(nrf7002dk_nrf5340_cpuapp_ns_DEPRECATED nrf7002dk/nrf5340/cpuapp/ns)
    
    set(nrf7002dk_nrf7001_nrf5340_cpuapp_DEPRECATED nrf7002dk/nrf5340/cpuapp/nrf7001)
    set(nrf7002dk_nrf7001_nrf5340_cpuapp_ns_DEPRECATED nrf7002dk/nrf5340/cpuapp/ns/nrf7001)
    

  • Update #2:

    I ended up reverting back to 2.6.99-cs2. In 2.7.0 I faced issues with mqtt+TLS, I wasn't able to build azure_iot_client for nrf7002dk (not enough flash size)...

Reply Children
  • Hi 

    I would recommend that you start a new case for the issue. I would also point out the following "nRF Connect SDK v2.6.99-cs2 is a customer sampling release, tailored exclusively for participants in the nRF54H20 SoC customer sampling program. Do not use this release of nRF Connect SDK if you are not participating in the program." 

    Regards

    Runar

Related