Hi all.
Searching google and the mailing list, I haven't found an explicit answer
to my problem. Here goes:
I'm trying to test SD logging max write speed on a shimmer2r. I've tried
using the FatFS but got unsatisfying results.
So, I decided to write directly to the SD. Using a simple application (see
code below), I found that the max rate of SD writing is about 20kB/s. Is
that it? is this the maximum rate possible? I was hoping to get at least
0.5 or 1 MB/s. Any suggestions?
Happy new year to you all...
Here is my test code...
-----------------TestSDP.nc-------------------
#include "TestSD.h"
module TestSDP{
uses{
interface Leds;
interface Boot;
interface SD;
interface StdControl as SDStdControl;
}
}
implementation{
uint8_t resetData[SECTOR_SIZE], dummyData[SECTOR_SIZE];
int8_t data=0xff;
uint32_t beginSector=1000000, numOfIt=20000, currSector;
//Using numOfIt=20000, it took the application 17 min and 47 sec to
run,
//from which 8 min and 51 sec to write dummyData.
//The rest of the time the application Formated the sectors.
//This means writing at about 20kB/s
event void Boot.booted(){
call Leds.led2Toggle();
call SDStdControl.start();
memset(resetData, 0, SECTOR_SIZE);
memset(dummyData, data, SECTOR_SIZE);
call Leds.led2Toggle();
}
void FormatSectors()
{
uint32_t i=0;
currSector=beginSector;
for (i=0; i<numOfIt; i++, currSector++)
{
call SD.writeBlock(currSector, resetData);
}
}
void WriteDummyData()
{
uint32_t i=0;
currSector=beginSector;
for (i=0; i<numOfIt; i++, currSector++)
{
call SD.writeBlock(currSector, dummyData);
}
}
async event void SD.available(){
call Leds.led0Toggle();
FormatSectors();
call Leds.led0Toggle();
call Leds.led1Toggle();
WriteDummyData();
call Leds.led1Toggle();
call Leds.led2Toggle();
}
async event void SD.unavailable(){
}
}
-----------------TestSDC.nc-------------------
configuration TestSDC{
}
implementation{
components MainC, LedsC, SDC, TestSDP as app;
app.Boot -> MainC.Boot;
app.Leds -> LedsC;
app.SD -> SDC;
app.SDStdControl -> SDC;
}
-----------------TestSD.h-------------------
#ifndef TEST_SD_H
#define TEST_SD_H
#define SECTOR_SIZE 512
#endif /* TEST_SD_H */
Best
Avishay
--
Best
Avishay
_______________________________________________
Shimmer-users mailing list
[email protected]
https://lists.eecs.harvard.edu/mailman/listinfo/shimmer-users