first
Dependencies: SDFileSystemDMA mbed
Refer to:
https://developer.mbed.org/users/mimi3/code/SDFileSystemDMA
Caution
If your board has SRAM less than or equal to 8KB, the 'buffer' size must be set to 512 Bytes.
NUCLEO-F411RE
About 2.5MBytes/sec
NUCLEO-L152RE
About 1MBytes/sec
spi_device.h@11:d5fc11ac948a, 2016-02-21 (annotated)
- Committer:
- mimi3
- Date:
- Sun Feb 21 21:25:55 2016 +0900
- Revision:
- 11:d5fc11ac948a
- Parent:
- 9:289de1b6d378
- Child:
- 14:a8d42e636b7d
added: __attribute__ ((aligned (4)))
and refatoring.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mimi3 | 9:289de1b6d378 | 1 | |
mimi3 | 9:289de1b6d378 | 2 | /* SD card Interface connection |
mimi3 | 9:289de1b6d378 | 3 | * : aitendo : General |
mimi3 | 9:289de1b6d378 | 4 | * MCU sig. : IFB-254-SD : PIN name |
mimi3 | 9:289de1b6d378 | 5 | --- : 1 : 9 dat2 |
mimi3 | 9:289de1b6d378 | 6 | CS : 2 : 1 cs/dat3 |
mimi3 | 9:289de1b6d378 | 7 | MOSI : 3 : 2 di/cmd |
mimi3 | 9:289de1b6d378 | 8 | GND : 4 : 3 vss1 |
mimi3 | 9:289de1b6d378 | 9 | VCC : 5 : 4 vdd |
mimi3 | 9:289de1b6d378 | 10 | CLK : 6 : 5 clk |
mimi3 | 9:289de1b6d378 | 11 | GND : 7 : 6 vss2 |
mimi3 | 9:289de1b6d378 | 12 | MISO : 8 : 7 do/dat0 |
mimi3 | 9:289de1b6d378 | 13 | --- : 9 : 8 dat1 |
mimi3 | 9:289de1b6d378 | 14 | --- : 10 : 11 wp |
mimi3 | 9:289de1b6d378 | 15 | --- : 11 : 10 cd1 |
mimi3 | 9:289de1b6d378 | 16 | --- : 12 : - case GND |
mimi3 | 9:289de1b6d378 | 17 | */ |
mimi3 | 9:289de1b6d378 | 18 | |
mimi3 | 9:289de1b6d378 | 19 | #define SPI_DEV 1 |
mimi3 | 9:289de1b6d378 | 20 | |
mimi3 | 9:289de1b6d378 | 21 | #if defined(TARGET_NUCLEO_F411RE)|| defined(TARGET_F401RE) |
mimi3 | 9:289de1b6d378 | 22 | #define CS D10 /* PB_6 */ |
mimi3 | 9:289de1b6d378 | 23 | #if SPI_DEV==1 |
mimi3 | 9:289de1b6d378 | 24 | /* SPI1 */ |
mimi3 | 9:289de1b6d378 | 25 | #define MOSI D11 /* PA_7 */ |
mimi3 | 9:289de1b6d378 | 26 | #define MISO D12 /* PA_6 */ |
mimi3 | 9:289de1b6d378 | 27 | #define SCLK D13 /* PA_5 */ |
mimi3 | 9:289de1b6d378 | 28 | #elif SPI_DEV==3 |
mimi3 | 9:289de1b6d378 | 29 | /* SPI3 */ |
mimi3 | 9:289de1b6d378 | 30 | #define MOSI D4 /* PB_5 */ |
mimi3 | 9:289de1b6d378 | 31 | #define MISO D5 /* PB_4 */ |
mimi3 | 9:289de1b6d378 | 32 | #define SCLK D3 /* PB_3 */ |
mimi3 | 9:289de1b6d378 | 33 | #else |
mimi3 | 9:289de1b6d378 | 34 | #error |
mimi3 | 9:289de1b6d378 | 35 | #endif |
mimi3 | 9:289de1b6d378 | 36 | #endif |
mimi3 | 9:289de1b6d378 | 37 | |
mimi3 | 9:289de1b6d378 | 38 | #if defined(TARGET_DISCO_F303VC) || defined(TARGET_NUCLEO_F303RE) |
mimi3 | 9:289de1b6d378 | 39 | #define CS PC_9 |
mimi3 | 9:289de1b6d378 | 40 | /* SPI3 */ |
mimi3 | 9:289de1b6d378 | 41 | #if SPI_DEV==3 |
mimi3 | 9:289de1b6d378 | 42 | #define MOSI PC_12 |
mimi3 | 9:289de1b6d378 | 43 | #define MISO PC_11 |
mimi3 | 9:289de1b6d378 | 44 | #define SCLK PC_10 |
mimi3 | 9:289de1b6d378 | 45 | #elif SPI_DEV==2 |
mimi3 | 9:289de1b6d378 | 46 | /* SPI2 */ |
mimi3 | 9:289de1b6d378 | 47 | #define MOSI PB_15 |
mimi3 | 9:289de1b6d378 | 48 | #define MISO PB_14 |
mimi3 | 9:289de1b6d378 | 49 | #define SCLK PB_13 |
mimi3 | 9:289de1b6d378 | 50 | #else |
mimi3 | 9:289de1b6d378 | 51 | #error |
mimi3 | 9:289de1b6d378 | 52 | #endif |
mimi3 | 9:289de1b6d378 | 53 | #endif |
mimi3 | 9:289de1b6d378 | 54 | |
mimi3 | 9:289de1b6d378 | 55 | #if defined(TARGET_DISCO_F100RB) |
mimi3 | 9:289de1b6d378 | 56 | #define CS PB_12 |
mimi3 | 9:289de1b6d378 | 57 | /* SPI1 */ |
mimi3 | 9:289de1b6d378 | 58 | #if SPI_DEV==1 |
mimi3 | 9:289de1b6d378 | 59 | #define MOSI PA_7 |
mimi3 | 9:289de1b6d378 | 60 | #define MISO PA_6 |
mimi3 | 9:289de1b6d378 | 61 | #define SCLK PA_5 |
mimi3 | 9:289de1b6d378 | 62 | #elif SPI_DEV==2 |
mimi3 | 9:289de1b6d378 | 63 | /* SPI2 */ |
mimi3 | 9:289de1b6d378 | 64 | #define MOSI PB_15 |
mimi3 | 9:289de1b6d378 | 65 | #define MISO PB_14 |
mimi3 | 9:289de1b6d378 | 66 | #define SCLK PB_13 |
mimi3 | 9:289de1b6d378 | 67 | #else |
mimi3 | 9:289de1b6d378 | 68 | #error |
mimi3 | 9:289de1b6d378 | 69 | #endif |
mimi3 | 9:289de1b6d378 | 70 | #endif |
mimi3 | 9:289de1b6d378 | 71 | |
mimi3 | 9:289de1b6d378 | 72 | #if defined(TARGET_NUCLEO_F103RB) |
mimi3 | 9:289de1b6d378 | 73 | /* SPI1 */ |
mimi3 | 9:289de1b6d378 | 74 | #if SPI_DEV==1 |
mimi3 | 9:289de1b6d378 | 75 | #define CS PB_8 |
mimi3 | 9:289de1b6d378 | 76 | #define MOSI PA_7 |
mimi3 | 9:289de1b6d378 | 77 | #define MISO PA_6 |
mimi3 | 9:289de1b6d378 | 78 | #define SCLK PA_5 |
mimi3 | 9:289de1b6d378 | 79 | #elif SPI_DEV==2 |
mimi3 | 9:289de1b6d378 | 80 | /* SPI2 */ |
mimi3 | 9:289de1b6d378 | 81 | #define CS PD_2 |
mimi3 | 9:289de1b6d378 | 82 | #define MOSI PB_15 |
mimi3 | 9:289de1b6d378 | 83 | #define MISO PB_14 |
mimi3 | 9:289de1b6d378 | 84 | #define SCLK PB_13 |
mimi3 | 9:289de1b6d378 | 85 | #else |
mimi3 | 9:289de1b6d378 | 86 | #error |
mimi3 | 9:289de1b6d378 | 87 | #endif |
mimi3 | 9:289de1b6d378 | 88 | #endif |
mimi3 | 9:289de1b6d378 | 89 | |
mimi3 | 9:289de1b6d378 | 90 | |
mimi3 | 11:d5fc11ac948a | 91 | #if defined(TARGET_STM32F0) || defined(TARGET_NUCLEO_L152RE) |
mimi3 | 11:d5fc11ac948a | 92 | #define MOSI D4 /* PB_5 */ |
mimi3 | 11:d5fc11ac948a | 93 | #define MISO D5 /* PB_4 */ |
mimi3 | 11:d5fc11ac948a | 94 | #define SCLK D3 /* PB_3 */ |
mimi3 | 11:d5fc11ac948a | 95 | #define CS D10 /* PB_6 */ |
mimi3 | 9:289de1b6d378 | 96 | #endif |
mimi3 | 9:289de1b6d378 | 97 | |
mimi3 | 9:289de1b6d378 | 98 |