U盘调试的主要步骤和内容

电脑与显示器

21人已加入

描述

U盘调试的主要步骤和内容

USB 设备端的固件分以下几个层次:

文件模块名称 主要功能


Main.c 进行各种初始化操作、寄存器设置、中断设置

Fat16.c flash.c 负责按照Fat16 文件系统的组织向Flash 中写入数据或是从Flash 中读出数据

Chap9.c bulk-only.c 完成不同的中断请求,Chap9 完成来自端点0 的USB 标准设备请求,Bulk-Only 完成来自批量模式端点的Mass Storage Bulk-Only 传输中断请求

Isr.c 中断服务程序,负责将不同类型的中断转向一同的地方

D12ci.c 函数化的D12 的命令集合,可以直接调用这些函数,而不必再自己根据手册查每个命令的代码另外,此文件中包括一些与硬盘有关的地址定义在调试的时候,从现象上来看,分成以下几个阶段性的步骤:

1、USB 芯片正常工作,可以实现软连接,此时PC 机上会出现“未知设备类型”的USB 设备;

2、使用他人已经高度成功的USB 通用接口,按普通USB 设备提供描述符,提供正确的VID 和PID 后,PC 能够识别设备,但要求提供设备的驱动程序;

3、安装驱动程序后,调试几个端点,使其均可传输数据,用PC 端的测试程序对其进行测试,验证硬件及固件的正确性;

4、按Mass StorageBulk-Only 模式提供描述符,PC 机上设备类型变成Mass Storage Device;

5、响应了Bulk-Only 的Inquiry 命令,可以出现盘符了,但尚无法访问磁盘;

6、提供了其他所有的UFI命令(SCSI 子集),开始读取磁盘0 扇区(BPB 区)的内容,按照FAT16 的格式格式化Flash,可以正确读取信息,可以访问盘符,列目录为空;

7、创建文件时,向设备发出Write 命令,调整Flash 的读写问题,解决写某几个扇区要先保存整个簇的内容,然后擦除整簇,再回写,可以正常创建文件;

8、完成最后的调试,U 盘高度完毕。

在此基础上,还需要提供支持FAT16 的文件系统接口函数,比如,可以从FAT16 中读取文件,可以创建文件并将其保存到FAT16 中去。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • 热点推荐
  • U盘

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分