ULP Advisor

From Texas Instruments Wiki
Jump to: navigation, search

The #evp parser function was deprecated in EmbedVideo 2.0. Please convert your parser function tag to #ev.

What is ULP Advisor?

ULP (Ultra-Low Power) Advisor is a brand new tool for guiding developers to write more efficient code to fully utilize the unique ultra-low power features of MSP430 microcontrollers. Aimed at both experienced and new microcontroller developers, ULP Advisor checks your code against a thorough ULP checklist to squeeze every last nano amp out of your application. At build time, ULP Advisor will provide notifications and remarks to highlight areas of your code that can be further optimized for lower power. Within these notifications, developers will get a description of the ULP rule in violation, and will also get a link to this ULP Advisor wiki for further information, links to relevant documentation, code examples and forum posts!

Download ULP Advisor

To get ULP Advisor you need Code Composer Studio version 5

Integrated into the latest version IAR Embedded Workbench

ULP Advisor is also integrated into the latest version of IAR Embedded Workbench!


ULP Advisor - Rule Table

ULP 1.1 Ensure LPM usage
ULP 2.1 Leverage timer module for delay loops
ULP 3.1 Use ISRs instead of flag polling
ULP 4.1 Terminate unused GPIOs
ULP 5.1 Avoid processing-intensive operations: modulo, divide.
ULP 5.2 Avoid processing-intensive operations: floating point
ULP 5.3 Avoid processing-intensive operations: (s)printf()
ULP 6.1 Avoid multiplication on devices without hardware multiplier
ULP 6.2 Use MATHLIB for complex math operations
ULP 7.1 Use local instead of global variables where possible
ULP 8.1 Use 'static' & 'const' modifiers for local variables
ULP 9.1 Use pass by reference for large variables
ULP 10.1 Minimize function calls from within ISRs
ULP 11.1 Use lower bits for loop program control flow
ULP 11.2 Use lower bits for port bit-banging
ULP 12.1 Use DMA for large memcpy() calls
ULP 12.1b Use DMA for potentially large memcpy() calls
ULP 12.2 Use DMA for repetitive transfer
ULP 13.1 Count down in loops
ULP 14.1 Use unsigned variables for indexing
ULP 15.1 Use bit-masks instead of bit-fields

Let us know what you think! Feedback, suggestions & comments
are welcome @ ULPAdvisorFeedback@list.ti.com


  • Seamless tool that provides easy-to-understand remarks for creating power-efficient code for all MSP devices
  • Checks your code against a thorough ULP checklist
  • Integrated into Code Composer Studio & IAR Embedded Workbench
  • Supports all MSP430 and MSP432 devices
  • Wiki-based social online community for providing feedback, asking questions & interfacing with other developers
  • User-contributed suggestions for improving system current consumption

How do I get ULP Advisor?

Integrated into CCSv5.2 and later

You can get ULP Advisor by simply installing the latest version of Code Composer Studio version 5. ULP Advisor is available as a beta, and is pre-installed with CCS.

Get ULP Advisor within the TI Tool Folder!

Integrated into the latest version IAR Embedded Workbench

ULP Advisor is also integrated into the latest version of IAR Embedded Workbench!

Get the latest version of IAR

Watch the video to see how to use ULP Advisor within IAR Embedded Workbench

How do I use ULP Advisor?

ULP Advisor is automatically installed within the latest version of Code Composer Studio version 5, and is enabled by default. When building your project within CCS, ULP Advisor will parse your code files and check your code against a set of ULP rules. At this time, ULP Advisor will notify the developer of any areas of improvement through "Remarks" within the CCS "Problems" window. At this time, the developer may choose to download their code to the target MSP430 device as-is, or click explore how their code can be improved.

Tips, tricks & other ULP resources are provided within this wiki page.

Here are a few videos showing how to get up and running using ULP Advisor:

Check back on this wiki @ www.ti.com/ulpadvisor for the latest information, videos, instructions on how to use ULP Advisor with your code.

We want your feedback!

The #evp parser function was deprecated in EmbedVideo 2.0. Please convert your parser function tag to #ev.
Remember, ULP Advisor is currently in beta and we would love to hear your feedback. Let us know if you have any comments, questions or suggestions on new ULP rules! The more we hear from you, the better we can make this tool. Help us make MSP430 the easiest microcontroller platform to develop with! 

With ULP Advisor, developers are enabled to write smarter, more efficient code! Feel free to tell us what you are going to do with all of your extra batteries!

Thanks, MSP430 team.