sample fat_fs

Hi,

I'm trying the  sample fat_fs  on the nRF5340 DK

1) It does build, but there is awarning

CMake Warning at D:\nRfConnect\v1.8.0\zephyr\CMakeLists.txt:722 (message):
No SOURCES given to Zephyr library: drivers__disk

2) looked with the debugger: in the main() it reaches the  LOG_ERR("Storage init ERROR!");

void main(void)

if (disk_access_init(disk_pdrv) != 0) {
LOG_ERR("Storage init ERROR!");
 
Could you please comment on the above 2 points ?
What steps should i make to have a SD-card running,  is using sample fat_fs the way to go ?
Best Regards,
Theo
  • Hi Simon,

    I tried again..   the warning

    CMake Warning at D:\nRfConnect\v1.9.0\zephyr\CMakeLists.txt:764 (message):
    No SOURCES given to Zephyr library: drivers__disk

    is now gone..

    My mistake sorry

    but i do not see the  cs-gpios  signal in the Device Tree/ GPIO

    Best Regards,

    Theo

    PS: i will go and check if i get signals ??

  • When i have nothing in the nrf5340dk_nfr5340_cpuapp.overlay .. THEN i get the  

    CMake Warning at D:\nRfConnect\v1.9.0\zephyr\CMakeLists.txt:764 (message):
    No SOURCES given to Zephyr library: drivers__disk

    back again. 

  • Do you use NCS v1.9.0 now? Earlier I saw the path "D:\nRfConnect\v1.8.0", now I see the path "D:\nRfConnect\v1.9.0", please inform me of the NCS version you're using.

    Try going into the folder <ncs location>/nrf and run git describe --tags.

    TF mulder said:
    One point i noticed:  in the Device Tree/ GPIO  there i could not find the  cs-gpios, while the 3-Spi signals can be seen in that list.
    TF mulder said:

    this is still there:  

    CMake Warning at D:\nRfConnect\v1.9.0\zephyr\CMakeLists.txt:764 (message):
    No SOURCES given to Zephyr library: drivers__disk

    I added an overlay file and  these two configs to the prj.conf and built, and I could indeed see the cs-gpios under spi2 in fat_fs/build/zephyr/zephyr.dts

    fat_fs_modified.zip

    When building this sample using  west build -b nrf5340dk_nrf5340_cpuapp -d build_53 -p in NCS v1.9.0, I did not get any "No SOURCES given to Zephyr library: drivers__disk", check the build output below

     west build -b nrf5340dk_nrf5340_cpuapp -d build_53 -p
    -- west build: generating a build system
    Including boilerplate (Zephyr base): C:/v1.8.0/zephyr/cmake/app/boilerplate.cmake
    -- Application: C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs
    -- Using NCS Toolchain 1.9.0 for building. (C:/v1.9.0/toolchain/cmake)
    -- Zephyr version: 2.7.99 (C:/v1.8.0/zephyr), build: v2.7.99-ncs1
    -- Found Python3: C:/v1.9.0/toolchain/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter 
    -- Found west (found suitable version "0.12.0", minimum required is "0.7.1")
    -- Board: nrf5340dk_nrf5340_cpuapp
    -- Cache files will be written to: C:/v1.8.0/zephyr/.cache
    -- Found dtc: C:/v1.9.0/toolchain/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found toolchain: gnuarmemb (C:/v1.9.0/toolchain/opt)
    -- Found BOARD.dts: C:/v1.8.0/zephyr/boards/arm/nrf5340dk_nrf5340/nrf5340dk_nrf5340_cpuapp.dts
    -- Found devicetree overlay: C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/boards/nrf5340dk_nrf5340_cpuapp.overlay
    -- Generated zephyr.dts: C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/build_53/zephyr/zephyr.dts
    -- Generated devicetree_unfixed.h: C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/build_53/zephyr/include/generated/devicetree_unfixed.h
    -- Generated device_extern.h: C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/build_53/zephyr/include/generated/device_extern.h
    -- Including generated dts.cmake file: C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/build_53/zephyr/dts.cmake
    Parsing C:/v1.8.0/zephyr/Kconfig
    Loaded configuration 'C:/v1.8.0/zephyr/boards/arm/nrf5340dk_nrf5340/nrf5340dk_nrf5340_cpuapp_defconfig'
    Merged configuration 'C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/prj.conf'
    Configuration saved to 'C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/build_53/zephyr/.config'
    Kconfig header saved to 'C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/build_53/zephyr/include/generated/autoconf.h'
    -- The C compiler identification is GNU 9.2.1
    -- The CXX compiler identification is GNU 9.2.1
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/v1.9.0/toolchain/opt/bin/arm-none-eabi-gcc.exe
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/build_53
    -- west build: building application
    [169/179] Linking C executable zephyr\zephyr_pre0.elf
    
    [173/179] Linking C executable zephyr\zephyr_pre1.elf
    
    [179/179] Linking C executable zephyr\zephyr.elf
    Memory region         Used Size  Region Size  %age Used
               FLASH:       49284 B         1 MB      4.70%
                SRAM:       10792 B       448 KB      2.35%
            IDT_LIST:          0 GB         2 KB      0.00%

    When I removed  these two configs I did get the warning however

    west build -b nrf5340dk_nrf5340_cpuapp -d build_53 -p
    -- west build: making build dir C:\v1.8.0\zephyr\samples\subsys\fs\fat_fs\build_53 pristine
    -- west build: generating a build system
    Including boilerplate (Zephyr base): C:/v1.8.0/zephyr/cmake/app/boilerplate.cmake
    -- Application: C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs
    -- Using NCS Toolchain 1.9.0 for building. (C:/v1.9.0/toolchain/cmake)
    -- Zephyr version: 2.7.99 (C:/v1.8.0/zephyr), build: v2.7.99-ncs1
    -- Found Python3: C:/v1.9.0/toolchain/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter 
    -- Found west (found suitable version "0.12.0", minimum required is "0.7.1")
    -- Board: nrf5340dk_nrf5340_cpuapp
    -- Cache files will be written to: C:/v1.8.0/zephyr/.cache
    -- Found dtc: C:/v1.9.0/toolchain/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found toolchain: gnuarmemb (C:/v1.9.0/toolchain/opt)
    -- Found BOARD.dts: C:/v1.8.0/zephyr/boards/arm/nrf5340dk_nrf5340/nrf5340dk_nrf5340_cpuapp.dts
    -- Found devicetree overlay: C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/boards/nrf5340dk_nrf5340_cpuapp.overlay
    -- Generated zephyr.dts: C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/build_53/zephyr/zephyr.dts
    -- Generated devicetree_unfixed.h: C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/build_53/zephyr/include/generated/devicetree_unfixed.h
    -- Generated device_extern.h: C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/build_53/zephyr/include/generated/device_extern.h
    -- Including generated dts.cmake file: C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/build_53/zephyr/dts.cmake
    Parsing C:/v1.8.0/zephyr/Kconfig
    Loaded configuration 'C:/v1.8.0/zephyr/boards/arm/nrf5340dk_nrf5340/nrf5340dk_nrf5340_cpuapp_defconfig'
    Merged configuration 'C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/prj.conf'
    Configuration saved to 'C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/build_53/zephyr/.config'
    Kconfig header saved to 'C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/build_53/zephyr/include/generated/autoconf.h'
    -- The C compiler identification is GNU 9.2.1
    -- The CXX compiler identification is GNU 9.2.1
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/v1.9.0/toolchain/opt/bin/arm-none-eabi-gcc.exe
    CMake Warning at ../../../../CMakeLists.txt:764 (message):
      No SOURCES given to Zephyr library: drivers__disk
    
      Excluding target from build.
    
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/v1.8.0/zephyr/samples/subsys/fs/fat_fs/build_53
    -- west build: building application
    [164/174] Linking C executable zephyr\zephyr_pre0.elf
    
    [168/174] Linking C executable zephyr\zephyr_pre1.elf
    
    [174/174] Linking C executable zephyr\zephyr.elf
    Memory region         Used Size  Region Size  %age Used
               FLASH:       42664 B         1 MB      4.07%
                SRAM:       10608 B       448 KB      2.31%
            IDT_LIST:          0 GB         2 KB      0.00%

    TF mulder said:
    PS: i will go and check if i get signals ??

    Yes, try that.

    If you still experience that disk_access_init(disk_pdrv) causes "Storage init ERROR!" to get printed, it means that the function returns an error (a non-null value). To get to the bottom of that you should try to debug the application and the call stack of disk_access_init and find the exact line that returns the error. Here is the call stack:

    Try to debug your program (set CONFIG_DEBUG_OPTIMIZATIONS=y in the prj.conf and follow the Segger Ozone guide or nRF Connect for VS Code, 5: Debugging) to figure out where in the call stack above a non-null error is returned.

    Best regards,

    Simon

  • Hi Simon,

    yes, is correct i saw a presence of 1.9 now, so i thought give that a try. (but responded the same)

    ==>   i had a resonce of the card.. by putting the CS-pin on the SdCard to GND.  But i saw the respononse only once..(not any more)    ==>The signal cs-gpios i can not find..

    Maybe  this need attention, ==> where is the  cs-gpios going.

    (ofcause i will study and try your long and  complicated(at least to me;-) response)

    Regards,

    Theo

  • If you don't figure it out I will try to get ahold of an SD card reader, so I can actually run and debug the program myself.

Related