Linux下按扇區讀寫塊裝置

2022-03-29 08:21:11 字數 758 閱讀 1626

本文介紹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向...