周五见| USB相关问题讲解

Comake Online


作者| wenju.lu、veahow、sz.chen、user_华仔、alan.ma、An


Comake社区技术问题汇总,第20230915期,本期将分享USB相关的问题。



本期问题速览


▪ USB挂载方法


▪ RTOS的USB发送接口dcd_ep_write与dcd_dma_write的区别是什么?


▪ 使用USB烧录镜像到Flash后,芯片不自动重启,这个需要如何处理?


▪ 如何实现USB一键升级?


▪ 支持USB眼图测试吗?


▪  如何配置打开USB Gadgetfs?


▪  USB host和device主从切换使用上有什么限制吗?


▪  USB factory tool升级时,电脑端会频繁弹出需要格式化磁盘的窗口,要怎么禁止掉?





Q1:USB挂载方法


A1:使用fdisk -l命令查看一下U盘是否有被识别到,及识别的U盘是在哪个位置 如看到U盘的位置是/dev/Sdb4,输入挂载U盘命令:mount /dev/sdb4 /mnt,回车后即挂载U盘成功,继续输入:cd /mnt回车,可以查看U盘下的文件 完成后,需要退出U盘,输入命令:umount /mnt


点击阅读原文



Q2:RTOS的USB发送接口dcd_ep_write与dcd_dma_write的区别是什么?


A2:【SSD22X/SSD21X/SSC9211 RTOS适用】

RTOS中USB的发送主要使用两个接口dcd_ep_write与dcd_dma_write,主要特点如下表:



对于dcd_dma_write来说,DMA将待发送数据搬运到FIFO完成就会产生中断。假设PC正常(例如CDC是串口打开的状态),搬运到FIFO完成后就能直接发送出去;如果不正常(CDC是串口关闭状态),待发送数据搬运到FIFO后,尽管没有发送出去,依然会产生中断,此时FIFO还会余留上次未发送的数据,与下次可以成功发送的数据一起发送出去。


举例来说,FIFO有一个固定的缓冲大小,假设为1024字节(EP2最大size为1024),如果PC状态不正常,使用dcd_dma_write发送了1202字节,那么数据通过DMA发送实际只搬运了1024字节,没有将1202字节全部搬运完,这种情况下不会产生中断,而如果PC状态正常,FIFO的1024字节能马上发出去,剩下的178字节也能马上搬运到FIFO,然后立即发送出去。


点击阅读原文



Q3:使用USB烧录镜像到Flash后,芯片不自动重启,这个需要如何处理?


→点击阅读全文



如您在开发的过程中遇到USB相关问题,或您需要技术支持选型支持商务支持,欢迎进入Comake社区开发论坛发帖咨询,社区技术工程师和运营人员将会及时响应您的诉求。



往期回顾


周五见| kernel相关问题讲解


周五见|i2c相关问题讲解


周五见| SSD21X/22X相关问题讲解


周五见| SSD22X相关问题讲解


周五见| SSD20X相关问题讲解





扫码进入论坛

原厂答疑|产品选型|官方资源



扫码咨询客服

SDK下载|芯片、开发板购买



X 提交 下一题

查看更多