MLECO-3659: Improvement for NPU PMU counters

The NPU idle count could have been erraneously high as
the counters were always running. This change utilises
callback functions to start/stop the counters only when
the inferences start/stop executing on the NPU.

Changes have been made to cache maintenance functions
called from within the NPU driver's pipeline to reduce
the overhead caused by these.

Change-Id: I69db0d3b3f3fe5b2847e15b5c3096cb1e0484176
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
diff --git a/build_default.py b/build_default.py
index 387e9ba..e35aa1c 100755
--- a/build_default.py
+++ b/build_default.py
@@ -122,6 +122,7 @@
         + f" -DCMAKE_TOOLCHAIN_FILE={cmake_toolchain_file}"
         + f" -DETHOS_U_NPU_ID={ethos_u_cfg.ethos_u_npu_id}"
         + f" -DETHOS_U_NPU_CONFIG_ID={ethos_u_cfg.ethos_u_config_id}"
+        + f" -DTENSORFLOW_LITE_MICRO_CLEAN_DOWNLOADS=ON"
     )
 
     logging.info(f"\n\n\n{cmake_command}\n\n\n")