ULP Advisor

From Texas Instruments Wiki
Jump to: navigation, search

ULP Advisor Introduction

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 MSP 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 (or later)

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.

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 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. ULP Advisor will notify the developer of any areas of improvement through "Remarks" within the CCS "Problems" window. It's the developers choice to download their code to their target MSP device as-is, or click the ULP Advisor links to explore how the 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!

We would love to hear your feedback on ULP Advisor. Please et 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 MSP 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, MSP team