如何使用Zephyr QEMU X86_64访问linux主机文件系统

How to access linux host file system using Zephyr QEMU X86_64

提问人:bbawj 提问时间:9/17/2023 最后编辑:bbawj 更新时间:9/17/2023 访问量:89

问:

我正在尝试从在其 QEMU X86_64目标中运行的 Zephyr 访问我的 Linux 主机文件系统,以便轻松共享文件。

遵循此 QEMU wiki,可用于共享主机文件夹。我通过从 zephyr 的构建文件夹中调用来为 qemu 运行目标传递了这个额外的标志。qemu -drive file=fat:rw:some/directorymake run -- -drive file=fat:some/directory

我尝试按照提供的示例进行操作,这是我想出的代码:

// Additional includes...
#include <zephyr/kernel.h>
#include <zephyr/fs/fs.h>
#include <ff.h>

#define DISK_DRIVE_NAME "SD"
#define DISK_MOUNT_PT "/"DISK_DRIVE_NAME":"

static FATFS fat_fs;
/* mounting info */
static struct fs_mount_t mp = {
    .type = FS_FATFS,
    .fs_data = &fat_fs,
};

int main(void) {
        mp.mnt_point = disk_mount_pt;
        fs_register(FS_FATFS, &fat_fs);

        int res = fs_mount(&mp);
        if (res == 0) {
            // Do something here...
        } else {
            fprintf(stderr, "ERROR mounting disk %d\n", res);
        }
        fs_unmount(&mp);
        fs_unregister(FS_FATFS, &fat_fs);

}

但是,我无法成功挂载,出现错误。我还尝试在不同的受支持磁盘驱动器名称上挂载,但无济于事。<err> fs: fs mount error (-5)

有没有人运气尝试在 QEMU 工作的情况下在主机和 Zephyr 之间共享文件?

C 文件 QEMU ZEPHYR-RTOS

评论


答: 暂无答案