با سلام
من مدتی در مورد سرعت نوشتن و خواندن روی مموری کارتهای SDHC با ARM دارم تحقیق میکنم ...
اگه دوستان به من کمک کنن خیلی خوب میشه ... تا بحال چنین چیزی توی اینترنت ندیدم
توی نرم افزار keil مسیر زیر
C:\Keil\ARM\Boards
برای میکروها بوردهای مختلف سورس کدی برای کار با مموری کارت هم هست مثلا برای lpc1768 توی مسیر زیر یه کد هست:
C:\Keil\ARM\Boards\Keil\MCB1700\RL\FlashFS\SD_File
اگه میتونید و حوصله دارید این کد رو دست کاری کنید بریزید روی میکرو ببینید سرعت write چقدره
برای سادگی کد میتونید یه تابع بنویسید به این شکل زیر:
کد:
void writeTest(void){
FILE *ff;
unsigned long counter;
unsigned char buf[512];
ff = fopen ("a.txt", "w");
for(counter=0;counter<102400;counter++){
fwrite (&buf[0], 1, sizeof(buf), ff);
}
fflush(ff);
fclose(ff);
}
فقط کافیه یه جایی این تابع رو صدا کنید تا میکرو شروع کنه یه فایل 50MB درست کنه
قبل و بعدش یه led ست کنید یا هر چی بعد از فراخوانی زمان بگیری چند ثانیه یا دقیقه طول میکشه
زیاد دقیق لازم نیست در حد یکی دو ثانیه خطا هم مهم نیست
من تابحال با lpc2378 اینکار رو کردم حداکثر سرعت نوشتن به 1.5MBps رسیده البته اگه بکشمش یکم بیشتر هم میشه ولی الان داره یه کار کوچولو هم میکنه
با lpc1768 هم اینکار رو کردم دقیق یادم نیست ولی حدود 500KBps بود (چون سخت افزار مموری کارت رو نداره)
شما اگه بتونید با st32f103 و stm32f407 و .... هر موجود دیگه این کار رو انجام بدید خیلی کمک کردید
راستی این موضوع به نوع مموری کارت شدیدا وابستگی داره ... اگه آماری رو ارائه میدید با ظرفیت، کلاس و برند مموری کارت بگید دیگه عالی میشه
ممنون