limingth 发表于 2005-8-21 21:42:55

chw75 的实现 u 盘功能最新源码 2005/08/20

代码下载:
http://159.226.40.150/ftp_root/upload/lumit/chw75/up4lumit.rar


说明:
这个源代码具有了基本的u盘实现功能(但基本上不包括错误处理的内容),编译正常,运行时不能发现。
以下是注意事项:
1、运行这个程序的前提:(1)硬件飞线 ( 最新版的硬件就不用飞线了 )
                      (2)卸载我前面移植zhaoic的驱动程序(卸载方法:可在运行该程序过程中,在设备管理器中卸载)
                      (3)安装ads1.2.
2、编码和调试工具:(1)最好用source insight编码
                  (2)编译就用里面自带的make工具(make编译,make clean清除,非常方便)
                  (3)用bushound来获取usb传输包
3、当前进展:(1)把nandflash格式化为fat16文件系统格式(可能存在问题)
             (2)能够在bushound中显示lumit4510
             (3)能够出现盘符
            
4、当前问题及可能的问题:(1)不能正确显示u盘的容量
                        (2) 在我的机器上出现0x23操作码,0x23不是标准的scsi命令,可能是windows自带的,请大家查查它的返回数据格式。
                         (3)我不知道是不是我格式化nandflash为fat16格式中是否存在参数错误?还是u盘中SCSI-2的交互过程存在问题(包括mode sense和mode request sense等命令)?
                        (4)read,write命令已写。read命令工作正常,但是write命令由于受前面的影响还未进入调试状态。
            

欢迎大家下载测试, 在 chw75 程序的基础上更进一步!


lumit4510 u 盘开发资料交流目录:
http://159.226.40.150/ftp_root/upload/lumit/

上传资料请用 upload/upload 登陆:
ftp://upload:[email protected]/lumit/

limingth 发表于 2005-8-21 21:45:53

补充说明使用步骤

补充说明lumit4510使用步骤:
(1)使用超级终端
(2)使用tftp1.1
( 大家务必小心, 这里的 bootloader 不要用最新 1.4.0 版的,必须使用老版本的 bootloader )
(3)dn
(4)从主机传送testusb.uue到开发板
(5)go

程序运行过程:
(1) 对nandflash格式化为fat16格式
(2)然后进入usb通信过程

这个程序只要能够出现u盘容量大小等信息,就大功告成了!

limingth 发表于 2005-8-21 22:45:05

lumit4510 u盘最新进展图片

代码里面带了一个截图说明,大家可以看一下.

chw75 发表于 2005-8-22 12:00:27

0x23命令已找到,确实是UFI中read formatted capacity.
现在最大的问题是对mode sense和mode request sense等命令没吃透,以及fat16格式化可能存在问题,如果大家有什么心得体会的话,请回帖,再此致谢!

集思广益的方法:
(1)请大家启动bushound工具(注:请在setting中修改max data length为512字节,而不是32字节)。
(2)运行run.
(3)然后 把自己的u盘插入进行操作。
(4)u盘操作完成后,把bushound中的数据保存为一个txt文件。
大家把这个文件压缩后请上传,我好通过这些数据分析u盘和主机之间是如何交互的,这样便于调试。

limingth 发表于 2005-8-22 15:23:39

这个是我的机器上插入u盘抓到的数据,我的u盘是 128M的。

usbhound 工具可以到 http://159.226.40.150/ftp_root/upload/lumit/resources/   下载

chw75 发表于 2005-8-22 15:50:58

to 斑竹:
斑竹,你辛苦了,可是你的数据不是文本格式,我无法阅读。在bushound中,save选择项就能够生成文本格式。
之所以要大家帮忙收集大家的u盘资料,是因为我的两个u盘都是用UFI实现的,而不是SCSI-2,因此有些地方比较费解,再改成用UFI实现得不偿失。
麻烦斑竹再抓个包。

limingth 发表于 2005-8-22 16:01:54

to chw75:
你把 zip 包解压之后,用 ultraedit 查看,或者改一下后缀名就可以。 不压缩的文本文件大约是 2M, 放不上来。
可以到 http://159.226.40.150/ftp_root/upload/lumit/liming/ 下面下载。

CoryXie 发表于 2005-8-22 22:09:10

我上传了一个无限制版的BusHound5.0,在下面的路径:
http://159.226.40.150/ftp_root/upload/lumit/resources/2004-04-09_bushound5.0.rar
可以发送命令,比以前的版本好用!更加方便调试了!

wxMidnight 发表于 2005-8-23 14:08:23

原来用的是网上流传的Atmel MP3的FAT代码

chw75 发表于 2005-8-23 16:08:36

Atmel MP3的FAT代码是我网上找的,我把这部分代码放在工程中,不过在项目中还没有用到这部分代码,可能以后会用到.

wxMidnight 发表于 2005-8-24 10:42:44

哦,你现在只用到了fat.h/fat.c?那么就只有fat format的功能了?
从fat.h/.c来看,并不具备MTD layer

请教一下,一般来说U盘是如何操作的?假设把一个块NandFlash映射成一个U盘,里面的block,sector如何对应?

limingth 发表于 2005-8-26 16:23:40

最新 u 盘通讯协议数据抓取包记录文件放在:
http://159.226.40.150/ftp_root/upload/lumit/jtag/
页: [1]
查看完整版本: chw75 的实现 u 盘功能最新源码 2005/08/20