You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Zephyr USB Mass Storage示例构建失败问题

问题描述

使用nrf52840DK开发板构建Zephyr USB Mass Storage示例时,出现构建失败,报错如下:

error: #error No supported disk driver enabled

构建日志中还有如下警告:

CMake Warning at C:/ncs/v3.1.1/zephyr/CMakeLists.txt:1027 (message):
  No SOURCES given to Zephyr library: drivers__disk

  Excluding target from build.

当前prj.conf配置内容:

CONFIG_STDOUT_CONSOLE=y

#USB related configs
CONFIG_USB_DEVICE_STACK=y
CONFIG_USB_DEVICE_PRODUCT="Zephyr MSC sample"
CONFIG_USB_DEVICE_PID=0x0008
CONFIG_LOG=y
CONFIG_USB_DRIVER_LOG_LEVEL_ERR=y
CONFIG_USB_MASS_STORAGE=y
CONFIG_USB_DEVICE_LOG_LEVEL_ERR=y
CONFIG_USB_MASS_STORAGE_LOG_LEVEL_ERR=y
CONFIG_USB_DEVICE_INITIALIZE_AT_BOOT=n

CONFIG_MAIN_STACK_SIZE=1536

已在Kconfig中选择"Use RAM disk and FAT file system"选项,项目README.rst中给出的RAM磁盘+FAT文件系统构建配置为:

.. zephyr-app-commands::
   :zephyr-app: samples/subsys/usb/mass
   :board: reel_board
   :gen-args: -DEXTRA_DTC_OVERLAY_FILE="ramdisk.overlay" -DCONFIG_APP_MSC_STORAGE_RAM=y
   :goals: build
   :compact:

不清楚这些配置如何放入sample.yaml,也不确定是否仅补充这些配置就能解决问题。

解决方法

1. 补全prj.conf的核心配置

直接在你的prj.conf里添加以下内容,比图形界面选Kconfig更稳妥,避免配置不生效:

CONFIG_APP_MSC_STORAGE_RAM=y
CONFIG_FAT_FILESYSTEM=y
CONFIG_DISK_DRIVER_RAM=y

这几个配置是启用RAM磁盘驱动和FAT文件系统的关键,补上就能解决"No supported disk driver enabled"的报错。

2. 配置RAM磁盘的设备树overlay

把官方示例里的ramdisk.overlay复制到你项目根目录;如果找不到这个文件,也可以自己创建,内容参考:

&ram0 {
	status = "okay";
	reg = <0x20030000 0x10000>; /* 定义64KB的RAM磁盘,地址和大小可根据需求调整 */
};

这个文件用来声明RAM磁盘的硬件节点,没有它驱动无法正常加载。

3. sample.yaml中的配置写法

如果用sample.yaml管理构建参数,找到对应nrf52840dk的测试配置块,修改成如下结构:

sample:
  name: USB Mass Storage Sample
tests:
  sample.usb.mass:
    platform_allow: nrf52840dk_nrf52840
    tags: usb
    build_only: false
    extra_args:
      - DEXTRA_DTC_OVERLAY_FILE="ramdisk.overlay"
      - DCONFIG_APP_MSC_STORAGE_RAM=y

这样每次构建时会自动加载指定的overlay文件和CONFIG参数,不用手动输入命令行参数。

4. 验证配置有效性

完成上述操作后重新构建项目,检查日志是否不再出现drivers__disk的警告,同时确认RAM磁盘驱动和FAT文件系统已被正确启用。

本质上你遇到的问题就是缺少RAM磁盘驱动的启用配置和对应的设备树节点定义,补全这些配置后就能解决构建失败的问题。

内容的提问来源于stack exchange,提问作者Sid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 22:45:59