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:
- 1:b000ac168e46
- Parent:
- 0:b77503796c51
- Child:
- 2:ddc1aa3bea3d
--- a/main.cpp Wed Mar 11 15:33:03 2015 +0000 +++ b/main.cpp Thu Mar 12 09:25:33 2015 +0100 @@ -270,6 +270,24 @@ } static bool prepare() { + RtosLog* log = DMBoard::instance().logger(); + + // make sure that the linker actually placed the data in the + // correct flashes + for (int i = 0; i < NUM_BENCHMARKS; i++) { + if (BENCHMARK_INPUT[i].iflash_direct != NULL) { + uint32_t tmp = (uint32_t)BENCHMARK_INPUT[i].iflash_direct; + if ((tmp & 0xff000000) != 0x00000000) { + log->printf("IFLASH data for benchmark %d is at 0x%08x NOT in IFLASH!! Aborting\n", i, tmp); + return false; + } + tmp = (uint32_t)BENCHMARK_INPUT[i].qspi_direct; + if ((tmp & 0xff000000) != 0x28000000) { + log->printf("QSPI data for benchmark %d is at 0x%08x NOT in QSPI!! Aborting\n", i, tmp); + return false; + } + } + } return prepareMCI() && prepareUSB() && prepareQSPIFS(); } @@ -409,7 +427,6 @@ DMBoard::BoardError err; DMBoard* board = &DMBoard::instance(); RtosLog* log = board->logger(); - Display* disp = board->display(); do { err = board->init();