Zynq UltraScale+ MPSoC-模拟U盘

主要完成zynqmp设备与PC通过usb连接时类似PC与u盘连接,参考WIKI
平台工具:ZCU106,petalinux2019.2,vitis2020.2

block design

vivado新建block design,只需要简单的zynqmp的核就行,编译生成.xsa文件导出。

petalinux设置

zynqmp配置

配置基本保持默认,除DTG Setting—>MACHINE_NAME修改为zcu106-reva,其他可选项见表
在这里插入图片描述

内核配置

Device Drivers—>USB Support—>USB Gadget Support,使能mass storage与mass storage gadget
在这里插入图片描述在这里插入图片描述
File Systems —>Pseudo filesystems,使能userspace-driven configuration filesystem
在这里插入图片描述

设备树

<工程路径>/project-spec/meta-user/recipes-bsp/device-tree/system-user.dtsi

/include/ "system-conf.dtsi"
/ {
};

&usb0 {
	status = "okay";
};

&dwc3_0 {
	status = "okay";
	dr_mode = "peripheral";
};

编译完成后,将BOOT.BIN,image.ub,libcomposite.ko,g_mass_storage.ko,usb_f_mass_storage.ko拷贝至SD卡

zcu106运行

待开发板启动,输入以下命令

mount /dev/mmcblk0p1 /mnt/
cd /mnt/
insmod libcomposite.ko
insmod usb_f_mass_storage.ko
dd if=/dev/zero of=/tmp/test.img bs=1M count=1024
insmod g_mass_storage.ko file=/tmp/test.img removable=1

pc主机与zcu106通过usb连接,pc上会弹出
在这里插入图片描述
格式化磁盘后,可以在我的电脑中看到开发板模拟的U盘
在这里插入图片描述
如果pc需要访问zcu106的sd卡,在开发板启动挂载sd卡后,输入

insmod libcomposite.ko
insmod usb_f_mass_storage.ko
insmod g_mass_storage.ko file=/dev/mmcblk0p1 removable=1

接上pc,就可以在pc中看到sd卡中的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值