Skip to content Skip to navigation

Connexions

You are here: Home » Content » Obtaining Cycle Counts in Code Composer Studio 3.1

Navigation

Lenses

What is a lens?

Definition of a lens

Lenses

A lens is a custom view of Connexions content. You can think of it as a fancy kind of list that will let you see Connexions through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to Connexions materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual Connexions member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

This content is ...

In these lenses

  • Real-Time DSP with MATLAB display tagshide tags

    This module is included inLens: DSP with MATLAB lens
    By: Bhaskar BhattacharyaAs a part of collection:"Digital Signal Processing Laboratory (ECE 420 55x)"

    Comments:

    "Real-Time DSP with MATLAB"

    Click the "Real-Time DSP with MATLAB" link to see all content selected in this lens.

    Click the tag icon tag icon to display tags associated with this content.

Recently Viewed

This feature requires Javascript to be enabled.

Tags

(What is a tag?)

These tags come from the endorsement, affiliation, and other lenses that include this content.

Obtaining Cycle Counts in Code Composer Studio 3.1

Module by: Thomas Shen. E-mail the author

User rating (How does the rating system work?)
Ratings

Ratings allow you to judge the quality of modules. If other users have ranked the module then its average rating is displayed below. Ratings are calculated on a scale from one star (Poor) to five stars (Excellent).

How to rate a module

Hover over the star that corresponds to the rating you wish to assign. Click on the star to add your rating. Your rating should be based on the quality of the content. You must have an account and be logged in to rate content.

:
(0 ratings)

Summary: Instructions on how to obtain cycle counts for blocks of code in Code Composer Studio 3.1

Cycle Counts

The number of cycles a block of code takes to run may be important. For example, code that executes during an interrupt should be kept as short as possible to allow other interrupts execution time. When a complex system is implemented on the DSP, hardware resources are scarce and code that takes too long to run will prevent the system from running in real-time.

Two methods of obtaining the cycle count for a block of code will be outlined below. Breakpoints are a fast method of getting a ballpark cycle count for a particular run of the code. However, different iterations of the code may take a different number of cycles to execute. This generally happens when there are branch and conditional instructions. Profiling allows the user to execute the code multiple times and obtain the average, maximum, and minimum number of cycles.

Breakpoints

Setting two breakpoints will allow you to measure the clock cycles between the first and second breakpoint for a particular run. Code Composer will also return a cycle count for running between the second breakpoint and the first, but this count will include all the cycles from I/O handling. Multiple breakpoints can also be set to obtain counts for multiple sections of code, but there is a limit on the number of breakpoints that can be set.

The instructions to set breakpoints and obtain a cycle count for a piece of code:

  1. Compile the code.
  2. Select Clock->Enable and Clock->View under the Profile menu.
  3. Set a software breakpoint by right-clicking on the line you would like to set it at and choosing "Toggle Software Breakpoint".
  4. Load the program.
  5. Run the program. It should halt at the first breakpoint. There will be a cycle count at the bottom right corner next to the clock symbol. Double click on the click to clear the cycle count.
  6. Run the program again. It should halt at the second breakpoint. The cycle count from the code between the two breakpoints will be displayed.

Sometimes there may be errors when loading the program like "Can't Set Breakpoint" or "Can't Remove Breakpoint". If this happens, try disabling the breakpoints, reloading, and enabling them again. If the error persists, close Code Composer, disconnect and reconnect the power cable, and start the whole process again.

Profiling

Profiling allows you to obtain an average, maximum, and minimum cycle count for blocks of code. Multiple functions, loops, and ranges can all be profiled at the same time. Code Composer will provide you with many readings. The figure used in our DSP lab is the 'CPU Cycles: Incl. Max".

The instructions to set profile points and obtain a cycle count for a piece of code:

  1. View the profiling windows by selecting Profile->Setup and Profile->Viewer.
  2. Load the program onto the DSP.
  3. Click on the Stopwatch symbol in the Profiling Setup window on the right to enable profiling.
  4. Select the 'Ranges' tab in the Profiling Setup window.
  5. Highlight the range of code you would like to obtain the cycle count for and drag it to the 'Ranges' menu. (Another way to do the same is to highlight those lines, right click, and select Profile -> Range.)
  6. Run the code for a while for Code Composer to collect data.
  7. The default stats shown do not include what we are looking for. In the profiler viewer window, right click on the address range you would like stats for and select 'Columns and Rows Setting'. Different counts can be shown, but 'CPU Cycles: Incl. Max.' is probably the most important.

Content actions

Give Feedback:

E-mail the module author | Rate module ( How does the rating system work?)

Rating system

Ratings

Ratings allow you to judge the quality of modules. If other users have ranked the module then its average rating is displayed below. Ratings are calculated on a scale from one star (Poor) to five stars (Excellent).

How to rate a module

Hover over the star that corresponds to the rating you wish to assign. Click on the star to add your rating. Your rating should be based on the quality of the content. You must have an account and be logged in to rate content.

(0 ratings)

Download:

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections directly in Connexions. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need a Connexions account to use 'My Favorites'.

| A lens (?)

Definition of a lens

Lenses

A lens is a custom view of Connexions content. You can think of it as a fancy kind of list that will let you see Connexions through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to Connexions materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual Connexions member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks