Unable to build blinky sample for custom nRF52805 board, missed steps?

I am evaluating a Fanstel BC805M device, which uses the nRF52805 chipset.  I am using VSCode and have installed the nRF Connect Extension Pack, toolchain v2.8.0, and SDK v2.8.0.  If I create a blinky sample application, then create a build configuration that targets the nrf52dk/nrf52805, everything builds successfully, so I think the tools and extension have been set up properly.

Now I am trying to build the sample for the BC805M by adding a custom board, but the build fails.  My steps:

  1. Used the "Create a new board" option in the VSCode extension and successfully created a board at C:\my_boards\boards\fanstel\bc805m.  For reference, I entered "bc805m" for both the human-readable and machine-readable names, then selected the NRF52805 CAAA for the target.  The files in that directory are shown below.
    1. Question 1: are these files named correctly for Zephyr's Hardware Model v2?
  2. Used the "Create a new application" option to create a new blinky app at C:\my_apps\blinky, based on the zephyr blinky sample.
  3. Clicked "Add build configuration" button.
  4. Selected the "Custom" radio button, which automatically selected my custom board, bc805m/nrf52805.
  5. Left the rest of the options default and clicked "Build Configuration"
  6. The app built for a while but eventually threw an warning about drivers__gpio, then errored:
    CMake Warning at C:/ncs/v2.8.0/zephyr/CMakeLists.txt:952 (message):
      No SOURCES given to Zephyr library: drivers__gpio
    
      Excluding target from build.

    In file included from C:/ncs/v2.8.0/zephyr/include/zephyr/toolchain/gcc.h:98,
    from C:/ncs/v2.8.0/zephyr/include/zephyr/toolchain.h:50,
    from C:/ncs/v2.8.0/zephyr/include/zephyr/kernel_includes.h:23,
    from C:/ncs/v2.8.0/zephyr/include/zephyr/kernel.h:17,
    from C:/my_apps/blinky/src/main.c:8:
    C:/ncs/v2.8.0/zephyr/include/zephyr/device.h:92:41: error: '__device_dts_ord_DT_N_ALIAS_led0_P_gpios_IDX_0_PH_ORD' undeclared here (not in a function)

I am assuming there is more I need to do with the custom board files, but I'm having trouble determining what.  DevAcademy's Lesson 3 - Adding custom board support, Exercise 1, indicates I need to add some configuration options to bc805m_defconfig, but a note at the beginning of that lesson says it's only applicable up to SDK v2.6.1, after which the Zephyr Hardware Model 2 was adopted.

Question 2: Are the defconfig options listed in Exercise 1 still valid?  If not, where can I find the currently supported config options to add to bc805m_defconfig?

Exercise 1 also showed using the Devicetree Visual Editor to set up the board device tree, but it does not appear the device tree is in the build output folder.

I found How to work with boards and devices, but that doesn't have information about modifying device tree or config files.

Question 3: Is there a tutorial for custom boards with Zephyr Hardware Model 2?

Related