Phytec中国的wiki
support@phytec.cn
热线:0755-61802110-803
Page History
Table of Contents |
---|
模拟磁盘设备
otg模拟磁盘设备做为外设时, 需要使用USB Mass Gadget Storage的驱动.
kernel usb mass-storage 模块说明文档: https://www.kernel.org/doc/html/latest/usb/mass-storage.html
...
通过镜像文件作为磁盘设备
nandflash上的文件系统是ubifs格式, 一般PC上不能够直接识别UBI文件系统格式. 因此需要使用镜像文件, 可以在nandflash上使用/dev/loop来创建一个虚拟的快设备, 然后将镜像文件挂载上去:
Info |
---|
开发板默认镜像没有mkdosfs,需要在yocto安装dosfstools包 yocto安装软件参考: 在yocto中怎样为系统安装/删除软件 / yocto how to add/remove packages |
Code Block | ||||
---|---|---|---|---|
| ||||
mkdir /usb cd /usb mkdir files dd if=/dev/zero of=/usb/disk.img bs=1M count=100 # 生成100M的镜像文件 mkdosfs disk.img # 镜像文件格式化为fat32格式 mount -t vfat -o sync /usb/disk.img /usb/files # 使用/dev/loop设备节点来挂载disk.img到/usb/files目录下 |
Info |
---|
开发板默认镜像没有mkdosfs,需要在yocto安装dosfstools包 yocto安装软件参考: 在yocto中怎样为系统安装/删除软件 / yocto how to add/remove packages |
开发板加载g_mass_storage模块, 使用file参数可设置存储设备节点
...
此时使用otg线连接开发板和PC时, PC可识别出一个磁盘设备
更新disk.img:
- 当开发板需要更新文件时
...
- 往/usb/files/
...
- 目录下写入文件
- PC需要重新连接开发板后, PC端识别出来的磁盘文件才会更新.
- PC端更新文件时
- 在PC上往挂载的优盘写入文件
...
- 开发板需要重新挂载disk.img
...
- 可在/usb/
...
- 目录下创建一个sync脚本来执行更新操作,执行后/usb/files与img文件同步。
Code Block language bash theme Midnight title /usb/sync #!/bin/sh umount /usb/files mount -t vfat -o sync /usb/disk.img /usb/files
...
将SD卡作为磁盘设备
sdcard文件系统为fat32格式时, PC可以识别出来, 当使用otg线连接时开发板时, g_mass_storage模块的设备节点设置为sdcard设备时, PC就能识别出来开发板上的sdcard分区PC就能识别出来.
Code Block | ||||
---|---|---|---|---|
| ||||
modprobe g_mass_storage file=/dev/mmcblk0p1 |
...
驱动加载后, 开发板otg的模拟串口设备节点为/dev/ttyGS0
PC端需要加载usb串口驱动(linux驱动为usbserial),
开发板OTG连接电脑PC(linux)后, PC端的设备节点为/dev/ttyACM0
模拟网络设备
otg模拟网络设备需要加载g_ether驱动:
...
Code Block | ||||
---|---|---|---|---|
| ||||
root@phyboard-mira-imx6-3:~# systemctl restart systemd-networkd |
主机linux需要加载cdc_ether驱动, otg连接PC后, 就能模拟网络连接就能连接到开发板的网络.