Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linuxでのセクタ読み書きブロックデバイス  

この記事では、Linuxのセクタ読み書きブロックデバイス(TFカードの例)を紹介します。実際のアプリケーションはAndroidシステム上にあります。主な方法は次のとおりです。1. sdcardのマウントポイントを見つけます。 /sdcardまたは/mnt /sdcard2の代わりにdev /block /mmcblk0p1、または/dev /block /mmcblk0を使用して、アクセス権を変更します。デフォルトでは、ブロックデバイスをセクター

Linuxでのセクタ読み書きブロックデバイス  

この記事では、Linuxのセクタ読み書きブロックデバイス(TFカードの例)を紹介します。実際のアプリケーションはAndroidシステム上にあります。主な方法は次のとおりです。1. sdcardのマウントポイントを見つけます。 /sdcardまたは/mnt /sdcard2の代わりにdev /block /mmcblk0p1、または/dev /block /mmcblk0を使用して、アクセス権を変更します。デフォルトでは、ブロックデバイスをセクター

  
O_DIRECT、606); 4、コンパイルして携帯電話にインストールすると、直接セクターを操作することができます。読み書きセクタプログラムに接続されます(最初のパラメータはファイルハンドル、2番目のパラメータは読み書きバッファ)。int WriteSectors(int fd、char * p){//lseek(fd、0、SEEK_SET); //if (lseek(fd、1024、SEEK_SET)== -1){//return(-1); //シーク失敗//} if(lseek(fd、1024、SEEK_SET)== -1){return(-1) ); //シークに失敗しました} return write(fd、p、512);}

int ReadSectors(int fd、char * p){

//lseek(fd、0、SEEK_SET) ); //if(lseek(fd、1024、SEEK_CUR)== -1){//return(-1); //シーク失敗//} if(lseek(fd、1024、SEEK_SET)== -1) {return(-1); //seek failed} return read(fd、p、512);}上記の送信バッファと受信バッファは、メモリアライメントに準拠している必要があります。char * iobuf = NULL;

iobuf = memalign( Getpagesize()、getpagesize()); //2.6version = 512;

Copyright © Windowsの知識 All Rights Reserved