Zynq_Mp----SSDファイルの読み書き速度をテストする
1577 ワード
SSDを使用する場合、まずLinuxシステムによって/dev/sdaデバイスファイルノードが識別され、以下がテスト手順である.
① mkfs.vfat -F 32 /dev/sda
② mount /dev/sda /mnt
③cd/mntはmntディレクトリに入り、SSDディレクトリに入ることに相当する
int gettimeofday(struct timeval tv,struct timezone*tz)この関数は、今日未明から現在までの時間差を取得するために使用され、イベントの消費時間によく使用されます.
struct timeval { int tv_sec;int tv_usec;}
linuxテスト時間差のプログラムは以下の通りです.
マウント/dev/sda
① mkfs.vfat -F 32 /dev/sda
② mount /dev/sda /mnt
③cd/mntはmntディレクトリに入り、SSDディレクトリに入ることに相当する
テスト時間
int gettimeofday(struct timeval tv,struct timezone*tz)この関数は、今日未明から現在までの時間差を取得するために使用され、イベントの消費時間によく使用されます.
struct timeval { int tv_sec;int tv_usec;}
linuxテスト時間差のプログラムは以下の通りです.
double GetTime(void)
{
struct timeval t;
gettimeofday(&t, NULL);
return (t.tv_sec + 1E-6 * t.tv_usec);
}
読み書き速度のプログラム
#include
#include
#include
#define DATA_SIZE 1024*1024*1024
#define M_DATA_SIZE 1024*1024
double GetTime(void)
{
struct timeval t;
gettimeofday(&t, NULL);
return (t.tv_sec + 1E-6 * t.tv_usec);
}
int main()
{
unsigned int i;
unsigned int SSDReadRate = 0;
unsigned int SSDWriteRate = 0;
double TimeReadStart = 0.00;
double TimeReadTotal = 0.00;
double TimeWriteStart = 0.00;
double TimeWriteTotal = 0.00;
unsigned char SSDReadData[1024] = {0};
unsigned char SSDWriteData[1024] = {0};
FILE *pWrite_FILE = NULL;
FILE *pRead_FILE = NULL;
for(i=0; i<1024; i++)
{
SSDWriteData[i] = i % (0xFF);
}
//Write Process
TimeWriteStart = GetTime();
pWrite_FILE = fopen("SSD_Write.bin", "wb+");
for(i=0; i