text: #ifndef _JTEST_CYCLE_H_
  #define _JTEST_CYCLE_H_
  
  /*--------------------------------------------------------------------------------*/
  /* Includes */
  /*--------------------------------------------------------------------------------*/
  
  #include "jtest_fw.h"           /* JTEST_DUMP_STRF() */
  #include "jtest_systick.h"
  #include "jtest_util.h"         /* STR() */
  
  /*--------------------------------------------------------------------------------*/
  /* Declare Module Variables */
  /*--------------------------------------------------------------------------------*/
  extern const char * JTEST_CYCLE_STRF;
  
  /*--------------------------------------------------------------------------------*/
  /* Macros and Defines */
  /*--------------------------------------------------------------------------------*/
  
  /**
   *  Wrap the function call, fn_call, to count execution cycles and display the
   *  results.
   */
  /* skipp function name + param
  #define JTEST_COUNT_CYCLES(fn_call)                     \
      do                                                  \
      {                                                   \
          uint32_t __jtest_cycle_end_count;               \
                                                          \
          JTEST_SYSTICK_RESET(SysTick);                   \
          JTEST_SYSTICK_START(SysTick);                   \
                                                          \
          fn_call;                                        \
                                                          \
          __jtest_cycle_end_count =                       \
              JTEST_SYSTICK_VALUE(SysTick);               \
                                                          \
  		JTEST_SYSTICK_RESET(SysTick);                   \
          JTEST_DUMP_STRF(JTEST_CYCLE_STRF,               \
                          STR(fn_call),                   \
                          (JTEST_SYSTICK_INITIAL_VALUE -  \
                           __jtest_cycle_end_count));     \
      } while (0)
  */
  #define JTEST_COUNT_CYCLES(fn_call)                     \
      do                                                  \
      {                                                   \
          uint32_t __jtest_cycle_end_count;               \
                                                          \
          JTEST_SYSTICK_RESET(SysTick);                   \
          JTEST_SYSTICK_START(SysTick);                   \
                                                          \
          fn_call;                                        \
                                                          \
          __jtest_cycle_end_count =                       \
              JTEST_SYSTICK_VALUE(SysTick);               \
                                                          \
  		JTEST_SYSTICK_RESET(SysTick);                   \
          JTEST_DUMP_STRF(JTEST_CYCLE_STRF,               \
                          (JTEST_SYSTICK_INITIAL_VALUE -  \
                           __jtest_cycle_end_count));     \
      } while (0)
  
  #endif /* _JTEST_CYCLE_H_ */
  