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.

MSP432 Driverlib CMSIS beta: error #20: identifier "EUSCI_A0_MODULE" is undefined

Other Parts Discussed in Thread: MSP430WARE

Hi,

I am trying to use the CMSIS driverlib to test the backchannel UART on the MSP432 Launchpad, When building the project at:   I find that I get errors because error #20: identifier "EUSCI_A0_MODULE" is undefined.  I grepped the source code for the CMSIS driverlib beta and found no definition of EUSCI_A0_MODULE, but lots of references to it.  Could this be an bug with the beta library, or am I doing something wrong?

Thanks,

Rob

 

  • Hi Rob,

    Just to be clear we are talking about the project MSP432-Launchpad-Printf-Support, correct? I did not encounter any problems while importing this project using CCS v6.1.1. An undefined EUSCI_A0_MODULE would definitely indicate that the driverlib library has not been properly included with the project, please make sure driverlib exists under the Includes folder and that your MSP432 Compiler Include Options and Linker File Search Path both point to it. Be sure to use the Import Wizard to import this project to CCS as it makes the process much more simple.

    Where are you getting the CMSIS driverlib beta from? The project referred to is sourced by the community and is not a product of Texas Instruments.

    Regards,
    Ryan
  • Thanks Ryan for the encouragement. I tried using the wizard to import this project, but it did not work because I'm using Ubuntu 15.10 and the github repository has include paths set to C: and E: things. So I went to making a new driverlib project with the source code included in mine for easier debugging. I had to correct the include directory in my project from "${PROJECT_ROOT}/driverlib/msp432P4xx" to "${PROJECT_ROOT}/driverlib/MSP432P4xx". I think this is a Linux thing, because Linux is case sensitive and Windows is not. I then copied main.c and printOverride.c into the ${PROJECT_ROOT}. Then I tried building with the resulting error. I do believe I am getting most of the driverlib includes, but not the specific ones for the MSP432P401R.

    I installed the beta CMSIS driverlib after installing CCS 6.1.2.00015 using the Linux installer, MSPWare_3_10_00_75_setup.run.
    As I look at it, it doesn't look like it installed much: See below:

    frohro@frohro-2760p:~/ti/msp430$ ls -R MSPWare_3_10_00_75/
    MSPWare_3_10_00_75/:
    products

    MSPWare_3_10_00_75/products:
    manifest.xml

    So I went looking in the old mspware directory for the header file I need, and I found it!

    frohro@frohro-2760p:~/ti$ locate msp432p401r.h
    /home/frohro/ti/ccsv6/ccs_base/arm/include/msp432p401r.h
    /home/frohro/ti/msp430/MSPWare_2_40_00_37/driverlib/inc/msp432p401r.h

    And it has the #define I'm looking for! Interestingly enough, even after I added the directory it was in to the include path, and explicitly including it in main.c, it still could not find the definition, but actually copy and pasting the definition into main.c solved the issue.

    Is there a way I can fix my CMSIS MSPWare install on Linux?

    There are other problems with MSPWare on Linux that example projects cannot be imported, as I and others have previously reported here: e2e.ti.com/.../1491527 It would be so nice to fix those issues too!

    Thanks,

    Rob
  • The short answer to this is that the BackChannel UART code needs to be updated to the latest driverlib.  EUSCI_A0_MODULE has been replaced with EUSCI_A0_BASE.  There are some other updates that don't bite yet, but probably will in the future.  For example the new routine for UART_transmitData(EUSCI_A0_BASE, receiveByte) instead of what it was.

    Hope this helps someone else.

    It still would be nice if the MSP430Ware examples worked.  :-)

    Rob

**Attention** This is a public forum