aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libraries/libprof/README.txt4
-rw-r--r--libraries/libprof/profil.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/libraries/libprof/README.txt b/libraries/libprof/README.txt
index da138c2..9db27a6 100644
--- a/libraries/libprof/README.txt
+++ b/libraries/libprof/README.txt
@@ -53,8 +53,8 @@ In the OpenOCD console, enable semihosting:
In the CLI, type `profile start`, then start the unit test or whatever
will be exercising the hsm. Afterwards, in the CLI, type `profile stop`.
-After invoking `profile stop`, it takes almost 2 minutes to write gmon.out
-over OpenOCD to the host.
+After invoking `profile stop`, it can take several minutes to write
+gmon.out over OpenOCD to the host.
In the projects/hsm directory, run gprof to analyse the gmon.out file:
diff --git a/libraries/libprof/profil.c b/libraries/libprof/profil.c
index 07761dd..004af77 100644
--- a/libraries/libprof/profil.c
+++ b/libraries/libprof/profil.c
@@ -30,7 +30,7 @@ extern void set_SysTick_hook(void (*hook)(void));
/* sample the current program counter */
static void SysTick_hook(void) {
- size_t pc = (size_t)((uint32_t *)__get_MSP())[5];
+ size_t pc = (size_t)((uint32_t *)__get_MSP())[7];
if (pc >= prof.lowpc && pc < prof.highpc) {
size_t idx = PROFIDX (pc, prof.lowpc, prof.scale);
prof.counter[idx]++;