MLECO-1910: Fix for CPU counter difference

Fixed the CPU counter being truncated by the diff function's return type.

Change-Id: I9417dbc9da357f8593b67c3a94620ac6e62eddbf
diff --git a/.gitignore b/.gitignore
index 2a80d95..70914be 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,8 +10,8 @@
 
 # Build files
 CMakeFiles
-build
-cmake-build-*
+build*/
+cmake-build-*/
 
 # Virtual environments
 scripts/py/env*
diff --git a/source/application/hal/include/timer.h b/source/application/hal/include/timer.h
index 4a09fd4..426a42f 100644
--- a/source/application/hal/include/timer.h
+++ b/source/application/hal/include/timer.h
@@ -54,7 +54,7 @@
     time_t (* get_duration_us)(time_counter *start, time_counter *end);
 
     /* Gets difference in CPU cycle counts. */
-    uint32_t (* get_cpu_cycle_diff)(time_counter *start, time_counter *end);
+    uint64_t (* get_cpu_cycle_diff)(time_counter *start, time_counter *end);
 
     /* Gets the difference in terms of cycle counts for collected pmu counters. */
     int (* get_npu_cycles_diff)(time_counter *start, time_counter *end,
diff --git a/source/application/hal/platforms/bare-metal/timer/baremetal_timer.c b/source/application/hal/platforms/bare-metal/timer/baremetal_timer.c
index 64f2376..cd17a60 100644
--- a/source/application/hal/platforms/bare-metal/timer/baremetal_timer.c
+++ b/source/application/hal/platforms/bare-metal/timer/baremetal_timer.c
@@ -146,7 +146,7 @@
  * @return  CPU cycle difference between given time counters expressed
  *          as unsigned 32 bit integer.
  **/
-static uint32_t bm_get_cpu_cycles_diff(time_counter *st, time_counter *end);
+static uint64_t bm_get_cpu_cycles_diff(time_counter *st, time_counter *end);
 
 /**
  * @brief       Initialiser for bare metal timer.
@@ -335,7 +335,7 @@
     return bm_get_time_counter();
 }
 
-static uint32_t bm_get_cpu_cycles_diff(time_counter *st, time_counter *end)
+static uint64_t bm_get_cpu_cycles_diff(time_counter *st, time_counter *end)
 {
     return get_cycle_count_diff(&(st->counter), &(end->counter));
 }