On Tue, Jan 1, 2013 at 12:51 AM, Avishay Meron < avishay.me...@mail.huji.ac.il> wrote:
> Hi Eric. > Thank you very much for you quick response. > I guess I need to dig up. I'm using defaults... > Anyway, I assume the default configurations you refer to are not set to > about 20 times lower than max possible. > The key is to figure out exactly how the h/w is being programmed. If you send me a pointer to your tree I'd be happy to look. > 20 is the factor of improvement I'm looking for (at least!). > I hope I'm not chasing pavements here... > Not sure how one goes about chasing pavements :-) > > On Tue, Jan 1, 2013 at 5:32 AM, Eric Decker <cire...@gmail.com> wrote: > >> >> How fast are you clocking the 1611 cpu? >> >> How fast are you clocking the SPI feeding the SD card? >> >> That will tell you the max theoretical rate you can transfer data. >> >> The high data rates to the SD assume the parallel 4 bit wide SD protocol >> rather than the SPI single bit stream that is probably used on the Shimmer >> or on my cards. >> >> >> On Mon, Dec 31, 2012 at 2:55 PM, Avishay Meron < >> avishay.me...@mail.huji.ac.il> wrote: >> >>> 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 >>> >>> _______________________________________________ >>> Tinyos-help mailing list >>> Tinyos-help@millennium.berkeley.edu >>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help >>> >> >> >> >> -- >> Eric B. Decker >> Senior (over 50 :-) Researcher >> >> > > > -- > Best > Avishay > -- Eric B. Decker Senior (over 50 :-) Researcher
_______________________________________________ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help