diff options
Diffstat (limited to 'libraries/libprof/README.txt')
-rw-r--r-- | libraries/libprof/README.txt | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/libraries/libprof/README.txt b/libraries/libprof/README.txt deleted file mode 100644 index f0bacc7..0000000 --- a/libraries/libprof/README.txt +++ /dev/null @@ -1,67 +0,0 @@ -Profiling the Cryptech Alpha -============================ - -Origin ------- - -This code was copied from https://github.com/ErichStyger/mcuoneclipse.git, -directory Examples/KDS/FRDM-K64F120M/FRDM-K64F_Profiling/Profiling, commit -9b7eedddd8b24968128582aedc63be95b61f782c, dated Mon Jan 9 16:56:17 2017 +0100. - -References ----------- - -I recommend reading both of these to understand how the profiling code works. - -[1]: https://mcuoneclipse.com/2015/08/23/tutorial-using-gnu-profiling-gprof-with-arm-cortex-m/ -"Tutorial: Using GNU Profiling (gprof) with ARM Cortex-M" - -[2]: http://bgamari.github.io/posts/2014-10-31-semihosting.html -"Semihosting with ARM, GCC, and OpenOCD" - -How to build ------------- - -From the top level, run - - $ make DO_PROFILING=1 hsm - -By default, all code is profiled, *except* the profiling code itself, -because that would cause fatal recursion. - -How to run ----------- - -You need to start OpenOCD on the host, and enable semihosting, at least -before you try to use it as a remote file system. - -I recommend executing the following in the projects/hsm directory, so that -gmon.out ends up in the same directory as hsm.elf. - -Start the debugger: - - $ ../../bin/debug hsm - -In another window, connect to OpenOCD: - - $ telnet localhost 4444 - -In the OpenOCD console, enable semihosting: - - > arm semihosting enable - > exit - -Then connect to the Cryptech management console: - - $ cryptech_console - -In the Cryptech console, type `profile start`, then start the unit test or -whatever will be exercising the hsm. Afterwards, in the console, type -`profile stop`. - -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: - - $ gprof hsm.elf >gprof.txt |