This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Upgrading from Driverlib 1.60 to Driverlib 1.70+

Other Parts Discussed in Thread: MSP430WARE

Driverlib Users,

As part of our continued process of optimizing MSP430ware driverlib and standardizing the MSP430 driverlib APIs we have segregated the MSP430 modules into:

 ‘CORE’ modules  - those that would have ONLY one instance of the module in a single device.

‘PERIPHERAL’ modules – those that could have multiple instances of the module in a single device.

 This would reflect as the baseaddress of module being absent/present in the module driverlib API based on if the module is a core/peripheral. This change increases performance in some APIs and allows greater software standardization across MCU platforms in TI’s portfolio. We also believe this increases readability by removing an extra parameter in APIs for peripherals that can only have one instance.

 Based on this rule, we had to change some of the existing driverlib APIs to remove the baseaddress parameter. This will break compatibility for existing customers but we provided a #DEFINE for backward compatibility.

 To use DriverLib in backward compatibility mode -

  1. We provide a compiler define DRIVERLIB_LEGACY_MODE. If this is predefined in the compiler settings, the older APIs will still work as-is(Pre 1.70 Release).
  2. The user must also include  the “#include “driverlib.h” header file released in 1.60 driverlib onwards instead of the individual header files.

 If DRIVERLIB_LEGACY_MODE compiler define is absent, then the newer APIs take effect (Post 1.70 Release).

 We are rolling out this change on Feb 14th 2014. 

Without making the above change, most existing projects that rely on driverlib will fail to compile. Adding the compiler define DRIVERLIB_LEGACY_MODE and including “driverlib.h” instead of individual header files is necessary to get the projects to compile in legacy mode(using the older APIs). We would like to roll out an announcement in E2E so that customers can get a heads-up regarding this change before the driverlib release.

 We advise newer projects that are in the process of development to adopt the newer APIs. The older APIs are still available in the deprecated section.

Removal of baseaddress removes support of Grace 2.20.02.32. Users that rely on Grace should not update Driver Library at this time until a new Grace is released. 

 Here is the affected peripheral list.

 MSP430F5xx_6xx

  • DMA
  • FLASH
  • MPY32
  • PMM
  • RAM
  • SFR
  • SYS
  • UCS

MSP430FR5xx_6xx

  • CS
  • DMA
  • FRAM
  • MPY32
  • PMM
  • SFR
  • SYS

MSP430FR57xx

  • CS
  • DMA
  • FRAM
  • MPY32
  • PMM
  • SFR
  • SYS

Please refer to the images below to set the pre-defined compiler settings for backward compatibility.

a)CCS

 b)IAR

 Thanks,
Kasthuri

  • Thanks for the update Kasthuri. I'm glad to hear that we are getting rid of the baseaddress parameter for modules that do not really need it - it will make the code cleaner and easier to read/write.

    -Katie

**Attention** This is a public forum