cancel
Showing results for 
Search instead for 
Did you mean: 

stm32 Embedded File System demo / browsing your SD card

newnesr
Associate II
Posted on January 11, 2010 at 10:57

stm32 Embedded File System demo / browsing your SD card

15 REPLIES 15
hg-chen
Associate II
Posted on May 17, 2011 at 12:35

Is the one that support pen drive available?

domen2
Associate III
Posted on May 17, 2011 at 12:35

First of all, thank you! Porting this on another stm32 board was a piece of cake.

Which EFSL version is this based on? Latest is 0.3.6, but looking at ui.c:rmfile() suggests the attached efsl is newer?

Just FYI, at 15 MHz SPI clock I get the following on an old 16 MB card:

- 31 kB/s write speed

- 410 kB/s read speed

domen2
Associate III
Posted on May 17, 2011 at 12:35

Just a benchmark update:

Changing 16 MB card with a 256 MB increased performance (esp. write!) to:

- 250 kB/s write

- 412 kB/s read

And then changing if_spiSend to directly use registers instead of calls, and addition of if_spiSendBlock for 512 B blocks further increased that to:

- 358 kB/s write

- 875 kB/s read

:D

domen2
Associate III
Posted on May 17, 2011 at 12:35

SPI_Config() of efsl/source/interface/stm32f10x_spi.c

And a bug that was not easy to track down, since I assumed the code is correct ;)

696 SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;

697 SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;

should be changed to (spi mode 0):

696 SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;

697 SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;

to conform to SD card specs.

jj
Associate II
Posted on May 17, 2011 at 12:35

@domen,

Thank you - such benchmarks are always valuable - always appreciated.

Bug detection/fix are hugely valuable - thanks for your clear presentation.

Client reported that they used EFSL - and had success ''without'' catching n
trevor1
Associate II
Posted on May 17, 2011 at 12:35

Is EFSL power loss resilient? i.e. can power be removed (or processor reset) while something is in the process of being written and not corrupt the file system (obviously what is being written at the time of reset will be lost)?

Regards

Trevor