usb读卡器 显示盘符 格式化失败

2019-07-20 15:59发布

本帖最后由 liuqishigou 于 2017-3-20 08:02 编辑

我参考 usb读卡器的历程,自己添加官网usb库文件,按照阿波罗开发指南中的要求的几点修改代码,    pc只能显示盘符,要求格式化,提示无法进行格式化。
         请问我该从何入手调试?初次接触usb,不懂协议,已经两天了,还是没整明白。请原子哥指点迷津


1.单独测试tf卡的读写、带文件系统的读写测试,都没有问题;
2.usb部分:出了改个地址变量的类型为uint64外,其他几乎没改动,app 中加入自己usb的底层代码

是不是说明我的usb部分存在问题?具体应用都应该怎么修改库文件为自己所用?

     现在不知道从哪里调起,请各位给个调试的方法


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
liuqishigou
1楼-- · 2019-07-20 17:36
谢谢各位,我的问题解决了。
用bus hound  对照usb  mass storage的协议一组一组指令分析,其中:
pc读取sd卡的信息时,发送的的指令是28,对比原子哥开发板的对应数据,应该回复eb开头的一些列字节,而我板子回的却是00开头的一些列字节。 所以导致出问题。问题应该出在读写的函数部分。

调usbd_storage_msd.c中的读写函数,发现自己在先前单独测试sd读写时给地址加了便宜量(自作孽不可活啊)改掉就ok了。

绕了一大圈,自己给自己埋了个雷,还特自信读写肯定没问题,每次都排除这里。
mxiaotao
2楼-- · 2019-07-20 17:46
 精彩回答 2  元偷偷看……
liuqishigou
3楼-- · 2019-07-20 23:27
我的问题怎么没有人回答  大家都怎么做的,都交流下呗
正点原子
4楼-- · 2019-07-21 00:55
直接下载我们代码试试
513393302@qq.co
5楼-- · 2019-07-21 03:19
建议用官方的图形化工具STM32CubeMX,可以直接配置USB,选择MSC类,然后直接配置时钟及外部SRAM,生产工程。所有要实现的应用层函数全在一个XXXX_if.c的文件中,也只要实现几个函数,初始化、返回扇区大小及扇区数、读扇区、写扇区,相当于做一个填空题一样。很容易实现把外部SRAM做成U盘。不过需要注意的是读、写扇区的函数用的是uint8_t * 类型的数据缓存,所有读写扇区中建议用字节型读写函数。我这边用uint16_来实现读写扇区,发现电脑可以识别到U盘,但是无法格式化
tt朝花夕拾
6楼-- · 2019-07-21 07:03
跟下失败的提示原因呢?

一周热门 更多>