Adding Custom Board Support

Hi there,

Under lesson 3 of devAcademy

https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-3-adding-custom-board-support/

There is an "important" mention stating this

"

The lesson covers how to define boards in the nRF Connect SDK up to version 2.6.1. It’s important to note that starting from version 2.7.0, the nRF Connect SDK uses a new hardware model (Hardware Model V2), which is not covered in this lesson.

"

Where / When would support be available for adding custom board support when using the latest nRF Connect SDK version 2.7.x

Thank you

Parents Reply
  • Hi Runar,

    1-

    Thanks for the confirmation for locating the boards folder under the application folder--so it does automatically go under source control.

    2-

    For adding the new custom board, I had to update the BOARD_ROOT variable.

    Adding it to the application CMakeLists.txt file as indicated by the devAcademy course

    https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-3-adding-custom-board-support/topic/exercise-2-5/

    3. Point the build system to the custom board root directory.

    Option 1: Inside the application CMake file, CMakeLists.txt.

    did not work! --several build errors!

    FYI,

    As a starting point, I am using the Serial LTE Modem application from the nRF Connect SDK.

    Located under

    \\external\nrf\applications\serial_lte_modem

    which has a sysbuild folder.

    So I had to add a new CMakeLists.txt file under the sysbuild folder with the content copy/paste below.

    message(">>> Sysbuild Board Name >>> ${BOARD}")

    message(">>> Sysbuild Source Directory >>> ${CMAKE_CURRENT_SOURCE_DIR}")

    # Set BOARD_ROOT for sysbuild to find custom boards
    if(NOT ${BOARD} STREQUAL "nrf9151dk/nrf9151/ns")
      message(">>> Sysbuild: Adding board root for custom board")
      # BOARD_ROOT should point to directory that CONTAINS the 'boards' subdirectory
      list (APPEND BOARD_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/..)
    endif()

    # Load the sysbuild package - this is required for build_info and other commands
    find_package(Sysbuild REQUIRED HINTS $ENV{ZEPHYR_BASE})

    project(sysbuild LANGUAGES)
    Queston:
    Please confirm this is a viable solution,
    or whether the VS Code solution is better
    >>> nrf-coinnect-extension >>> Nrf-connect: Board Roots >>> Add item
    Best regards,

Children
Related