Unable to get nRF Connect SDK Zephyr fat_fs sample to mount an SD card using an nRF52840 DK

Hi all,

Apologies for adding another nRF5X DK SD card ticket to the pile, I hope there is not something terribly obvious I have overlooked. I have been trying to interface an SD card using my nRF52480 DK the last few weeks, but cannot seem to get anywhere with what I have been able to find in other threads.

The sample I have been working with is zephyr/samples/subsys/fs/fat_fs FAT Filesystem Sample application. Based on what I found mentioned in this thread, I have my overlay file nrf52840dk_nrf52840.overlay set up as follows:

&spi2 {
    status = "okay";
    compatible = "nordic,nrf-spim";
    // sck-pin = < 47 >;
    // miso-pin = < 46 >;
    // mosi-pin = < 45 >;
    cs-gpios = < &gpio0 17 GPIO_ACTIVE_HIGH >;
    sdhc0: sdhc@0 {
        compatible = "zephyr,mmc-spi-slot";
        reg = < 0x0 >;
        status = "okay";
        label = "SDHC0";
        spi-max-frequency = < 0x16e3600 >;
    };
};

I have commented out the sck, miso and mosi pin configurations as attempting to do a pristine build with them enabled results in errors and the following build log:

 *  Executing task: nRF Connect: Build: fat_fs_devzone/build (active) 

Building fat_fs_devzone
west build --build-dir c:\ncs\myapps\fat_fs_devzone\build c:\ncs\myapps\fat_fs_devzone --pristine --board nrf52840dk_nrf52840 -- -DNCS_TOOLCHAIN_VERSION:STRING="NONE" -DBOARD_ROOT:STRING="c:/ncs/myapps/fat_fs;c:/ncs/myapps/fat_fs_devzone" -DCONFIG_DEBUG_OPTIMIZATIONS:STRING="y" -DCONFIG_DEBUG_THREAD_INFO:STRING="y" -DDTC_OVERLAY_FILE:STRING="c:/ncs/myapps/fat_fs_devzone/nrf52840dk_nrf52840.overlay" -DCONF_FILE:STRING="c:/ncs/myapps/fat_fs_devzone/prj.conf"

-- west build: generating a build system
Loading Zephyr default modules (Zephyr base).
-- Application: C:/ncs/myapps/fat_fs_devzone
-- Found Python3: C:/ncs/toolchains/v2.1.2/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter 
-- Cache files will be written to: C:/ncs/v2.1.2/zephyr/.cache
-- Zephyr version: 3.1.99 (C:/ncs/v2.1.2/zephyr)
-- Found west (found suitable version "0.14.0", minimum required is "0.7.1")
-- Board: nrf52840dk_nrf52840
-- Found host-tools: zephyr 0.14.1 (C:/ncs/toolchains/v2.1.2/opt/zephyr-sdk)
-- Found dtc: C:/ncs/toolchains/v2.1.2/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
-- Found toolchain: zephyr 0.14.1 (C:/ncs/toolchains/v2.1.2/opt/zephyr-sdk)
-- Found BOARD.dts: C:/ncs/v2.1.2/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840.dts
-- Found devicetree overlay: c:/ncs/myapps/fat_fs_devzone/nrf52840dk_nrf52840.overlay
'sck-pin' is marked as deprecated in 'properties:' in C:/ncs/v2.1.2/zephyr/dts/bindings\spi\nordic,nrf-spim.yaml for node /soc/spi@40023000.
'mosi-pin' is marked as deprecated in 'properties:' in C:/ncs/v2.1.2/zephyr/dts/bindings\spi\nordic,nrf-spim.yaml for node /soc/spi@40023000.
'miso-pin' is marked as deprecated in 'properties:' in C:/ncs/v2.1.2/zephyr/dts/bindings\spi\nordic,nrf-spim.yaml for node /soc/spi@40023000.
-- Generated zephyr.dts: C:/ncs/myapps/fat_fs_devzone/build/zephyr/zephyr.dts
-- Generated devicetree_unfixed.h: C:/ncs/myapps/fat_fs_devzone/build/zephyr/include/generated/devicetree_unfixed.h
-- Generated device_extern.h: C:/ncs/myapps/fat_fs_devzone/build/zephyr/include/generated/device_extern.h
-- Including generated dts.cmake file: C:/ncs/myapps/fat_fs_devzone/build/zephyr/dts.cmake
Parsing C:/ncs/v2.1.2/zephyr/Kconfig
Loaded configuration 'C:/ncs/v2.1.2/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840_defconfig'
Merged configuration 'c:/ncs/myapps/fat_fs_devzone/prj.conf'
Merged configuration 'C:/ncs/myapps/fat_fs_devzone/build/zephyr/misc/generated/extra_kconfig_options.conf'
Configuration saved to 'C:/ncs/myapps/fat_fs_devzone/build/zephyr/.config'
Kconfig header saved to 'C:/ncs/myapps/fat_fs_devzone/build/zephyr/include/generated/autoconf.h'
-- The C compiler identification is GNU 10.3.0
-- The CXX compiler identification is GNU 10.3.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/ncs/toolchains/v2.1.2/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
CMake Warning at C:/ncs/v2.1.2/zephyr/CMakeLists.txt:831 (message):
  No SOURCES given to Zephyr library: drivers__disk

  Excluding target from build.


