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.

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();