diff options
-rw-r--r-- | libraries/libprof/README.txt | 4 | ||||
-rw-r--r-- | libraries/libprof/profil.c | 2 |
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]++; |