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.

LEA Driver Library examples don't compile

Other Parts Discussed in Thread: MSP430WARE, MSP430FR5994, MSPWARE, MSP430FR6989, MSP-DSPLIB, MSP-EXP430FR5994

Hi
I'm trying to build the FR5xx_FR6xx LEA examples from the MSP430WARE Driver Library and I keep getting build errors with undefines

The file LEA.h gives errors with the following lines

LEA_iir = LEASCCMD__IIR,

LEA_biquadWithBiasAndMinMax = LEASCCMD__BIQUADWITHBIASANDMINMAX,

LEA_goertzel = LEASCCMD__GOERTZEL,

 

However the following just above is OK

LEA_fir = LEASCCMD__FIR,

Looks like these definitions should be contained in msp430fr5994.h

I tried updating msp430ware but this doesn't help

Can you point me in the direction of the correct header files or let me know which processor I should select

Thanks

Bob

 

 

  • Hi  Bob,

    It looks like TI had decided to remove such functionality from LEA support with new update.

    But as I love LEA solution too much, here are the definitions:

    #define LEASCCMD__IIR                    (0x0000004c)
    #define LEASCCMD__BIQUADWITHBIASANDMINMAX (0x00000090)
    #define LEASCCMD__GOERTZEL               (0x0000011c)

    Regards,

    Alexey

  • Hi Bob and Alexey,

    I can confirm that we aren't removing this functionality, but actually adding functionality! We made some changes to the MSP430FR5994 header file that accidentally got released early. You'll see the updates in an upcoming release of DSPLib (v1.20.00 is scheduled for August 31st). In the meantime, we'll release a new version of MSPWare on August 5th that will alleviate this issue.

    Thank you for bringing this to our attention and for your patience.

    Regards,

    James

    MSP Customer Applications
  • ,

    Thank you for your support of LEA :) It's great to see our community embracing the new technology that we are working on. We are really excited about LEA and the potential it can bring to the MSP MCU family. Per James's response below, we are actually adding features to LEA in DSP Library, hence the accidental early change to the header file for fr5994. This will be fixed as James notes above.

    That said, I would be really interested in hearing what comments do you have so far on LEA? How are you using LEA currently?

  • Evan,

    LEA solution is unique as I know not only in TI's portfolio, but in DSP industry (in terms of power consumption). I'm just starting evaluating it in my draft projects and it looks good so far. I didn't use any optimization techniques, so I mostly relay on a potential described in official documentation and reports. If I were you I would add even variable-byte-length BIN-to-BCD hardware converter to such accelerator. The last one can be used intensively in data-to-display conversions, which can eliminate some penalties in display framerate. I still didn't evaluate some functions like complex bit-reversal, which could be very beneficial as a hardware implementation in general math optimizations.
    I would say LEA can make some currently available TI's DSP solutions less competitive, including even based on certified ARM Cortex M4. In other hand, better understanding of DSP techniques based on LEA for customers can later make a good platform to switch to more powerful solutions (for digital video processing for example).
    For me LEA opened the door to ultra-low power analog and digital audio-processing solutions, so I still think how to adopt these benefits in real software and hardware (I prefer additional manual optimizations to achieve ultra-low power results).

    Regards,
    Alexey

  • [Only slightly off-topic?] Is there a plan to expand the FR5994 User Guide (slau367k) Section 17 to describe the operation of the LEA, similar to that for the other devices in the MCU? Alternatively: Does there exist an AppNote or some such describing LEA operation?

    All I've been able to find is the source code in the DSP library, which provides a vague idea but is  not really a specification.

  • Evan Wakefield said:
    I would be really interested in hearing what comments do you have so far on LEA?

    It would be nice to have MSP430FR6989 with LEA support (may will be FR6994). (with Scan Interface, LCD, PCB galvanically decoupled with eZ-FET and without SuperCap). 14-bit 200ksps ADC and PWM with extended resolution could be good, but I think this could also be too competitive to C2000 and MSP432.

    Thanks,

    Alexey

  • Bruce,

    There are more plans to expand to Section 17, but they are a few weeks away. You will see quite a bit more documentation come forth soon. In the mean time, there is this app note: www.ti.com/.../slaa698. This app note will also be updated in a few weeks as more benchmark data is taken and with more information in general. We also have the following TI Design that utilizes LEA: www.ti.com/.../tidm-filtering-signalprocessing

    With regards to DSP Library is shipped in all MSP430Ware packages, and is also available at ti.com/tool/msp-dsplib. It is built as a set of highly optimized functions to perform many common signal processing operations on fixed-point numbers for MSP430 and MSP432 microcontrollers. This library’s optimal utilization of the MSP families’ intrinsic hardware (in the case of FR5994 that is LEA) for fixed-point math allows for significant performance gains as described in the app note. However, if a device doesn't have LEA, it is still is a set of DSP functions that are specifically optimized for MSP MCU's. The DSP lib ships with an API guide to help you get started.

    Be sure to keep your eye out for more updates!
  • Alexey,

    Again, thank you for your interest! We are definitely working on adding more collateral to help users get started with LEA and show it's advantages. Be sure to keep your eyes out for this! We are definitely looking to open the door into fast, efficient and powerful signal processing techniques while still keeping our Ultra-Low Power prestige up. Please let us know if you have any other questions as you continue to get to know LEA.

    With regards to your comment on FR6989, we are always looking to innovate and broaden our portfolio and are open to new ideas. I'll be sure to keep these comments in mind. We sincerely value them when we do our planning.
  • Evan: Thanks, I look forward to it.

    I had also read the papers, but there wasn't much more there than in Section 17. "Use our software, it will work great" may be true, but isn't something I can put in a design document.

    I'll stop hijacking this thread now.

  • All,

    There is an updated MSP430Ware that is built to address this issue.

    software-dl.ti.com/.../index_FDS.html

    Thanks!
  • Bruce,

    No worries, it was great feedback! Just know you'll see more information and hopefully this will fill your concern :)
  • With a new version of MSPWARE the temporary solution could be applied by changing values in LEA.h file:

        LEA_iir = LEASCCMD__IIRBQ1,
        LEA_biquadWithBiasAndMinMax = LEASCCMD__IIRBQ2EXTENDED,
        LEA_goertzel = LEASCCMD__IIRBQ2,

  • I don't see the fixed defines in MSP430Ware_3_50_00_04 (the latest).
    Is it just me?
    If I add the 3 defines as suggested by someone above, it compiles.

    Meanwhile, after adding the defines, I'm now getting "exceeded code size"...

    Pete
  • Evan indicated above that the latest MSPWare would fix it, but it doesn't seem to. Is it just me?
    Manually adding the missing defines allows it to compile, although now I'm getting "exceeds code size limit" on the OutOfBox demo.
    Pete
  • Sorry for the duplicate msgs - I didn't realize that replies are moderated.
    And, the code size issue was because I hadn't pointed CCS to my license file... Whoops.
    Still curious about the defines.
    Pete
  • Peter,

    In CCS did you check for updates by going to Help>Check For Updates and update everything else? I will look into this and see if we have a gap. The headerfiles got changed as we are adding new functionality to LEA and needed to make some name changes to the existing headerfiles. Sorry for the inconvenience.
  • Hi,
    Thanks for your reply!
    I tried Check for Updates. It said "no updates found", but also displayed a popup with:
       No repository found at http://downloads.ti.com/msp430/esd/updates-432/p2macosx.

    The last time I tried to use Check for Updates, there was some other "No repository" problem... :-(

    Then I tried re-installing MSP430Ware_3_50_00_04.
    Still doesn't compile, unless I add the 3 missing symbols.
    I notice that the MSP430Ware install does NOT replace msp430fr5994.h . Is that expected?
    In the following path (which includes lea.h), the files are dated 3/24/2016, so I'm thinking that's not right:
    MSP430Ware_3_50_00_04/examples/boards/MSP-EXP430FR5994/MSP-EXP430FR5994_Software_Examples/Firmware/Source/OutOfBox_MSP430FR5994/driverlib/MSP430FR5xx_6xx
    Should I be finding the newer driverlib files somewhere else?

    Pete

  • Pete,

    Your first issue is a known issue that I have already reported to the appropriate people. Shouldn't be the root of your issue though.

    To start off, our support model for LEA has shifted from driverlib to DSP Lib. You will not see support for LEA in driverlib no longer. We still need to update the out of box experience to not reflect an old version of driverlib, so thank you for pointing that out. The out of box demo in the future will not include the lea.h/c files in driverlib as the new driverlib does not include them. Since releasing that older version of driverlib, we have updated LEA to include more functionality which lead to those lines breaking in the older driverlib release. We are working towards officially launching MSP430FR5994 at the end of the month and you will see a more cohesive and aligned software experience come then with the updates we are bringing to DSP Library and FR5994 collateral.

    For the time being, you can go to www.ti.com/tool/msp-dsplib to get started with the LEA module and play around with it. Again, we will be updating this soon and have additional functionality.
  • Peter,

    There is a new update for MSPWare v3.60. Go and check it out! Has a new DSP Library included in it.
    software-dl.ti.com/.../index_FDS.html

    If you wish to grab the library, here is the link: www.ti.com/.../msp-dsplib
  • All,

    There is an updated MSP430Ware that has the new DSP Library.

    software-dl.ti.com/.../index_FDS.html

    www.ti.com/.../msp-dsplib
  • Hi Evan,
    Thanks, but the DSPLib download (Windows installer) doesn't appear to be "all there". The "download" button does nothing, and the "click here" backup (as well as the emailed link) shows a screen with 'File not found."' (that's the entire text).
  • Hi Bruce,

    Thank you for pointing this out, and we're working on resolving this issue. In the meantime, the latest DSPLib version (v1.20.00.38) can be found in the latest MSP430Ware version (v3.60.00.10), like Evan mentioned in an earlier post.

    I've attached the standalone DSPLib below for your reference.

    DSPLib_1_20_00_38_windows_installer.exe

    Regards,

    James

    MSP Customer Applications

  • I moved to CCS 6.2.0, so I switched to DSPLib 1_20_00_38.

    It appears that the new library expects the LEA registers to be named with a prefix of "LEA", rather than "LEASC" (e.g. "LEACNF1" vs
    "LEASCCNF1"). However, in 6.2.0, msp430fr5994.h retains the "LEASC" prefix (same as in 6.1.3). Was there a Big Rename expected in CCS, or is this supposed to be accommodated elsewhere?

    It seems to me that the examples only build OK due to this same naming discrepancy (__MSP430_HAS_LEA__ vs __MSP430_HAS_LEA_SC__), i.e. the examples don't actually use the LEA.

    If it were only a few names, I could rename them with #define, but we're talking about maybe 100+.

    Am I missing something?
  • This also appears to be the case for the version of dsplib that is in MSP430Ware.
  • If anyone else runs into this, I built a "DSPLib_lea_renames.h" file which I can post.
  • FWIW, I've recently been doing a FFT project based on one of the example projects (I think it was SLAA698A).
    I have DriverLib 2.80, and MSPWare 2.30, and MSP430Ware 3.60 floating around on my system.
    To compile it, I still have to add the following 3 lines to LEA.h . [Edit: I suppose it's expected, because the example project uses DriverLib, not DSPlib.]
    It seems to be working...
    #define LEASCCMD__IIR (0x0000004c)
    #define LEASCCMD__BIQUADWITHBIASANDMINMAX (0x00000090)
    #define LEASCCMD__GOERTZEL (0x0000011c)

    Pete

  • That one is fixed in DSPLib 1.20.00.38 (MSP430Ware 3.60), or maybe in CCS 6.2.0 -- at least, I don't have to do that particular patch any more.

    When you build with the DSPLib in MSP430Ware 3.60, does it actually use the LEA? My observation is that it doesn't.

  • Bruce,

    Technically we haven't market launched the FR5994 device so a lot of changes have been made before Market Launch. Market Launch is November 3rd, along with this, we have been working on making the story behind our software and naming conventions a bit more clean. This included changing the name of the Low-Energy Accelerator from LEA_SC to LEA.

    In your CCS6.2.0, there should be a legacy.h that retains the old register names, allowing any code you previously written that use the LEASC names to compile still. The official headerfile for fr5994 will be renamed to LEA from LEA_SC. Can you explain to me more of what is exactly failing? Anything that uses DSPLib, should compile.

    I will talk with the software owner on this, but we made sure to test multiple examples and software packages before sending out this update. In CCS, can you make sure to go to Help > Check for Updates > install any updates necessary to make sure everything is up to date?

    On November 3rd, you will see an updated app note, along with updated software for that benchmarking app note (SLAA698).

    Bruce, can you explain this comment as well "When you build with the DSPLib in MSP430Ware 3.60, does it actually use the LEA? My observation is that it doesn't."

    What observations make you think this? There is an errata that will be published on November 3rd that essentially explains a bug that you will see on Rev A XMS silicon. This errata's workaround for LEA is to keep the device in Active Mode, which is default by DSP Library. There are pre-define symbols that can be used to force it into LPM0. Right click your project, go to Properties>Build>MSP430 Compiler>AdvancedOptions>Predefined Symbols and under pre-defined NAME add "MSP_ENABLE_LPM0". I can assure you, that if you are using DSP Library, LEA is being used.
  • Peter,

    As Bruce mentioned, please make sure you are using the most up-to-date software.

    CCS 6.2.0, MSP430Ware 3.6 and DSPLib 1.20.xx
  • My CCS says: "Version: 6.2.0.00050" [just downloaded last week]
    My msp430fr5994.h contains "#define __MSP430_HAS_LEA_SC__ " along with (e.g.) "#define LEASCBUSY [...]"
    My msp430fr5994.h has no definition for __MSP430_HAS_LEA__ or LEABUSY
    My legacy.h has no LEA definitions at all.

    Looking at MSP430Ware 3.60.00.10 (DSPLib 1_20_00_38):
    DSPLib_lea.h(58) has a guard: "#if defined(__MSP430_HAS_LEA__) [...]" in order to "#define MSP_USE_LEA 1". Without the latter symbol, none of the LEA code in the source is enabled, which is what I observed.
    DSPLib_lea.h(1195) also has some (inline) code "if ((LEACNF1 & LEABUSY) [...]".

    If I change DSPLib_lea.h(58) to use the symbol I have (__MSP430_HAS_LEA_SC__), MSP_USE_LEA gets set, the LEA code is enabled, and then it trips over DSPLib_lea.h(1195) along with a few hundred other spots in the source.

    Based on what you've said above it sounds like 6.2.0 was supposed to contain an updated msp430fr5994.h (with the Big Rename), but my copy doesn't reflect that. What am I missing here?

    I also didn't realize that all this was pre-Release. Maybe this will all become clear Thursday.
  • Never mind. I just now updated and got the new header file.
  • Great to hear! Thanks for updating me. I was a little worried and wondering how this was possible :)
  • Same here. I was becoming convinced I was hallucinating.

    Have a great Launch.

**Attention** This is a public forum