This commit is contained in:
2026-02-12 21:00:02 -08:00
parent 77f8236347
commit 8bdbf227ca
1141 changed files with 1010880 additions and 2 deletions

View File

@@ -0,0 +1,75 @@
#include "SPI.h"
#include "SD.h"
#include "SD_MMC.h"
#define PIN_AUDIO_KIT_SD_CARD_CS 13
#define PIN_AUDIO_KIT_SD_CARD_MISO 2
#define PIN_AUDIO_KIT_SD_CARD_MOSI 15
#define PIN_AUDIO_KIT_SD_CARD_CLK 14
uint8_t data[1024 * 100];
int len[] = { 1, 5, 10, 25, 100, 256, 512, 1024, 1024 * 10, 1024 * 100 };
size_t totalSize = 1024 * 1024 * 1;
const char* test_file = "/test.txt";
void testWrite(Stream& file, int writeSize, int totalSize) {
memset(data, 0, sizeof(data));
int32_t start = millis();
while (totalSize > 0) {
int written = file.write(data, min(writeSize, totalSize));
//Serial.println(written);
//assert(written > 0);
totalSize -= written;
}
}
void testRead(Stream& file, int readSize, int totalSize) {
memset(data, 0, sizeof(data));
while (totalSize > 0) {
int read = file.readBytes(data, min(readSize, totalSize));
//assert(read>0);
totalSize -= read;
}
}
void logTime(uint32_t start, int i, const char* name, const char* op) {
int32_t time = millis() - start;
float thru = (float)totalSize / (float)time / 1000.0;
Serial.printf("%s, %s, %d, %d, %f\n", op, name, i, time, thru);
}
template<typename SD, typename Open>
void testFS(const char* name, SD& sd, Open write, Open read) {
for (int i : len) {
int32_t start = millis();
auto file = sd.open(test_file, write);
file.seek(0);
assert(file);
testWrite(file, i, totalSize);
file.close();
logTime(start, i, name, "Write");
}
for (int i : len) {
int32_t start = millis();
auto file = sd.open(test_file, read);
assert(file);
testRead(file, i, totalSize);
file.close();
logTime(start, i, name, "Read");
}
sd.end();
}
void setup() {
Serial.begin(115200);
while (!SD_MMC.begin()) {
Serial.println("SDMMC error");
delay(1000);
}
testFS<fs::SDMMCFS, const char*>("SD_MMC", SD_MMC, FILE_WRITE, FILE_READ);
}
void loop() {}

View File

@@ -0,0 +1,40 @@
Write, SD, 1, 12813, 0.081837
Write, SD, 5, 4578, 0.229047
Write, SD, 10, 3550, 0.295374
Write, SD, 25, 2927, 0.358243
Write, SD, 100, 2623, 0.399762
Write, SD, 256, 2607, 0.402216
Write, SD, 512, 2571, 0.407848
Write, SD, 1024, 2601, 0.403143
Write, SD, 10240, 2531, 0.414293
Write, SD, 102400, 2451, 0.427816
Read, SD, 1, 13009, 0.080604
Read, SD, 5, 4538, 0.231066
Read, SD, 10, 3478, 0.301488
Read, SD, 25, 2845, 0.368568
Read, SD, 100, 2527, 0.414949
Read, SD, 256, 2463, 0.425731
Read, SD, 512, 2443, 0.429217
Read, SD, 1024, 2432, 0.431158
Read, SD, 10240, 2423, 0.432759
Read, SD, 102400, 2421, 0.433117
Write, SD_MMC, 1, 10605, 0.098876
Write, SD_MMC, 5, 2384, 0.439839
Write, SD_MMC, 10, 1313, 0.798611
Write, SD_MMC, 25, 728, 1.440352
Write, SD_MMC, 100, 391, 2.681780
Write, SD_MMC, 256, 351, 2.987396
Write, SD_MMC, 512, 313, 3.350083
Write, SD_MMC, 1024, 315, 3.328813
Write, SD_MMC, 10240, 215, 4.877098
Write, SD_MMC, 102400, 109, 9.619963
Read, SD_MMC, 1, 10703, 0.097970
Read, SD_MMC, 5, 2230, 0.470213
Read, SD_MMC, 10, 1171, 0.895453
Read, SD_MMC, 25, 537, 1.952656
Read, SD_MMC, 100, 219, 4.788018
Read, SD_MMC, 256, 155, 6.765007
Read, SD_MMC, 512, 135, 7.767230
Read, SD_MMC, 1024, 124, 8.456258
Read, SD_MMC, 10240, 115, 9.118052
Read, SD_MMC, 102400, 115, 9.118052