/**
* 寫磁碟扇區命令
* @param sect 物理扇區號
* @param *buf 資料緩衝區指標
* @return 0 – 成功
*/
short ufiWriteSect(DWORD sect, BYTE *buf)
{
WRITE_10 *write10;
CBW *cbw;
//設定Bulk-Only協議引數
cbw = &ufiCmdRunning.cbw;
cbw->dCBW_Signature = CBW_SIGNATURE;
cbw->dCBW_Tag = 0x60a624de;
cbw->dCBW_DataXferLen = 512;
cbw->bCBW_Flag=0x00;
cbw->bCBW_LUN=0;
cbw->bCBW_CDBLen = 16;//sizeof(CDB_RBC);
//設定UFI命令引數
write10 = &(cbw->cdbRBC.ufiWrite10);
write10->OperationCode = 0x2A;
write10->LBA_0 = byteInInt(sect, 0);
write10->LBA_1 = byteInInt(sect, 1);
write10->LBA_2 = byteInInt(sect, 2);
write10->LBA_3 = byteInInt(sect, 3);
write10->XferLen_0 = 0x01;
write10->XferLen_1 = 0x00;
//設定狀態掃描函式所需要的引數
ufiCmdRunning.funUfiCmd = bulkWrite;
ufiCmdRunning.pBuf = buf;
ufiCmdRunning.state = UFI_STATE_BEGIN;
//通過Bulk埠傳送寫命令
bulkWrite((unsigned char *)&ufiCmdRunning.cbw, buf, (unsigned char
*)&ufiCmdRunning.csw);
return 0;
}
|
基於OHCI的USB主機 —— UFI寫扇區程式碼薦
相關文章
- 主引導扇區的理解
- 從扇區看USB-FDD和USB-HDD在引導時的區別
- USB主機
- 讀寫硬碟扇區的C語言程式 (轉)硬碟C語言
- 瞭解計算機基礎真的有助於寫程式碼計算機
- 關於華碩主機板“USB Devices Over Current Status Detected!”dev
- 基於MySql主從分離的程式碼層實現MySql
- USB3.0與USB2.0編碼方式的區別
- 基於Linux的虛擬主機搭建Linux
- usb驅動程式初步編寫
- 基於Typora的Latex程式碼書寫並移植到word中
- 硬碟主引導扇區的結構及功能全面釋疑(轉)硬碟
- linux配置基於ip的虛擬主機Linux
- Nginx配置之基於域名的虛擬主機Nginx
- 編寫易於理解的程式碼
- 基於圖的推薦演算法之Personal PageRank程式碼實戰演算法
- 寫作業系統之開發引導扇區作業系統
- 基於 LNMP 的 Nginx 百萬併發之路 (三)基於域名的虛擬主機LNMPNginx
- 安卓之USB主機(Host)與配件(Accessory)模式安卓模式
- 一些程式碼寫法推薦
- 基於RabbitMQRPC實現的主機非同步管理MQRPC非同步
- 實現基於內容的電影推薦系統—程式碼實現
- 基於51微控制器的智慧溫控風扇
- USB PD和USB TYPE-C 的區別
- [005][x86組合語言]開發環境配置:硬碟主引導扇區程式碼:顯示標號偏移地址 基礎Bochs除錯命令...組合語言開發環境硬碟除錯
- 基於深度學習的圖書管理推薦系統(附python程式碼)深度學習Python
- Nginx 虛擬主機配置的三種方式(基於域名)Nginx
- JavaScript 獲取主機名程式碼JavaScript
- 基於python編寫的天氣抓取程式Python
- 基於物件特徵的推薦物件特徵
- 用 vue 寫小程式,基於 mpvue 框架重寫 weuiVue框架UI
- 基於 Lua 寫一個爬蟲程式爬蟲
- USB 4規範標準正式釋出 基於USB 4的裝置即將上市
- 基於Apriori關聯規則的電影推薦系統(附python程式碼)Python
- 美國雲主機與傳統虛擬主機的區別
- 基於簡訊的手機控制程式
- 主機板bios中找不到USB-hdd選項怎麼辦?主機板bios中找不到usb-hdd選項的解決方法iOS
- 不利於寫出好程式碼的15個職場因素