first 2016/02 SDFileSystemDMA inherited from Official SDFileSystem.

Dependents:   SDFileSystemDMA-test DmdFullRGB_0_1

Fork of SDFileSystemDMA by mi mi

SDFileSystemDMA is enhanced SDFileSystem library for STM32 micros by using DMA functionality.
Max read transfer rate reaches over 2MByte/sec at 24MHz SPI clock if enough read buffer size is set.
Even though minimum read buffer size (512Byte) is set, read transfer rate will reach over 1MByte/sec at 24MHz SPI Clock.
( but depends on the ability of each SD card)

Test program is here.
https://developer.mbed.org/users/mimi3/code/SDFileSystemDMA-test/

/media/uploads/mimi3/sdfilesystemdma-speed-test3-read-buffer-512byte.png

/media/uploads/mimi3/sdfilesystemdma-speed-test-buffer-vs-spi-clock-nucleo-f411re-96mhz.png

Supported SPI port is shown below table.

(v): Verified. It works well.
(w): Probably it will work well. (not tested)
(c): Only compiled. (not tested)
(f): Over flash.
(r): Only read mode. (when _FS_READONLY==1)
(u) Under construction
(z): Dose not work.

Caution

If your board has SRAM less than or equal to 8KB, the buffer size must be set to 512 Bytes.

Supported Boards:
Cortex-M0

BoardSRAMSPI1SPI2SPI3
NUCLEO-F030R88KB(v)
DISCO-F051R88KB(w)
NUCLEO-F031K64KB(f)
NUCLEO-F042K66KB(r)
NUCLEO-F070RB16KB(w)
NUCLEO-F072RB16KB(w)
NUCLEO-F091RC32KB(c)

Cortex-L0

BoardSRAMSPI1SPI2SPI3
DISCO-L053C88KB(c)
NUCLEO-L053R88KB(c)
NUCLEO-L073RZ20KB(c)

Cortex-M3

BoardSRAMSPI1SPI2SPI3
DISCO-F100RB8KB(v)(v)-
BLUEPILL-F103CB20KB(w)(w)-
NUCLEO-F103RB20KB(v)(v)-
NUCLEO-L152RE80KB(v)(w)-
MOTE-L152RC32KB(w)(w)-

Cortex-M4
F3

BoardSRAMSPI1SPI2SPI3
DISCO-F303VC40KB-(v)(v)
NUCLEO-F303RE64KB(w)(w)(w)
NUCLEO-F302R816KB--(c)
NUCLEO-F303K812KB(c)--
DISCO-F334C812KB(c)--
NUCLEO-F334R812KB(c)--

F4

BoardSPI1SPI2SPI3
ELMO-F411RE(w)-(w)
MTS-MDOT-F411RE(u)-(u)
MTS-DRAGONFLY-F411RE(w)-(w)
NUCLEO-F411RE(v)-(v)
NUCLEO-F401RE(w)-(w)
MTS-MDOT-F405RG(u)-(u)
NUCLEO-F410RB(c)-(c)
NUCLEO-F446RE(c)-(c)
NUCLEO-F429ZI(c)-(c)
B96B-F446VE(c)-(c)
NUCLEO-F446ZE(c)-(c)
DISCO-F429ZI(u)-(u)
DISCO-F469NI(c)-(c)

Information

This library is set to use "short file name" in SDFileSystemDMA/FATFileSystem/ChaN/ffconf.h . ( _USE_LFN=0)
You can change this option to _USE_LFN=1 .

Changes

RevisionDateWhoCommit message
38:7077795dbf81 2017-01-22 mimi3 change: table.md default tip
37:844a602e6edf 2017-01-22 mimi3 Silent: warning
36:e44163516d13 2016-08-30 dinau Update: table.md
35:4ecb46c4d9ad 2016-08-30 dinau Added: TARGET_STM32L4
34:b065d97cb70f 2016-08-29 dinau Fixed: Error messages when set _FS_READONLY==1
33:73237494298b 2016-08-29 dinau Updated: F3 boards.
32:49edbe5337d6 2016-08-27 dinau update: Web page
31:cfad42bb789a 2016-08-27 dinau Fixed: Compile error at mbed os 5
30:dde6a5f67add 2016-08-27 dinau added: Support some L0 boards (compile only)
29:5375c51d0cfc 2016-02-23 mimi3 Aded: Multi sector read functionality.
28:dfef1e7f08c9 2016-02-20 mimi3 mod: table.md 2015/02
27:a9d19b780770 2016-02-20 mimi3 fixed: F1: SPI bug
26:fd7d88d7a4a2 2016-02-17 mimi3 added:wiki data
25:f6aa2b6ff6c1 2016-02-17 mimi3 Enable: F1: SPI1,SPI2
24:92bf692d61e2 2016-02-17 mimi3 Enable: F3: SPI1, SPI2,SPI3
23:e3f06b3cc366 2016-02-17 mimi3 Enable: F4: SPI1,SPI3
22:4c4d388f377f 2016-02-17 mimi3 For F3: Generalize SPI device name.
21:41129109d6ab 2016-02-16 mimi3 For F0,F1,F4: Generalize SPI device name.
20:c6a6e019922e 2016-02-15 mimi3 Refactoring: F4 Part2
19:3fdd401607c8 2016-02-15 mimi3 Refactoring: F0 Part2
18:1b1a0e68008a 2016-02-15 mimi3 Refactoring: part1: F0,F3,F4
17:e6d3b7ed3799 2016-02-15 mimi3 DMA Write OK
16:561da9cd6d43 2016-02-14 mimi3 so far
15:4b0ce6f59b8c 2016-02-14 mimi3 Quiet warning
14:b26f3b332190 2016-02-14 mimi3 so far
13:22782e5a8645 2016-02-14 mimi3 update
12:0ecbad5c828b 2016-02-14 mimi3 mod: .hgignore
11:1bd08e042427 2016-02-14 mimi3 merge
10:b48d3ace55db 2016-02-14 mimi3 added: FATFileSystem
9:367773f8eba4 2016-02-14 mimi3 fix: compile error
8:dc1dac5c7abd 2016-02-14 mimi3 split F3 files
7:681186dbb29f 2016-02-14 mimi3 so far
6:3f25251e2b78 2016-02-14 mimi3 In case STM32F3, use SPI3.
5:809e2eece945 2016-02-14 mimi3 DISCO-F303VC: OK. Verified
4:a6ed1fe0c444 2016-02-13 mimi3 mod
3:23e0dcc750fe 2016-02-13 mimi3 Quiet warning ?
2:0e871408d51b 2016-02-13 mimi3 split files for each model
1:414af6c04d16 2016-02-12 mimi3 fixed: Compile error NUCLEO-F09RC
0:853a612ffb16 2016-02-12 mimi3 added: FATFileSystem(Official version(latest))