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.

CMSIS DSP 3.4 build problems - thousands of "error: expected a ")""

Other Parts Discussed in Thread: TM4C123GH6PM, TM4C123GH6PGE

Hi All,

Thanks in advance for any help!

I am trying to build the CMSIS DSP library v3.4 (CMSIS-SP-00300-r4p0-00rel0), my tool versions are CCS 5.5.0, ARM compiler tools 5.1.5.

I followed instructions in the latest "Using the CMSIS DSP Library in Code Composer Studio™ for Tiva™ C Series ARM MCUs" (updated Jan 2014) to a letter, I've used the latest replacement header files from

 http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/908/4137.CMSIS_5F00_2013_5F00_support.zip

Despite my best efforts, when I try to build the library (note, I've selected Tiva TM4C123GH6PM to reflect my actual chip and not TM4C123GH6PGE as in the guide), I get around 24,000(!!!) errors, all of this sort:

error: expected a ")"


Here's a partial build console output:

"C:/Users/Dmitry/Documents/TI lights/CMSIS-SP-00300-r4p0-00rel0/CMSIS/Include/core_cmFunc.h", line 549: warning: variable "result" is used before its value is set
"C:/Users/Dmitry/Documents/TI lights/CMSIS-SP-00300-r4p0-00rel0/CMSIS/Include/core_cmFunc.h", line 561: error: expected a ")"
"C:/Users/Dmitry/Documents/TI lights/CMSIS-SP-00300-r4p0-00rel0/CMSIS/Include/core_cm4_simd.h", line 139: error: expected a ")"
"C:/Users/Dmitry/Documents/TI lights/CMSIS-SP-00300-r4p0-00rel0/CMSIS/Include/core_cm4_simd.h", line 140: warning: variable "result" is used before its value is set
"C:/Users/Dmitry/Documents/TI lights/CMSIS-SP-00300-r4p0-00rel0/CMSIS/Include/core_cm4_simd.h", line 147: error: expected a ")"

And so on and on.

Like I say I follow the guide exactly with up-to-date tools, and I simply cannot build the library.

What can I do please?

Thanks,

Dmitry

  • UPDATE:

    I have tried version 3.2 of DSP CMSIS library and it compiles with no problems.

    Therefore, the question is:

    How to get version 3.4 to work?

    It's not crucial for me to use the latest version but it will have to fixed sooner or later

    Thanks

    Dmitry

  • Any update on using CMSIS-DSP 3.4 on Tiva?

  • Hello,

    I have the same problem.

    I can build CMSIS Version 3.1 without any Problems.

    If I try to build CMSIS 4.2 there are thousands of erros (27100). Description: expected a "(".

  • Hi,

    Don't be surprised by the big number - it is a typo somewhere or an unusual error and this counts, the next ones are generated due to the first one. This is the usual behavior of all compilers in use today, and I met this with all micros I worked with ( ten up to now). And in most cases was my fault, not compliser's. I reckognize also this kind of error is a nasty one to remove. Concentrate to the first one and completely ignore all others. Go to source code of the first error and carefully analyze the code and what is written and what should be. Eventually post two-three lines of the code which includes the suspect line, to be seen by many helpers.

    Petrei

  • I think so, too.

    I want to build "CMSIS-SP-00300-r4p2-00rel0" in ccsv5. The Application Report ist SPMA041C.

    Can someone test this?

  • The files where this errors turn up might be only a symptom, and not the cause.

    Those CMSIS headers define several macros for the ARM compiler, IAR compiler and GCC. If your project does not have the proper compiler define (or none), it also screws up that way. And that define is usually auto-generated by project wizards of the toolchain. And one would expect that TI tests their CMSIS headers with their toolchain ...

    But since TI's CMSIS support had never been really great (yet), I not even tried that in the last month.

  • Hello Joachim,

    The original application report is under maintenance for updates in compilation option for latest CMSIS and CCSv6. In this case it is for CCSv5., that you need to get it working, right? Can you please let me know whether it is the ARM toolchain in CCS or GNU toolchain in CCS that you are using, so that I can send over the steps to get you going.

    Regards

    Amit

  • Hello,

    I have used ccsv5 at first and get 27.000 errors. In the second step, I install ccsv6 and do the same steps again, but around hundred erros remain.  I use ARM toolchain.

    Thanks and regards

    Joachim

  • Hello Joachim

    Which version of the ARM tool chain.

    Regards

    Amit

  • Hello,

    I use version ARM_5.0.4 on ccsv5

    and version ARM_5.1.6 on ccsv6

  • Hello Joachim,

    I have the CMSIS 4.2 now compiling fine on CCSv6 with ARM_5.1.8 (and it should not be any different for ARM_5.1.6). There are multiple changes that need to be made to the Application Note and the files in the CMSIS 4.2 release as it seems some of the things had changed over time to support different compiler and tool chains.

    Please do note to download the asm file from the following thread

    http://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/t/317264.aspx

    I will post a follow up shortly

    Regards

    Amit

  • Hello Joachim,

    So here are the steps to get the 10K+ error down to a compile clean. All of this data is with respect to the original application note and the ASM file in the previous post's E2E link.

    1. Update the CMSIS 4.2 arm_bitreversal2.S file for the construct as mentioned in the Application Note and copy it as arm_bitreversal2.asm

    2. Update the arm_math.h line to redefine __INLINE as inline (just as the application note)

    3. In the CMSIS 4.2 Include files core_cmFunc.h core_cmInstr.h and core_cmSimd.h move the elif for TMS470 before the elif for GNUC

    After that all compile steps would be clean. For reference I have attached the files mentioned above in the post.

    0410.arm_math.h

    4213.core_cmFunc.h

    2727.core_cmInstr.h

    6102.core_cmSimd.h

    1780.arm_bitreversal2.asm

    Regards

    Amit

  • Thanks Amit for your great instructions.

    I have just successfully complied the CMSIS-SP-00300-r4p2-00rel0 on CCSV6.0.1 for TM4C123GHP6M.

    Here below are some notes that maybe useful for other guys who want to compile the DSPLIB.

    1) Ignore the SW01291 installer. The files in that installer has been out of date. Instead, you need to modify relevant header files by yourself.

    2) Modify the arm_math.h file, add the following code after string.h and math.h declaration.

    #if defined (__TMS470__)

    #undef __INLINE
    #define __INLINE inline
    #endif

    3) Copy the arm_bitreversal2.asm and cmsis_ccs.h file to the corresponding path. The files can be downloaded from the link below as mentioned by Amit.

    4137.CMSIS_2013_support.zip

    4) As mentioned by Amit. Modify the Include files core_cmFunc.h core_cmInstr.h and core_cmSimd.h. Move the elif for TMS470 before the elif for GNUC.

    5) Then, follow exactly the steps in the new app notes on Creating the dsplib Project.

    After the above modifications, it should be successful.

    Good luck.

  • Hello Guoijin

    Thanks for the post on verifying the same. The application note is also updated and ready with the next package of files. I and my colleagues are testing the same so that "no more errors" goal is achieved

    Regards
    Amit
  • Guoijin and Amit, Thanks for the info. Good timing! I am just in the process of getting the dsplib compiled on CCSv6 for the Tiva TM4C1294 board when I saw this. Looking forward to seeing the new app note!

    Bryce
  • Hello Bryce,

    You can still use the steps from the post(s) and get started. It may take a couple of days and you would not want to wait couple of days for something that is going to take a few minutes....

    Regards
    Amit
  • Amit,
    Yes I got it built, thanks for the all the info.

    Took two tries, didn't tell the project to be a static library the first time. Going to try it out now!
  • Hello All,

    The Updated Application Note for CMSIS DSP Header release 4.2 compilation in CCSv6 is now online with the patch files also

    http://www.ti.com/lit/an/spma041d/spma041d.pdf

    Regards
    Amit