Skip to content

nburek/ExecutionTimeAnalyzer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Execution Time Analyzer

Problem

When profiling code running on microcontrollers it can sometimes be difficult to get accurate estimates of how long operations are taking and where time is being spent without impacting the performance.

Solution

Take the example Analyzer and create a new analyzer that is meant for collecting data on execution time by using GPIO channels. The analyzer supports up to two channels. The first channel is the top level timer that will record the periods when the line is high and export that data as a Frame. The second (optional) channel can be used to time events within the top level timing. While the Timer channel is high, toggling the SubTimer channel will create sub-frames recording the time of the events within the top level Timer event.

Building the Analyzer

Windows

mkdir build
cd build
cmake .. -A x64
cmake --build .
:: built analyzer will be located at SampleAnalyzer\build\Analyzers\Debug\SimpleSerialAnalyzer.dll

MacOS

mkdir build
cd build
cmake ..
cmake --build .
# built analyzer will be located at SampleAnalyzer/build/Analyzers/libSimpleSerialAnalyzer.so

Linux

mkdir build
cd build
cmake ..
cmake --build .
# built analyzer will be located at SampleAnalyzer/build/Analyzers/libSimpleSerialAnalyzer.so

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 85.5%
  • CMake 14.5%