基于OHCI的USB主机 —— UFI查询代码
/**
* 磁盘查询命令
* @param *buf 数据缓冲区指针
* @return 0 - 成功
*/
short ufiInquiry(BYTE *buf)
{
INQUIRY_SPC *inquiry;
CBW *cbw;
//设置Bulk-Only协议参数
cbw = &ufiCmdRunning.cbw;
cbw->dCBW_Signature = CBW_SIGNATURE;
cbw->dCBW_Tag = 0x60a624de;
cbw->dCBW_DataXferLen = 0x24;
cbw->bCBW_Flag=0x80;
cbw->bCBW_LUN=0;
cbw->bCBW_CDBLen = 6;//sizeof(CDB_RBC);
//设置UFI命令参数
inquiry = &(cbw->cdbRBC.ufiInquiry);
inquiry->OperationCode = 0x12;
inquiry->Lun = 0x0;
inquiry->PageCode = 0x0;
inquiry->Reserved1 = 0;
inquiry->AllocationLen = 0x24;
//设置状态扫描函数所需要的参数
ufiCmdRunning.funUfiCmd = bulkRead;
ufiCmdRunning.pBuf = buf;
ufiCmdRunning.state = UFI_STATE_BEGIN;
//通过Bulk端口发送读命令
bulkRead((unsigned char *)&ufiCmdRunning.cbw, buf, (unsigned char *)&ufiCmdRunning.csw);
return 0;
}
|
转载于:https://blog.51cto.com/lancelot/314110
基于OHCI的USB主机 —— UFI查询代码相关推荐
- 基于OHCI的USB主机——UFI查询命令(Inquiry)
查询命令(INQUIRY)请求获取UFI设备参数的信息.他被用作主机上的驱动器访问FUI设备的配置,特别是在接通电源和硬件复位之后使用.命令内容如下表: 位 字节 7 6 5 4 3 2 1 0 0 ...
- 基于OHCI的USB主机 —— UFI命令 USB Mass Storage Class Bulk-Only Transport协议介绍
USB Mass Storage Class Bulk-Only Transport Microsoft公司至Windows98后,USB主机 都支持Bulk-Only标准,所以现在的大容量存储类设备 ...
- 基于OHCI的USB主机 —— UFI命令监视代码
在调用完上面的UFI命令后,ufiCmdRunning.state就被设置为UFI_STATE_BEGIN态,在主循环中调用本函数,用来判断UFI命令是否执行完毕,以及是否执行成功. /** * U ...
- 基于OHCI的USB主机 —— UFI读容量代码
/** * 读磁盘容量命令 * @param *buf 数据缓冲区指针 * @return 0 - 成功 */ short ufiReadCapacity(BYTE *buf) { R ...
- 基于OHCI的USB主机 —— UFI写扇区代码
/** * 写磁盘扇区命令 * @param sect 物理扇区号 * @param *buf 数据缓冲区指针 * @return 0 - 成功 */ short ufiWriteSect( ...
- 基于OHCI的USB主机 —— UFI读状态代码
/** * 读取错误原因 * @param *buf 存放读取出来数据的缓冲区 * @return 0 - 成功 */ short ufiRequestSense(BYTE *buf) { ...
- 基于OHCI的USB主机——UFI读扇区命令(Read10)
读命令要求UFI设备传输数据到主机,记录在逻辑块地址的最新数据值将被返回,命令格式如下表: 位 字节 7 6 5 4 3 2 1 0 0 操作代码(0x28) 1 逻辑单元号(LUN) DPO FU ...
- 基于OHCI的USB主机 —— UFI数据结构2
UFI命令块 /** * UFI命令块 */ typedef union _CDB_RBC { READ_10 ufiRead10; //!&l ...
- 基于OHCI的USB主机 —— UFI数据结构1
根据上面的介绍,定义相应命令的数据结构如下: 查询(Inquiry) /** * Inquiry命令数据结构 */ typedefstruct _INQUIRY_SPC { UINT8Operatio ...
最新文章
- .md 文件的格式:写出好看的笔记
- linux安装多版本php_Linux系统下为Nginx安装多版本PHP
- 【附段错误原因,最后两个测试点】1052 Linked List Sorting (25 分)【链表类题目总结】
- SQL脚本文件的部署研究
- 案例 TreeView动态控制节点 c# 1614264758
- JDK的bin目录下所有程序的使用介绍
- android中屏保功能项目,【Android】一段时间不操作弹出【屏保】效果
- Each interface on the back of the fuselage
- UNP(2rd)第二卷源码编译
- keras训练cifar10数据集源代码
- python爬取喜马拉雅vip音频安卓_Python爬虫:爬取喜马拉雅音频数据详解
- MAVEN专题之十、设计你自己的maven插件【高手必备】
- 我的Java传承名单(不知为何以前的又没有了,幸亏有备份才可以又贴出来)
- [luogu] CF128A Statues dfs
- 详细教程-阿里网盘部署本机
- 英语foteball足球
- python字典第一个元素_如何获取python字典中的第一个值
- 儿时的小游戏:象狮虎豹狼狗猫鼠
- 图中最深的根 (25分)
- 什么是ARM TCM内存