本文介紹linux下按扇區讀寫塊裝置(示例tf卡),實際應用是在android系統上,主要方法如下:
1、找到sdcard的掛載點,在android2.1系統下應該為/dev/block/mmcblk0p1,或是/dev/block/mmcblk0,而不是/sdcard或/mnt/sdcard
2、修改許可權,預設是沒有許可權按扇區讀寫塊裝置的(下文開啟控制代碼為空),連線手機到計算機,通過adb shell進入手機,將/dev/block/mmcblk0p1許可權設定成777,命令如下:
chmod 777 -r /dev/block/mmcblk0p1
3、編寫讀寫程式,示例**如下
int fd = open("/dev/block/mmcblk0", o_rdwr|o_direct,606);
4、編譯並安裝到手機上,就可以對扇區直接操作。
附讀寫扇區程式(引數第乙個是檔案控制代碼,第二個是讀寫緩衝區):
int writesectors(int fd, char *p)
if (lseek(fd, 1024 ,seek_set) == -1 )
return write(fd, p, 512);
}int readsectors(int fd, char *p)
if (lseek(fd, 1024 ,seek_set) == -1 )
return read(fd, p, 512);
}上面的傳送接收緩衝區必須符合記憶體對齊:
char* iobuf = null;
C 讀寫分割槽(按扇區)
使用方式 zgke.driverloader t new zgke.driverloader c byte temp t.readsector 0 messagebox.show t.getstring temp using system using system.collections.gener...
按塊方式讀寫檔案
fwrite函式 向檔案中按塊寫入資料 fread函式 向檔案中按塊讀取資料 如果向檔案中寫入的是自定義結構體資訊,那麼開啟記事本是亂碼,不代表寫入不正確 define crt secure no warnings include include include typedef struct stu...
Linux塊裝置驅動
塊裝置提供塊裝置提供裝置的訪問,裝置的訪問,可以隨機的以固定大小的塊傳輸資料,例如我們最為常見的磁碟裝置,當然塊裝置和字元裝置有較大差別,塊裝置有自己的驅動介面。簡單來說,核心決定乙個塊是固定的4096 位元組,當然該值可以隨著依賴檔案系統的變化而改變。塊裝置驅動採用register blkdev向...