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