OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5019|回复: 2

GD32F105 USB NAND与电脑通信出错

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2022-8-30
在线时间
0 小时
发表于 2022-9-17 15:49:35 | 显示全部楼层 |阅读模式
2金钱
最近在用GD32F105的USBFS外设,先是根据官方固件库中的USBDEVICE下udisk的程序,使用内部Flash模拟了一个大容量存储设备的U盘,插上电脑后提示格式化完成后能正常使用没什么问题。然后在EXMC接口上外挂了一片海力士的H27U4G8F,把NAND驱动加入到USBFS的固件程序对应的底层驱动接口就出现了问题,电脑设备管理器显示能枚举出一个大容量存储设备,但是获取设备描述符失败,设备没有启动。使用BUS Bound来总线上的数据传输情况发现,在插上设备后能读到INQUIRY、容量等信息,也能正常读写扇区,但读了几个后就出现发送逻辑单元准备就绪的00命令,然后就会出现SSTS 08 no device这种状态,接着计算机就会停用这个设备,回馈一个设备无法连接的状态。使用串口打印信息的方式进行调试发现,对CBW解码函数中,usbd_rxcount_get (udev, MSC_OUT_EP)这个函数返回值有时会出现为0的状况,这个返回值本来应该为0x1F,也就是BBB_CBW_LENGTH宏定义的值,这样就会导致调用msc_bbb_abort (udev)这个函数中止传输,所以主机长时间接收不到返回信息,多次尝试后没有响应则会停掉这个设备,显示no device。问题就是有时候会显示连接成功,对U盘读写访问都没问题,有时候又会出现这种状况,有人知道这是为什么么。 1.jpg 2.jpg

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

25

主题

683

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1351
金钱
1351
注册时间
2012-4-25
在线时间
195 小时
发表于 2022-9-19 10:57:44 | 显示全部楼层
本帖最后由 mygod 于 2022-9-19 11:01 编辑

GD32的USB库 BUG一大堆,官方蠢人自以为是的乱秘诀,确不知引入各种问题,
用过GD32的HOST库,小bug不断.官方就简单的当开发板功能给你测试OK,
导致兼容性极差.没能力修改USB方面的,要想快速简单解决 直接用STM32的USB库。
回复

使用道具 举报

7

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1110
金钱
1110
注册时间
2019-5-6
在线时间
128 小时
发表于 2022-9-30 14:30:42 | 显示全部楼层
工程能发一下么
一步一个脚印
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 01:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表