-- Configuring done
-- Generating done
-- Build files have been written to: C:/ncs/myapps/fat_fs_devzone/build
-- west build: building application
[1/194] Generating include/generated/version.h
-- Zephyr version: 3.1.99 (C:/ncs/v2.1.2/zephyr), build: v3.1.99-ncs1-1
[2/194] Generating misc/generated/syscalls.json, misc/generated/struct_tags.json
[3/194] Generating include/generated/driver-validation.h
[4/194] Generating include/generated/kobj-types-enum.h, include/generated/otype-to-str.h, include/generated/otype-to-size.h
[5/194] Generating include/generated/syscall_dispatch.c, include/generated/syscall_list.h
[6/194] Building C object zephyr/CMakeFiles/offsets.dir/arch/arm/core/offsets/offsets.c.obj
[7/194] Generating include/generated/offsets.h
[8/194] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/nmi_on_reset.S.obj
[9/194] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/cpu_idle.S.obj
[10/194] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fault_s.S.obj
[11/194] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/swap_helper.S.obj
[12/194] Building C object zephyr/arch/common/CMakeFiles/isr_tables.dir/isr_tables.c.obj
[13/194] Building C object zephyr/arch/common/CMakeFiles/arch__common.dir/sw_isr_common.c.obj
[14/194] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/isr_wrapper.S.obj
[15/194] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/exc_exit.S.obj
[16/194] Generating linker_zephyr_pre1.cmd
[17/194] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/nmi.c.obj
[18/194] Generating linker_zephyr_pre0.cmd
[19/194] Building C object zephyr/CMakeFiles/zephyr.dir/C_/ncs/v2.1.2/nrfxlib/crypto/nrf_cc310_platform/src/nrf_cc3xx_platform_mutex_zephyr.c.obj
[20/194] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/swap.c.obj
[21/194] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/irq_manage.c.obj
[22/194] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/prep_c.c.obj
[23/194] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/thread.c.obj
[24/194] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/reset.S.obj
[25/194] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/vector_table.S.obj
[26/194] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/fatal.c.obj
[27/194] Linking C static library zephyr\arch\common\libisr_tables.a
[28/194] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/thread_abort.c.obj
[29/194] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/perror.c.obj
[30/194] Generating ../../../include/generated/libc/minimal/strerror_table.h
[31/194] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/irq_init.c.obj
[32/194] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fpu.c.obj
[33/194] Building C object zephyr/arch/arch/arm/core/aarch32/mpu/CMakeFiles/arch__arm__core__aarch32__mpu.dir/arm_core_mpu.c.obj
[34/194] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/scb.c.obj
[35/194] Building C object zephyr/soc/arm/common/cortex_m/CMakeFiles/soc__arm__common__cortex_m.dir/arm_mpu_regions.c.obj
[36/194] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/pthread_common.c.obj
[37/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc32c_sw.c.obj
[38/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc32_sw.c.obj
[39/194] Building C object zephyr/CMakeFiles/zephyr_pre0.dir/misc/empty_file.c.obj
[40/194] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/nanosleep.c.obj
[41/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/atoi.c.obj
[42/194] Linking C static library zephyr\arch\arch\arm\core\aarch32\libarch__arm__core__aarch32.a
[43/194] Building C object zephyr/soc/arm/nordic_nrf/nrf52/CMakeFiles/soc__arm__nordic_nrf__nrf52.dir/power.c.obj
[44/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtol.c.obj
[45/194] Linking C static library zephyr\arch\common\libarch__common.a
[46/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/cbprintf_packaged.c.obj
[47/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtoll.c.obj
[48/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/bsearch.c.obj
[49/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtoul.c.obj
[50/194] Building C object zephyr/soc/arm/nordic_nrf/nrf52/CMakeFiles/soc__arm__nordic_nrf__nrf52.dir/soc.c.obj
[51/194] Building C object zephyr/arch/arch/arm/core/aarch32/mpu/CMakeFiles/arch__arm__core__aarch32__mpu.dir/arm_mpu.c.obj
[52/194] Building C object CMakeFiles/app.dir/src/main.c.obj
[53/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtoull.c.obj
[54/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/abort.c.obj
[55/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strncasecmp.c.obj
[56/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/exit.c.obj
[57/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strerror.c.obj
[58/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/qsort.c.obj
[59/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/fprintf.c.obj
[60/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strstr.c.obj
[61/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/sprintf.c.obj
[62/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strspn.c.obj
[63/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/math/sqrtf.c.obj
[64/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/string.c.obj
[65/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/malloc.c.obj
[66/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/math/sqrt.c.obj
[67/194] Linking C static library zephyr\arch\arch\arm\core\aarch32\mpu\libarch__arm__core__aarch32__mpu.a
[68/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc8_sw.c.obj
[69/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc16_sw.c.obj
[70/194] Linking C static library zephyr\soc\arm\nordic_nrf\nrf52\libsoc__arm__nordic_nrf__nrf52.a
[71/194] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fault.c.obj
[72/194] Linking C static library zephyr\lib\posix\liblib__posix.a
[73/194] Linking C static library zephyr\soc\arm\common\cortex_m\libsoc__arm__common__cortex_m.a
[74/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/dec.c.obj
[75/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/stdout_console.c.obj
[76/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/hex.c.obj
[77/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc7_sw.c.obj
[78/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/time/gmtime.c.obj
[79/194] Linking C static library app\libapp.a
[80/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/notify.c.obj
[81/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/timeutil.c.obj
[82/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/printk.c.obj
[83/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/fdtable.c.obj
[84/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/cbprintf.c.obj
[85/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/sem.c.obj
[86/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/multi_heap.c.obj
[87/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/onoff.c.obj
[88/194] Linking C static library zephyr\arch\arch\arm\core\aarch32\cortex_m\libarch__arm__core__aarch32__cortex_m.a
[89/194] Linking C static library zephyr\lib\libc\minimal\liblib__libc__minimal.a
[90/194] Building ASM object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/common/soc_nrf_common.S.obj
[91/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/thread_entry.c.obj
[92/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/cbprintf_complete.c.obj
[93/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/rb.c.obj
[94/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/assert.c.obj
[95/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/heap-validate.c.obj
[96/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/bitarray.c.obj
[97/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/reboot.c.obj
[98/194] Building C object zephyr/CMakeFiles/zephyr.dir/misc/generated/configs.c.obj
[99/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/heap.c.obj
[100/194] Building C object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/validate_enabled_instances.c.obj
[101/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/mpsc_pbuf.c.obj
[102/194] Building C object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/validate_base_addresses.c.obj
[103/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/pm/state.c.obj
[104/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_msg.c.obj
[105/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/debug/thread_info.c.obj
[106/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_backend_rtt.c.obj
[107/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_mgmt.c.obj
[108/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_output.c.obj
[109/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/tracing/tracing_none.c.obj
[110/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/pm/pm.c.obj
[111/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_core.c.obj
[112/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_backend_uart.c.obj
[113/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/pm/policy.c.obj
[114/194] Building C object zephyr/CMakeFiles/zephyr.dir/C_/ncs/v2.1.2/nrfxlib/crypto/nrf_cc310_platform/src/nrf_cc3xx_platform_abort_zephyr.c.obj
[115/194] Building C object zephyr/subsys/fs/CMakeFiles/subsys__fs.dir/fs_impl.c.obj
[116/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/disk/disk_access.c.obj
[117/194] Building C object zephyr/subsys/fs/CMakeFiles/subsys__fs.dir/fat_fs.c.obj
[118/194] Building C object zephyr/drivers/clock_control/CMakeFiles/drivers__clock_control.dir/clock_control_nrf.c.obj
[119/194] Building C object zephyr/drivers/gpio/CMakeFiles/drivers__gpio.dir/gpio_nrfx.c.obj
[120/194] Building C object zephyr/drivers/timer/CMakeFiles/drivers__timer.dir/sys_clock_init.c.obj
[121/194] Building C object zephyr/drivers/console/CMakeFiles/drivers__console.dir/uart_console.c.obj
[122/194] Building C object zephyr/drivers/pinctrl/CMakeFiles/drivers__pinctrl.dir/common.c.obj
[123/194] Building C object modules/nrf/lib/fatal_error/CMakeFiles/..__nrf__lib__fatal_error.dir/fatal_error.c.obj
[124/194] Building C object zephyr/drivers/serial/CMakeFiles/drivers__serial.dir/uart_nrfx_uarte.c.obj
[125/194] Building C object modules/nrf/drivers/hw_cc310/CMakeFiles/..__nrf__drivers__hw_cc310.dir/hw_cc310.c.obj
[126/194] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/mdk/system_nrf52840.c.obj
[127/194] Building C object zephyr/drivers/pinctrl/CMakeFiles/drivers__pinctrl.dir/pinctrl_nrf.c.obj
[128/194] Building C object zephyr/drivers/timer/CMakeFiles/drivers__timer.dir/nrf_rtc_timer.c.obj
[129/194] Linking C static library zephyr\libzephyr.a
[130/194] Linking C static library zephyr\drivers\clock_control\libdrivers__clock_control.a
[131/194] Building C object modules/fatfs/CMakeFiles/..__modules__fs__fatfs.dir/zfs_diskio.c.obj
[132/194] Building C object zephyr/drivers/spi/CMakeFiles/drivers__spi.dir/spi_nrfx_spim.c.obj
FAILED: zephyr/drivers/spi/CMakeFiles/drivers__spi.dir/spi_nrfx_spim.c.obj 
C:\ncs\toolchains\v2.1.2\opt\zephyr-sdk\arm-zephyr-eabi\bin\arm-zephyr-eabi-gcc.exe -DKERNEL -DNRF52840_XXAA -DUSE_PARTITION_MANAGER=0 -D_FORTIFY_SOURCE=2 -D__PROGRAM_START -D__ZEPHYR_SUPERVISOR__ -D__ZEPHYR__=1 -IC:/ncs/v2.1.2/zephyr/include/zephyr -IC:/ncs/v2.1.2/zephyr/include -Izephyr/include/generated -IC:/ncs/v2.1.2/zephyr/soc/arm/nordic_nrf/nrf52 -IC:/ncs/v2.1.2/zephyr/soc/arm/nordic_nrf/common/. -IC:/ncs/v2.1.2/nrf/include -IC:/ncs/v2.1.2/modules/hal/cmsis/CMSIS/Core/Include -IC:/ncs/v2.1.2/modules/hal/nordic/nrfx -IC:/ncs/v2.1.2/modules/hal/nordic/nrfx/drivers/include -IC:/ncs/v2.1.2/modules/hal/nordic/nrfx/mdk -IC:/ncs/v2.1.2/zephyr/modules/hal_nordic/nrfx/. -IC:/ncs/v2.1.2/modules/debug/segger/SEGGER -IC:/ncs/v2.1.2/modules/debug/segger/Config -IC:/ncs/v2.1.2/zephyr/modules/segger/. -isystem C:/ncs/v2.1.2/zephyr/lib/libc/minimal/include -isystem c:/ncs/toolchains/v2.1.2/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/include -isystem c:/ncs/toolchains/v2.1.2/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/include-fixed -isystem C:/ncs/v2.1.2/nrfxlib/crypto/nrf_cc310_platform/include -Og -imacros C:/ncs/myapps/fat_fs_devzone/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee --sysroot=C:/ncs/toolchains/v2.1.2/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi -imacros C:/ncs/v2.1.2/zephyr/include/zephyr/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=C:/ncs/myapps/fat_fs_devzone=CMAKE_SOURCE_DIR -fmacro-prefix-map=C:/ncs/v2.1.2/zephyr=ZEPHYR_BASE -fmacro-prefix-map=C:/ncs/v2.1.2=WEST_TOPDIR -ffunction-sections -fdata-sections -std=c99 -nostdinc -MD -MT zephyr/drivers/spi/CMakeFiles/drivers__spi.dir/spi_nrfx_spim.c.obj -MF zephyr\drivers\spi\CMakeFiles\drivers__spi.dir\spi_nrfx_spim.c.obj.d -o zephyr/drivers/spi/CMakeFiles/drivers__spi.dir/spi_nrfx_spim.c.obj -c C:/ncs/v2.1.2/zephyr/drivers/spi/spi_nrfx_spim.c
In file included from C:\ncs\v2.1.2\zephyr\include\zephyr\toolchain.h:50,
                 from C:\ncs\v2.1.2\zephyr\include\zephyr\init.h:10,
                 from C:\ncs\v2.1.2\zephyr\include\zephyr\device.h:29,
                 from C:\ncs\v2.1.2\zephyr\include\zephyr\drivers\spi.h:24,
                 from C:\ncs\v2.1.2\zephyr\drivers\spi\spi_nrfx_spim.c:7:
C:\ncs\v2.1.2\zephyr\include\zephyr\toolchain\gcc.h:77:36: error: static assertion failed: "/soc/spi@40023000 has legacy *-pin properties defined although PINCTRL is enabled"
   77 | #define BUILD_ASSERT(EXPR, MSG...) _Static_assert(EXPR, "" MSG)
      |                                    ^~~~~~~~~~~~~~
c:\ncs\v2.1.2\zephyr\soc\arm\nordic_nrf\common\soc_nrf_common.h:229:2: note: in expansion of macro 'BUILD_ASSERT'
  229 |  BUILD_ASSERT(!IS_ENABLED(CONFIG_PINCTRL) ||   \
      |  ^~~~~~~~~~~~
C:\ncs\v2.1.2\zephyr\drivers\spi\spi_nrfx_spim.c:554:2: note: in expansion of macro 'NRF_DT_CHECK_PIN_ASSIGNMENTS'
  554 |  NRF_DT_CHECK_PIN_ASSIGNMENTS(SPIM(idx), 1,          \
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\ncs\v2.1.2\zephyr\drivers\spi\spi_nrfx_spim.c:624:1: note: in expansion of macro 'SPI_NRFX_SPIM_DEFINE'
  624 | SPI_NRFX_SPIM_DEFINE(2);
      | ^~~~~~~~~~~~~~~~~~~~
[133/194] Linking C static library zephyr\drivers\gpio\libdrivers__gpio.a
[134/194] Linking C static library modules\nrf\drivers\hw_cc310\lib..__nrf__drivers__hw_cc310.a
[135/194] Linking C static library modules\nrf\lib\fatal_error\lib..__nrf__lib__fatal_error.a
[136/194] Linking C static library zephyr\drivers\serial\libdrivers__serial.a
[137/194] Linking C static library zephyr\drivers\console\libdrivers__console.a
[138/194] Linking C static library zephyr\drivers\pinctrl\libdrivers__pinctrl.a
[139/194] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/helpers/nrfx_flag32_allocator.c.obj
[140/194] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/nrfx_glue.c.obj
[141/194] Linking C static library zephyr\drivers\timer\libdrivers__timer.a
[142/194] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/drivers/src/nrfx_clock.c.obj
[143/194] Building C object modules/fatfs/CMakeFiles/..__modules__fs__fatfs.dir/ff.c.obj
[144/194] Building C object zephyr/drivers/spi/CMakeFiles/drivers__spi.dir/spi_nrfx_spi.c.obj
[145/194] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/drivers/src/nrfx_ppi.c.obj
[146/194] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/drivers/src/nrfx_spi.c.obj
[147/194] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/drivers/src/nrfx_spim.c.obj
[148/194] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/drivers/src/nrfx_gpiote.c.obj
[149/194] Building C object zephyr/subsys/fs/CMakeFiles/subsys__fs.dir/fs.c.obj
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: 'c:\ncs\toolchains\v2.1.2\opt\bin\cmake.EXE' --build 'c:\ncs\myapps\fat_fs_devzone\build'

With the overlay as above the build completes and I am able to flash to the DK. The "No SOURCES given to Zephyr library: drivers__disk" warning does however persist, full build log below

Executing task: nRF Connect: Build: fat_fs_devzone/build (active) 

Building fat_fs_devzone
west build --build-dir c:\ncs\myapps\fat_fs_devzone\build c:\ncs\myapps\fat_fs_devzone --pristine --board nrf52840dk_nrf52840 -- -DNCS_TOOLCHAIN_VERSION:STRING="NONE" -DBOARD_ROOT:STRING="c:/ncs/myapps/fat_fs;c:/ncs/myapps/fat_fs_devzone" -DCONFIG_DEBUG_OPTIMIZATIONS:STRING="y" -DCONFIG_DEBUG_THREAD_INFO:STRING="y" -DDTC_OVERLAY_FILE:STRING="c:/ncs/myapps/fat_fs_devzone/nrf52840dk_nrf52840.overlay" -DCONF_FILE:STRING="c:/ncs/myapps/fat_fs_devzone/prj.conf"

-- west build: generating a build system
Loading Zephyr default modules (Zephyr base).
-- Application: C:/ncs/myapps/fat_fs_devzone
-- Found Python3: C:/ncs/toolchains/v2.1.2/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter 
-- Cache files will be written to: C:/ncs/v2.1.2/zephyr/.cache
-- Zephyr version: 3.1.99 (C:/ncs/v2.1.2/zephyr)
-- Found west (found suitable version "0.14.0", minimum required is "0.7.1")
-- Board: nrf52840dk_nrf52840
-- Found host-tools: zephyr 0.14.1 (C:/ncs/toolchains/v2.1.2/opt/zephyr-sdk)
-- Found dtc: C:/ncs/toolchains/v2.1.2/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
-- Found toolchain: zephyr 0.14.1 (C:/ncs/toolchains/v2.1.2/opt/zephyr-sdk)
-- Found BOARD.dts: C:/ncs/v2.1.2/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840.dts
-- Found devicetree overlay: c:/ncs/myapps/fat_fs_devzone/nrf52840dk_nrf52840.overlay
-- Generated zephyr.dts: C:/ncs/myapps/fat_fs_devzone/build/zephyr/zephyr.dts
-- Generated devicetree_unfixed.h: C:/ncs/myapps/fat_fs_devzone/build/zephyr/include/generated/devicetree_unfixed.h
-- Generated device_extern.h: C:/ncs/myapps/fat_fs_devzone/build/zephyr/include/generated/device_extern.h
-- Including generated dts.cmake file: C:/ncs/myapps/fat_fs_devzone/build/zephyr/dts.cmake
Parsing C:/ncs/v2.1.2/zephyr/Kconfig
Loaded configuration 'C:/ncs/v2.1.2/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840_defconfig'
Merged configuration 'c:/ncs/myapps/fat_fs_devzone/prj.conf'
Merged configuration 'C:/ncs/myapps/fat_fs_devzone/build/zephyr/misc/generated/extra_kconfig_options.conf'
Configuration saved to 'C:/ncs/myapps/fat_fs_devzone/build/zephyr/.config'
Kconfig header saved to 'C:/ncs/myapps/fat_fs_devzone/build/zephyr/include/generated/autoconf.h'
-- The C compiler identification is GNU 10.3.0
-- The CXX compiler identification is GNU 10.3.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/ncs/toolchains/v2.1.2/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
CMake Warning at C:/ncs/v2.1.2/zephyr/CMakeLists.txt:831 (message):
  No SOURCES given to Zephyr library: drivers__disk

  Excluding target from build.


-- Configuring done
-- Generating done
-- Build files have been written to: C:/ncs/myapps/fat_fs_devzone/build
-- west build: building application
[1/194] Generating include/generated/version.h
-- Zephyr version: 3.1.99 (C:/ncs/v2.1.2/zephyr), build: v3.1.99-ncs1-1
[2/194] Generating misc/generated/syscalls.json, misc/generated/struct_tags.json
[3/194] Generating include/generated/kobj-types-enum.h, include/generated/otype-to-str.h, include/generated/otype-to-size.h
[4/194] Generating include/generated/driver-validation.h
[5/194] Generating include/generated/syscall_dispatch.c, include/generated/syscall_list.h
[6/194] Building C object zephyr/CMakeFiles/offsets.dir/arch/arm/core/offsets/offsets.c.obj
[7/194] Generating include/generated/offsets.h
[8/194] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/cpu_idle.S.obj
[9/194] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/nmi_on_reset.S.obj
[10/194] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/swap_helper.S.obj
[11/194] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/isr_wrapper.S.obj
[12/194] Building C object zephyr/arch/common/CMakeFiles/isr_tables.dir/isr_tables.c.obj
[13/194] Building C object zephyr/arch/common/CMakeFiles/arch__common.dir/sw_isr_common.c.obj
[14/194] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/exc_exit.S.obj
[15/194] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/nmi.c.obj
[16/194] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/prep_c.c.obj
[17/194] Building C object zephyr/CMakeFiles/zephyr.dir/C_/ncs/v2.1.2/nrfxlib/crypto/nrf_cc310_platform/src/nrf_cc3xx_platform_mutex_zephyr.c.obj
[18/194] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fault_s.S.obj
[19/194] Generating linker_zephyr_pre1.cmd
[20/194] Generating linker_zephyr_pre0.cmd
[21/194] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/irq_manage.c.obj
[22/194] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/swap.c.obj
[23/194] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/reset.S.obj
[24/194] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/thread.c.obj
[25/194] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/vector_table.S.obj
[26/194] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/fatal.c.obj
[27/194] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/irq_init.c.obj
[28/194] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fpu.c.obj
[29/194] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/thread_abort.c.obj
[30/194] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/perror.c.obj
[31/194] Linking C static library zephyr\arch\common\libisr_tables.a
[32/194] Generating ../../../include/generated/libc/minimal/strerror_table.h
[33/194] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/scb.c.obj
[34/194] Building C object zephyr/arch/arch/arm/core/aarch32/mpu/CMakeFiles/arch__arm__core__aarch32__mpu.dir/arm_core_mpu.c.obj
[35/194] Building C object zephyr/soc/arm/common/cortex_m/CMakeFiles/soc__arm__common__cortex_m.dir/arm_mpu_regions.c.obj
[36/194] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/pthread_common.c.obj
[37/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc16_sw.c.obj
[38/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc7_sw.c.obj
[39/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc32c_sw.c.obj
[40/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc32_sw.c.obj
[41/194] Building C object zephyr/CMakeFiles/zephyr_pre0.dir/misc/empty_file.c.obj
[42/194] Building C object zephyr/soc/arm/nordic_nrf/nrf52/CMakeFiles/soc__arm__nordic_nrf__nrf52.dir/soc.c.obj
[43/194] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/nanosleep.c.obj
[44/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/cbprintf_packaged.c.obj
[45/194] Linking C static library zephyr\arch\arch\arm\core\aarch32\libarch__arm__core__aarch32.a
[46/194] Linking C static library zephyr\arch\common\libarch__common.a
[47/194] Building C object zephyr/arch/arch/arm/core/aarch32/mpu/CMakeFiles/arch__arm__core__aarch32__mpu.dir/arm_mpu.c.obj
[48/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtol.c.obj
[49/194] Building C object zephyr/soc/arm/nordic_nrf/nrf52/CMakeFiles/soc__arm__nordic_nrf__nrf52.dir/power.c.obj
[50/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtoll.c.obj
[51/194] Building C object CMakeFiles/app.dir/src/main.c.obj
[52/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/bsearch.c.obj
[53/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/atoi.c.obj
[54/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtoul.c.obj
[55/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtoull.c.obj
[56/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strstr.c.obj
[57/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/qsort.c.obj
[58/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strerror.c.obj
[59/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strncasecmp.c.obj
[60/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/sprintf.c.obj
[61/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/math/sqrtf.c.obj
[62/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/exit.c.obj
[63/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/math/sqrt.c.obj
[64/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/string.c.obj
[65/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/malloc.c.obj
[66/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/fprintf.c.obj
[67/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strspn.c.obj
[68/194] Linking C static library zephyr\arch\arch\arm\core\aarch32\mpu\libarch__arm__core__aarch32__mpu.a
[69/194] Linking C static library zephyr\soc\arm\common\cortex_m\libsoc__arm__common__cortex_m.a
[70/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/abort.c.obj
[71/194] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fault.c.obj
[72/194] Linking C static library zephyr\soc\arm\nordic_nrf\nrf52\libsoc__arm__nordic_nrf__nrf52.a
[73/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/dec.c.obj
[74/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc8_sw.c.obj
[75/194] Linking C static library zephyr\lib\posix\liblib__posix.a
[76/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/stdout_console.c.obj
[77/194] Linking C static library app\libapp.a
[78/194] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/time/gmtime.c.obj
[79/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/hex.c.obj
[80/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/timeutil.c.obj
[81/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/notify.c.obj
[82/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/printk.c.obj
[83/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/cbprintf.c.obj
[84/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/fdtable.c.obj
[85/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/thread_entry.c.obj
[86/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/rb.c.obj
[87/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/sem.c.obj
[88/194] Linking C static library zephyr\arch\arch\arm\core\aarch32\cortex_m\libarch__arm__core__aarch32__cortex_m.a
[89/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/multi_heap.c.obj
[90/194] Linking C static library zephyr\lib\libc\minimal\liblib__libc__minimal.a
[91/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/cbprintf_complete.c.obj
[92/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/assert.c.obj
[93/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/bitarray.c.obj
[94/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/onoff.c.obj
[95/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/heap-validate.c.obj
[96/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/heap.c.obj
[97/194] Building ASM object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/common/soc_nrf_common.S.obj
[98/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/reboot.c.obj
[99/194] Building C object zephyr/CMakeFiles/zephyr.dir/misc/generated/configs.c.obj
[100/194] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/mpsc_pbuf.c.obj
[101/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/debug/thread_info.c.obj
[102/194] Building C object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/validate_base_addresses.c.obj
[103/194] Building C object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/validate_enabled_instances.c.obj
[104/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/pm/state.c.obj
[105/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/tracing/tracing_none.c.obj
[106/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_msg.c.obj
[107/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_backend_rtt.c.obj
[108/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_core.c.obj
[109/194] Building C object zephyr/CMakeFiles/zephyr.dir/C_/ncs/v2.1.2/nrfxlib/crypto/nrf_cc310_platform/src/nrf_cc3xx_platform_abort_zephyr.c.obj
[110/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/pm/policy.c.obj
[111/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_mgmt.c.obj
[112/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_output.c.obj
[113/194] Building C object zephyr/subsys/fs/CMakeFiles/subsys__fs.dir/fs_impl.c.obj
[114/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_backend_uart.c.obj
[115/194] Building C object zephyr/subsys/fs/CMakeFiles/subsys__fs.dir/fat_fs.c.obj
[116/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/disk/disk_access.c.obj
[117/194] Building C object zephyr/drivers/console/CMakeFiles/drivers__console.dir/uart_console.c.obj
[118/194] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/pm/pm.c.obj
[119/194] Building C object zephyr/drivers/clock_control/CMakeFiles/drivers__clock_control.dir/clock_control_nrf.c.obj
[120/194] Building C object zephyr/drivers/gpio/CMakeFiles/drivers__gpio.dir/gpio_nrfx.c.obj
[121/194] Building C object zephyr/drivers/pinctrl/CMakeFiles/drivers__pinctrl.dir/common.c.obj
[122/194] Building C object zephyr/drivers/timer/CMakeFiles/drivers__timer.dir/sys_clock_init.c.obj
[123/194] Building C object zephyr/drivers/serial/CMakeFiles/drivers__serial.dir/uart_nrfx_uarte.c.obj
[124/194] Building C object modules/nrf/lib/fatal_error/CMakeFiles/..__nrf__lib__fatal_error.dir/fatal_error.c.obj
[125/194] Building C object modules/nrf/drivers/hw_cc310/CMakeFiles/..__nrf__drivers__hw_cc310.dir/hw_cc310.c.obj
[126/194] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/mdk/system_nrf52840.c.obj
[127/194] Linking C static library zephyr\drivers\console\libdrivers__console.a
[128/194] Building C object zephyr/drivers/timer/CMakeFiles/drivers__timer.dir/nrf_rtc_timer.c.obj
[129/194] Building C object zephyr/drivers/pinctrl/CMakeFiles/drivers__pinctrl.dir/pinctrl_nrf.c.obj
[130/194] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/nrfx_glue.c.obj
[131/194] Linking C static library zephyr\drivers\clock_control\libdrivers__clock_control.a
[132/194] Linking C static library zephyr\libzephyr.a
[133/194] Building C object modules/fatfs/CMakeFiles/..__modules__fs__fatfs.dir/zfs_diskio.c.obj
[134/194] Linking C static library zephyr\drivers\gpio\libdrivers__gpio.a
[135/194] Linking C static library modules\nrf\drivers\hw_cc310\lib..__nrf__drivers__hw_cc310.a
[136/194] Linking C static library modules\nrf\lib\fatal_error\lib..__nrf__lib__fatal_error.a
[137/194] Linking C static library zephyr\drivers\timer\libdrivers__timer.a
[138/194] Linking C static library zephyr\drivers\serial\libdrivers__serial.a
[139/194] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/helpers/nrfx_flag32_allocator.c.obj
[140/194] Building C object zephyr/drivers/spi/CMakeFiles/drivers__spi.dir/spi_nrfx_spi.c.obj
[141/194] Building C object modules/fatfs/CMakeFiles/..__modules__fs__fatfs.dir/ff.c.obj
[142/194] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/drivers/src/nrfx_clock.c.obj
[143/194] Linking C static library zephyr\drivers\pinctrl\libdrivers__pinctrl.a
[144/194] Building C object zephyr/drivers/spi/CMakeFiles/drivers__spi.dir/spi_nrfx_spim.c.obj
[145/194] Building C object modules/segger/CMakeFiles/modules__segger.dir/SEGGER_RTT_zephyr.c.obj
[146/194] Building C object modules/segger/CMakeFiles/modules__segger.dir/C_/ncs/v2.1.2/modules/debug/segger/SEGGER/SEGGER_RTT.c.obj
[147/194] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/drivers/src/nrfx_spi.c.obj
[148/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/main_weak.c.obj
[149/194] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/drivers/src/nrfx_spim.c.obj
[150/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/banner.c.obj
[151/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/device.c.obj
[152/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/kheap.c.obj
[153/194] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/drivers/src/nrfx_ppi.c.obj
[154/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/errno.c.obj
[155/194] Linking C static library modules\fatfs\lib..__modules__fs__fatfs.a
[156/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/mem_slab.c.obj
[157/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/version.c.obj
[158/194] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/drivers/src/nrfx_gpiote.c.obj
[159/194] Linking C static library zephyr\drivers\spi\libdrivers__spi.a
[160/194] Linking C static library modules\segger\libmodules__segger.a
[161/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/fatal.c.obj
[162/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/init.c.obj
[163/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/msg_q.c.obj
[164/194] Building C object zephyr/subsys/fs/CMakeFiles/subsys__fs.dir/fs.c.obj
[165/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/idle.c.obj
[166/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/system_work_q.c.obj
[167/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/sem.c.obj
[168/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/mailbox.c.obj
[169/194] Linking C static library modules\hal_nordic\nrfx\libmodules__hal_nordic__nrfx.a
[170/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/stack.c.obj
[171/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/condvar.c.obj
[172/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/thread.c.obj
[173/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/mutex.c.obj
[174/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/pipes.c.obj
[175/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/xip.c.obj
[176/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/queue.c.obj
[177/194] Linking C static library zephyr\subsys\fs\libsubsys__fs.a
[178/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/timeout.c.obj
[179/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/timer.c.obj
[180/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/work.c.obj
[181/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/mempool.c.obj
[182/194] Building C object zephyr/kernel/CMakeFiles/kernel.dir/sched.c.obj
[183/194] Linking C static library zephyr\kernel\libkernel.a
[184/194] Linking C executable zephyr\zephyr_pre0.elf

[185/194] Generating dev_handles.c
[186/194] Building C object zephyr/CMakeFiles/zephyr_pre1.dir/misc/empty_file.c.obj
[187/194] Building C object zephyr/CMakeFiles/zephyr_pre1.dir/dev_handles.c.obj
[188/194] Linking C executable zephyr\zephyr_pre1.elf

[189/194] Generating linker.cmd
[190/194] Generating isr_tables.c, isrList.bin
[191/194] Building C object zephyr/CMakeFiles/zephyr_final.dir/misc/empty_file.c.obj
[192/194] Building C object zephyr/CMakeFiles/zephyr_final.dir/isr_tables.c.obj
[193/194] Building C object zephyr/CMakeFiles/zephyr_final.dir/dev_handles.c.obj
[194/194] Linking C executable zephyr\zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:       65908 B         1 MB      6.29%
            SRAM:       12560 B       256 KB      4.79%
        IDT_LIST:          0 GB         2 KB      0.00%

Flashing this code to the DK and resetting it gives me these error messages in the nRF Terminal:

*** Booting Zephyr OS build v3.1.99-ncs1-1  ***
Error mounting disk.
[00:00:00.255,065] <err> main: Storage init ERROR!
[00:00:00.255,096] <err> fs: fs mount error (-5)

My prj.conf currently looks as follows, which is copied from fat_fs_modified.zip from the thread mentioned above:

CONFIG_DISK_ACCESS=y
CONFIG_LOG=y
CONFIG_FILE_SYSTEM=y
CONFIG_FAT_FILESYSTEM_ELM=y
CONFIG_PRINTK=y
CONFIG_MAIN_STACK_SIZE=2048

CONFIG_DISK_DRIVER_SDMMC=y
CONFIG_SPI=y


Hardware wise, I have the SD card hooked up to the DK using a module visually identical to this one:

With these connections, based on what I found in the compiled device tree for the spi2_default pin controller:

P0.17 - CS

P0.19 - CLK

P0.20 - MOSI

P0.21 - MISO

As some threads, such as this one, mention some SD cards being unable to operate at the DK VDD voltage, I measured this to be 2.98 V (measured between the 3V3 and GND pins on the SD card module). Changing to an external supply, where I measured the voltage to 3.28 V, did not have any impact on the issue from what I could see. The person starting this thread mentions connecting the module to the 5V pin of the DK, but I have been weary of this due a concern that this would damage the SD card. I should note that these measurements were made with a rather cheap multimeter.

The SD cards I have been testing with are a 32 GB card from hama and a 32 GB card from SanDisk . The latter is missing the Class 10 A1 marking in my case and likely not the same product, as mine is roughly 10 years old. Both are formatted to FAT32 and labeled "SD" using the Windows format tool, with no contents on the SD cards.

Additinally, I am working in VSCode using the v2.1.2 nRF Connect SDK.

Any advice on next steps to resolving this problem would be immensely appreciated.

Many thanks,

Bo

Parents
  • Hi, sorry for the late response

    Are you still having issues with this?

  • Hi Øivind, thanks for getting back on this.

    I have not been able to resolve the issue on my own yet, so any advice would be greatly appreciated.

  • Thank you, I attemted the changes to the overlay and config you mention.

    While I seem to get some sort of response from the cards I have tested with, the sample now says that the card is unusable. This is the console output I am left with:

    *** Booting Zephyr OS build v3.1.99-ncs1-1  ***
    [00:00:02.258,239] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:02.259,033] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:02.259,796] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:02.260,559] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:02.261,291] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:02.262,054] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:02.262,817] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:02.263,580] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:02.264,343] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:02.265,106] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:02.265,869] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:02.265,869] <inf> sd: Card does not support CMD8, assuming legacy card
    [00:00:02.267,364] <err> sd: No usable card type was found
    [00:00:02.267,364] <err> sd: Unusable card
    [00:00:02.267,395] <err> main: Storage init ERROR!
    [00:00:04.270,5Error mounting disk.
    68] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:04.271,362] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:04.272,125] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:04.272,857] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:04.273,620] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:04.274,383] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:04.275,146] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:04.275,909] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:04.276,672] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:04.277,404] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:04.278,167] <inf> sd: Legacy card detected, no CMD8 support
    [00:00:04.278,198] <inf> sd: Card does not support CMD8, assuming legacy card
    [00:00:04.279,663] <err> sd: No usable card type was found
    [00:00:04.279,693] <err> sd: Unusable card
    [00:00:04.279,693] <err> fs: fs mount error (-5)

    The same happens for both of the cards mentioned in my post.

    My overlay now looks as follows:

    &spi2 {
        status = "okay";
        cs-gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
    
        sdhc0: sdhc@0 {
                compatible = "zephyr,sdhc-spi-slot";
                reg = <0>;
                status = "okay";
                mmc {
                    compatible = "zephyr,sdmmc-disk";
                    status = "okay";
                };
                spi-max-frequency = <24000000>;
        };
    };

    Pristine build + flash log:

     *  Executing task: nRF Connect: Build [pristine]: fat_fs/build (active) 
    
    Building fat_fs
    west build --build-dir c:\ncs\myapps\fat_fs\build c:\ncs\myapps\fat_fs --pristine --board nrf52840dk_nrf52840 -- -DNCS_TOOLCHAIN_VERSION:STRING="NONE" -DBOARD_ROOT:STRING="c:/ncs/myapps/fat_fs" -DCONFIG_DEBUG_OPTIMIZATIONS:STRING="y" -DCONFIG_DEBUG_THREAD_INFO:STRING="y" -DCONF_FILE:STRING="c:/ncs/myapps/fat_fs/prj.conf" -DDTC_OVERLAY_FILE:STRING="c:/ncs/myapps/fat_fs/nrf52840dk_nrf52840.overlay"
    
    -- west build: generating a build system
    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/ncs/myapps/fat_fs
    -- Found Python3: C:/ncs/toolchains/v2.1.2/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter 
    -- Cache files will be written to: C:/ncs/v2.1.2/zephyr/.cache
    -- Zephyr version: 3.1.99 (C:/ncs/v2.1.2/zephyr)
    -- Found west (found suitable version "0.14.0", minimum required is "0.7.1")
    -- Board: nrf52840dk_nrf52840
    -- Found host-tools: zephyr 0.14.1 (C:/ncs/toolchains/v2.1.2/opt/zephyr-sdk)
    -- Found dtc: C:/ncs/toolchains/v2.1.2/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found toolchain: zephyr 0.14.1 (C:/ncs/toolchains/v2.1.2/opt/zephyr-sdk)
    -- Found BOARD.dts: C:/ncs/v2.1.2/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840.dts
    -- Found devicetree overlay: c:/ncs/myapps/fat_fs/nrf52840dk_nrf52840.overlay
    -- Generated zephyr.dts: C:/ncs/myapps/fat_fs/build/zephyr/zephyr.dts
    -- Generated devicetree_unfixed.h: C:/ncs/myapps/fat_fs/build/zephyr/include/generated/devicetree_unfixed.h
    -- Generated device_extern.h: C:/ncs/myapps/fat_fs/build/zephyr/include/generated/device_extern.h
    -- Including generated dts.cmake file: C:/ncs/myapps/fat_fs/build/zephyr/dts.cmake
    Parsing C:/ncs/v2.1.2/zephyr/Kconfig
    Loaded configuration 'C:/ncs/v2.1.2/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840_defconfig'
    Merged configuration 'c:/ncs/myapps/fat_fs/prj.conf'
    Merged configuration 'C:/ncs/myapps/fat_fs/build/zephyr/misc/generated/extra_kconfig_options.conf'
    Configuration saved to 'C:/ncs/myapps/fat_fs/build/zephyr/.config'
    Kconfig header saved to 'C:/ncs/myapps/fat_fs/build/zephyr/include/generated/autoconf.h'
    -- The C compiler identification is GNU 10.3.0
    -- The CXX compiler identification is GNU 10.3.0
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/ncs/toolchains/v2.1.2/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/ncs/myapps/fat_fs/build
    -- west build: building application
    [1/201] Generating include/generated/version.h
    -- Zephyr version: 3.1.99 (C:/ncs/v2.1.2/zephyr), build: v3.1.99-ncs1-1
    [2/201] Generating misc/generated/syscalls.json, misc/generated/struct_tags.json
    [3/201] Generating include/generated/driver-validation.h
    [4/201] Generating include/generated/kobj-types-enum.h, include/generated/otype-to-str.h, include/generated/otype-to-size.h
    [5/201] Generating include/generated/syscall_dispatch.c, include/generated/syscall_list.h
    [6/201] Building C object zephyr/CMakeFiles/offsets.dir/arch/arm/core/offsets/offsets.c.obj
    [7/201] Generating include/generated/offsets.h
    [8/201] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/cpu_idle.S.obj
    [9/201] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/nmi_on_reset.S.obj
    [10/201] Building C object zephyr/arch/common/CMakeFiles/isr_tables.dir/isr_tables.c.obj
    [11/201] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fault_s.S.obj
    [12/201] Building C object zephyr/arch/common/CMakeFiles/arch__common.dir/sw_isr_common.c.obj
    [13/201] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/isr_wrapper.S.obj
    [14/201] Building C object zephyr/CMakeFiles/zephyr.dir/C_/ncs/v2.1.2/nrfxlib/crypto/nrf_cc310_platform/src/nrf_cc3xx_platform_mutex_zephyr.c.obj
    [15/201] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/exc_exit.S.obj
    [16/201] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/swap_helper.S.obj
    [17/201] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/reset.S.obj
    [18/201] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/swap.c.obj
    [19/201] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/prep_c.c.obj
    [20/201] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/nmi.c.obj
    [21/201] Generating linker_zephyr_pre0.cmd
    [22/201] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/irq_manage.c.obj
    [23/201] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/thread.c.obj
    [24/201] Generating linker_zephyr_pre1.cmd
    [25/201] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/irq_init.c.obj
    [26/201] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/vector_table.S.obj
    [27/201] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/fatal.c.obj
    [28/201] Linking C static library zephyr\arch\common\libisr_tables.a
    [29/201] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/perror.c.obj
    [30/201] Generating ../../../include/generated/libc/minimal/strerror_table.h
    [31/201] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/scb.c.obj
    [32/201] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/thread_abort.c.obj
    [33/201] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fpu.c.obj
    [34/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc32c_sw.c.obj
    [35/201] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/nanosleep.c.obj
    [36/201] Building C object zephyr/soc/arm/common/cortex_m/CMakeFiles/soc__arm__common__cortex_m.dir/arm_mpu_regions.c.obj
    [37/201] Building C object zephyr/arch/arch/arm/core/aarch32/mpu/CMakeFiles/arch__arm__core__aarch32__mpu.dir/arm_core_mpu.c.obj
    [38/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/cbprintf_packaged.c.obj
    [39/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc32_sw.c.obj
    [40/201] Building C object zephyr/CMakeFiles/zephyr_pre0.dir/misc/empty_file.c.obj
    [41/201] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/pthread_common.c.obj
    [42/201] Linking C static library zephyr\arch\arch\arm\core\aarch32\libarch__arm__core__aarch32.a
    [43/201] Linking C static library zephyr\arch\common\libarch__common.a
    [44/201] Building C object zephyr/soc/arm/nordic_nrf/nrf52/CMakeFiles/soc__arm__nordic_nrf__nrf52.dir/soc.c.obj
    [45/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtol.c.obj
    [46/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtoul.c.obj
    [47/201] Building C object zephyr/soc/arm/nordic_nrf/nrf52/CMakeFiles/soc__arm__nordic_nrf__nrf52.dir/power.c.obj
    [48/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/atoi.c.obj
    [49/201] Building C object CMakeFiles/app.dir/src/main.c.obj
    [50/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strncasecmp.c.obj
    [51/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtoull.c.obj
    [52/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/bsearch.c.obj
    [53/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtoll.c.obj
    [54/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/abort.c.obj
    [55/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/qsort.c.obj
    [56/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strstr.c.obj
    [57/201] Building C object zephyr/arch/arch/arm/core/aarch32/mpu/CMakeFiles/arch__arm__core__aarch32__mpu.dir/arm_mpu.c.obj
    [58/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strerror.c.obj
    [59/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strspn.c.obj
    [60/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/string.c.obj
    [61/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/math/sqrtf.c.obj
    [62/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/malloc.c.obj
    [63/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/math/sqrt.c.obj
    [64/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/sprintf.c.obj
    [65/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/exit.c.obj
    [66/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/fprintf.c.obj
    [67/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/stdout_console.c.obj
    [68/201] Linking C static library zephyr\soc\arm\common\cortex_m\libsoc__arm__common__cortex_m.a
    [69/201] Linking C static library zephyr\arch\arch\arm\core\aarch32\mpu\libarch__arm__core__aarch32__mpu.a
    [70/201] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fault.c.obj
    [71/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc8_sw.c.obj
    [72/201] Linking C static library zephyr\lib\posix\liblib__posix.a
    [73/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc7_sw.c.obj
    [74/201] Linking C static library zephyr\soc\arm\nordic_nrf\nrf52\libsoc__arm__nordic_nrf__nrf52.a
    [75/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/hex.c.obj
    [76/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc16_sw.c.obj
    [77/201] Linking C static library app\libapp.a
    [78/201] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/time/gmtime.c.obj
    [79/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/dec.c.obj
    [80/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/timeutil.c.obj
    [81/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/notify.c.obj
    [82/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/printk.c.obj
    [83/201] Linking C static library zephyr\arch\arch\arm\core\aarch32\cortex_m\libarch__arm__core__aarch32__cortex_m.a
    [84/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/fdtable.c.obj
    [85/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/multi_heap.c.obj
    [86/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/sem.c.obj
    [87/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/thread_entry.c.obj
    [88/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/cbprintf.c.obj
    [89/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/heap-validate.c.obj
    [90/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/rb.c.obj
    [91/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/cbprintf_complete.c.obj
    [92/201] Building C object zephyr/CMakeFiles/zephyr.dir/misc/generated/configs.c.obj
    [93/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/assert.c.obj
    [94/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/heap.c.obj
    [95/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/onoff.c.obj
    [96/201] Building ASM object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/common/soc_nrf_common.S.obj
    [97/201] Linking C static library zephyr\lib\libc\minimal\liblib__libc__minimal.a
    [98/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/bitarray.c.obj
    [99/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/mpsc_pbuf.c.obj
    [100/201] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/debug/thread_info.c.obj
    [101/201] Building C object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/validate_enabled_instances.c.obj
    [102/201] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/pm/state.c.obj
    [103/201] Building C object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/validate_base_addresses.c.obj
    [104/201] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/reboot.c.obj
    [105/201] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/tracing/tracing_none.c.obj
    [106/201] Building C object zephyr/CMakeFiles/zephyr.dir/C_/ncs/v2.1.2/nrfxlib/crypto/nrf_cc310_platform/src/nrf_cc3xx_platform_abort_zephyr.c.obj
    [107/201] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_mgmt.c.obj
    [108/201] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/pm/pm.c.obj
    [109/201] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_backend_uart.c.obj
    [110/201] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_output.c.obj
    [111/201] Building C object zephyr/subsys/fs/CMakeFiles/subsys__fs.dir/fs_impl.c.obj
    [112/201] Building C object zephyr/drivers/disk/CMakeFiles/drivers__disk.dir/sdmmc_subsys.c.obj
    [113/201] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_backend_rtt.c.obj
    [114/201] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/pm/policy.c.obj
    [115/201] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_core.c.obj
    [116/201] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_msg.c.obj
    [117/201] Building C object zephyr/subsys/fs/CMakeFiles/subsys__fs.dir/fat_fs.c.obj
    [118/201] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/disk/disk_access.c.obj
    [119/201] Building C object zephyr/drivers/gpio/CMakeFiles/drivers__gpio.dir/gpio_nrfx.c.obj
    [120/201] Building C object zephyr/drivers/console/CMakeFiles/drivers__console.dir/uart_console.c.obj
    [121/201] Building C object zephyr/drivers/clock_control/CMakeFiles/drivers__clock_control.dir/clock_control_nrf.c.obj
    [122/201] Building C object zephyr/drivers/timer/CMakeFiles/drivers__timer.dir/sys_clock_init.c.obj
    [123/201] Linking C static library zephyr\drivers\disk\libdrivers__disk.a
    [124/201] Building C object zephyr/drivers/pinctrl/CMakeFiles/drivers__pinctrl.dir/common.c.obj
    [125/201] Building C object zephyr/drivers/pinctrl/CMakeFiles/drivers__pinctrl.dir/pinctrl_nrf.c.obj
    [126/201] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/mdk/system_nrf52840.c.obj
    [127/201] Building C object modules/nrf/lib/fatal_error/CMakeFiles/..__nrf__lib__fatal_error.dir/fatal_error.c.obj
    [128/201] Building C object zephyr/drivers/serial/CMakeFiles/drivers__serial.dir/uart_nrfx_uarte.c.obj
    [129/201] Linking C static library zephyr\drivers\gpio\libdrivers__gpio.a
    [130/201] Linking C static library zephyr\libzephyr.a
    [131/201] Building C object zephyr/drivers/timer/CMakeFiles/drivers__timer.dir/nrf_rtc_timer.c.obj
    [132/201] Building C object zephyr/subsys/sd/CMakeFiles/subsys__sd.dir/sd.c.obj
    [133/201] Linking C static library zephyr\drivers\console\libdrivers__console.a
    [134/201] Linking C static library zephyr\drivers\clock_control\libdrivers__clock_control.a
    [135/201] Building C object modules/nrf/drivers/hw_cc310/CMakeFiles/..__nrf__drivers__hw_cc310.dir/hw_cc310.c.obj
    [136/201] Building C object zephyr/drivers/sdhc/CMakeFiles/drivers__sdhc.dir/sdhc_spi.c.obj
    [137/201] Linking C static library zephyr\drivers\pinctrl\libdrivers__pinctrl.a
    [138/201] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/nrfx_glue.c.obj
    [139/201] Linking C static library modules\nrf\lib\fatal_error\lib..__nrf__lib__fatal_error.a
    [140/201] Linking C static library zephyr\drivers\serial\libdrivers__serial.a
    [141/201] Linking C static library zephyr\drivers\timer\libdrivers__timer.a
    [142/201] Building C object modules/fatfs/CMakeFiles/..__modules__fs__fatfs.dir/zfs_diskio.c.obj
    [143/201] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/helpers/nrfx_flag32_allocator.c.obj
    [144/201] Linking C static library modules\nrf\drivers\hw_cc310\lib..__nrf__drivers__hw_cc310.a
    [145/201] Building C object zephyr/drivers/spi/CMakeFiles/drivers__spi.dir/spi_nrfx_spim.c.obj
    [146/201] Building C object zephyr/drivers/spi/CMakeFiles/drivers__spi.dir/spi_nrfx_spi.c.obj
    [147/201] Building C object modules/segger/CMakeFiles/modules__segger.dir/C_/ncs/v2.1.2/modules/debug/segger/SEGGER/SEGGER_RTT.c.obj
    [148/201] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/drivers/src/nrfx_spi.c.obj
    [149/201] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/drivers/src/nrfx_clock.c.obj
    [150/201] Linking C static library zephyr\drivers\sdhc\libdrivers__sdhc.a
    [151/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/main_weak.c.obj
    [152/201] Building C object modules/fatfs/CMakeFiles/..__modules__fs__fatfs.dir/ff.c.obj
    [153/201] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/drivers/src/nrfx_ppi.c.obj
    [154/201] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/drivers/src/nrfx_gpiote.c.obj
    [155/201] Building C object modules/segger/CMakeFiles/modules__segger.dir/SEGGER_RTT_zephyr.c.obj
    [156/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/kheap.c.obj
    [157/201] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/C_/ncs/v2.1.2/modules/hal/nordic/nrfx/drivers/src/nrfx_spim.c.obj
    [158/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/banner.c.obj
    [159/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/init.c.obj
    [160/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/version.c.obj
    [161/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/device.c.obj
    [162/201] Building C object zephyr/subsys/fs/CMakeFiles/subsys__fs.dir/fs.c.obj
    [163/201] Linking C static library zephyr\drivers\spi\libdrivers__spi.a
    [164/201] Linking C static library modules\fatfs\lib..__modules__fs__fatfs.a
    [165/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/mem_slab.c.obj
    [166/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/fatal.c.obj
    [167/201] Linking C static library modules\hal_nordic\nrfx\libmodules__hal_nordic__nrfx.a
    [168/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/idle.c.obj
    [169/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/errno.c.obj
    [170/201] Linking C static library modules\segger\libmodules__segger.a
    [171/201] Linking C static library zephyr\subsys\fs\libsubsys__fs.a
    [172/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/mailbox.c.obj
    [173/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/msg_q.c.obj
    [174/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/sem.c.obj
    [175/201] Building C object zephyr/subsys/sd/CMakeFiles/subsys__sd.dir/sdmmc.c.obj
    [176/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/thread.c.obj
    [177/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/condvar.c.obj
    [178/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/queue.c.obj
    [179/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/pipes.c.obj
    [180/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/xip.c.obj
    [181/201] Linking C static library zephyr\subsys\sd\libsubsys__sd.a
    [182/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/system_work_q.c.obj
    [183/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/stack.c.obj
    [184/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/mutex.c.obj
    [185/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/mempool.c.obj
    [186/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/timeout.c.obj
    [187/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/timer.c.obj
    [188/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/work.c.obj
    [189/201] Building C object zephyr/kernel/CMakeFiles/kernel.dir/sched.c.obj
    [190/201] Linking C static library zephyr\kernel\libkernel.a
    [191/201] Linking C executable zephyr\zephyr_pre0.elf
    
    [192/201] Generating dev_handles.c
    [193/201] Building C object zephyr/CMakeFiles/zephyr_pre1.dir/misc/empty_file.c.obj
    [194/201] Building C object zephyr/CMakeFiles/zephyr_pre1.dir/dev_handles.c.obj
    [195/201] Linking C executable zephyr\zephyr_pre1.elf
    
    [196/201] Generating linker.cmd
    [197/201] Generating isr_tables.c, isrList.bin
    [198/201] Building C object zephyr/CMakeFiles/zephyr_final.dir/misc/empty_file.c.obj
    [199/201] Building C object zephyr/CMakeFiles/zephyr_final.dir/isr_tables.c.obj
    [200/201] Building C object zephyr/CMakeFiles/zephyr_final.dir/dev_handles.c.obj
    [201/201] Linking C executable zephyr\zephyr.elf
    Memory region         Used Size  Region Size  %age Used
               FLASH:       78120 B         1 MB      7.45%
                SRAM:       12880 B       256 KB      4.91%
            IDT_LIST:          0 GB         2 KB      0.00%
     *  Terminal will be reused by tasks, press any key to close it. 
    
     *  Executing task: nRF Connect: Build: fat_fs/build (active) 
    
    Building fat_fs
    west build --build-dir c:\ncs\myapps\fat_fs\build c:\ncs\myapps\fat_fs
    
    ninja: no work to do.
     *  Terminal will be reused by tasks, press any key to close it. 
    
     *  Executing task: nRF Connect: Flash: fat_fs/build (active) 
    
    Flashing build to 1050275639
    west flash -d c:\ncs\myapps\fat_fs\build --skip-rebuild -r nrfjprog --dev-id 1050275639
    
    -- west flash: using runner nrfjprog
    -- runners.nrfjprog: Flashing file: c:\ncs\myapps\fat_fs\build\zephyr\zephyr.hex
    [ #################### ]   2.380s | Erase file - Done erasing                                                          
    [ #################### ]   0.512s | Program file - Done programming                                                    
    [ #################### ]   0.526s | Verify file - Done verifying                                                       
    Enabling pin reset.
    Applying pin reset.
    -- runners.nrfjprog: Board with serial number 1050275639 flashed successfully.
     *  Terminal will be reused by tasks, press any key to close it. 

    When comparing the file you linked to to the file in the SDK, the only difference I was able to find doing a diff of the two was

    #include <zephyr/kernel.h>

    Instead of

    #include <zephyr/zephyr.h>

    Which made no change from what I could see. Where there any specific changes you suggest? Or do I just happen to own bad SD cards?

    Many thanks,

    Bo

  • I am facing the same issue right now. Have you been able to resolve the issue in the meantime?
    Thanks!
    LK

  • Hi LK
    I am unfortunately still as stuck as before.

    Are you getting the same CMD8 errors? From what I am able to gather from the SD protocol this makes little sense, so I suspect there is something else going wrong early on. This is mostly speculation from my part though.

    While it has not solved anything, this document has at least been somewhat enlightening, it might help you more than it helped me:

    https://academy.cba.mit.edu/classes/networking_communications/SD/SD.pdf

    I will let you know if I make any progress.

    Cheers,

    Bo

  • Quick update:

    I have tried setting up the same sample in the v2.2.0 SDK, but I cannot spot any improvements.

    I have noticed that the "CONFIG_SDMMC_SUBSYS" mentioned by Øivind is set to 'n' in the build:

    CONFIG_SDMMC_SUBSYS was assigned the value y, but got the value n. Missing dependencies:
    DT_HAS_ZEPHYR_SDMMC_DISK_ENABLED

    I could, however, not figure out if I am missing more in my DT.

    The "mmc" subnode in the DT overlay also shows an error:

    Node should only occur on the sd bus.

    Again, I could not figure out what the correct fix in this case is.

    Any further help would be greatly appreciated.

    Thanks,

    Bo

  • Hi Bo,

    thanks for your reply!
    Yes I am getting the same CMD8 errors... Thanks for the linked document!
    I will let you know if I can get the sd card working somehow or find out anything else that might be interesting in the context of this issue.

    I'm working with the v2.1.2 SDK right now.


    BR,
    LK

Reply Children
Related