Program to benchmark the speed of the different file system options versus placing data directly into arrays.
Dependencies: DMBasicGUI DMSupport
This program is used to measure the performance of the different file system options on the LPC4088 Display Module.
The performance wiki page and more specifically the software part describes this program and the output.
As the program doesn't use the display at all it can be used on both the 4.3" and 5" display modules.
Diff: main.cpp
- Revision:
- 6:47b4bed9fa13
- Parent:
- 5:788710a95951
--- a/main.cpp Thu Mar 26 16:02:38 2015 +0000 +++ b/main.cpp Tue Nov 05 06:44:07 2019 +0000 @@ -264,6 +264,7 @@ }; static MCIFileSystem* mcifs; +static FATFileSystem* mciFatFs; static QSPIFileSystem* qspifs; static USBHostMSD* usbmsd; @@ -355,7 +356,9 @@ RtosLog* log = DMBoard::instance().logger(); bool ok = false; - mcifs = new MCIFileSystem("mci", P4_16); + mcifs = new MCIFileSystem(P4_16); + mciFatFs = new FATFileSystem("mci"); + mciFatFs->mount(mcifs); if (mcifs->cardInserted()) { log->printf("uSD card detected\n"); @@ -387,10 +390,11 @@ usbmsd = new USBHostMSD("usb"); USBHost* host = USBHost::getHostInst(); - host->signalOnConnections(Thread::gettid(), USBH_CONNECTION_EVENT); + EventFlags connectionEvent; + host->signalOnConnections(&connectionEvent, USBH_CONNECTION_EVENT); log->printf("waiting for connect/disconnect message from USBHost...\n"); - Thread::signal_wait(USBH_CONNECTION_EVENT); + connectionEvent.wait_any(USBH_CONNECTION_EVENT); if (usbmsd->connect()) { log->printf("USB MemoryStick detected\n"); @@ -953,7 +957,7 @@ break; } - log->printf("\n\nBenchmarking. (Built "__DATE__" at "__TIME__")\n\n"); + log->printf("\n\nBenchmarking. (Built " __DATE__ " at " __TIME__ ")\n\n"); log->printf("Preparing file systems for benchmarking\n"); if (!prepare()) { @@ -964,13 +968,13 @@ runReadBenchmarks(); runImageBenchmarks(); - Thread::wait(1000); + ThisThread::sleep_for(1000); log->printf("Press the USER button to run WRITE tests!\n"); while(!board->buttonPressed()) { - Thread::wait(20); + ThisThread::sleep_for(20); } while(board->buttonPressed()) { - Thread::wait(20); + ThisThread::sleep_for(20); } runWriteBenchmarks(); @@ -982,7 +986,7 @@ } while(true) { - Thread::wait(1000); + ThisThread::sleep_for(1000); } }