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.

[E0002] Invalid mnemonic specification

Other Parts Discussed in Thread: CONTROLSUITE

Hi,

I am trying to build my own project from the project example setup_m3 and cpu_timers_c28

So i create two new projects, then I create identically the new file and copy / paste the source code for both of my project.

This work perfectly for the C28 project but not for the m3 project

I get these mistakes :

"C:\temp\0522810", ERROR!   at line 105: [E0002] Invalid mnemonic specification
        mrs     r0, PRIMASK

"C:\temp\0522810", ERROR!   at line 106: [E0002] Invalid mnemonic specification
        cpsid   i

"C:\temp\0522810", ERROR!   at line 107: [E0002] Invalid mnemonic specification
        bx      lr

"C:\temp\0522810", ERROR!   at line 154: [E0002] Invalid mnemonic specification
        mrs     r0, PRIMASK

"C:\temp\0522810", ERROR!   at line 155: [E0002] Invalid mnemonic specification
        bx      lr

... 10 other mistakes

I precise that the example works fine I can build and load the program on my c2000 without any problem.

And it is not an assembly project.

Could you help me please ?

Thanks in advance

Regards

  • Adrien,

    can you check if these assembly instructions are being compiled properly in one of the existing TI provided CCS projects? just edit one of the assembly files to add these instructions and build the project. If these doesn't generate the error in the native TI projects then it must be one of the config option in your new projects. If these generate error in the TI example projects also then we have to check if cortex M3 supports the instructions and/or if the tools support these.

     

    Best Regards

    Santosh

  • Santosh,

    Well in reality my project is the same as a TI provided CCS projects : "setup_m3" and the example works properly, so the problem come from a config option but I really don't know which one.

    In the TI provided CCS project example the compiler and the linker are configure with TMS470 in the build option.

    In my project I configure with the C2000 linker and C2000 compiler, it's the only difference. It is the c2000_6.1.0 compiler

    I checked the include file for the compiler :

    "C:\ti\controlSUITE\device_support\f28m35x\v130\MWare"

    "C:\ti\controlSUITE\device_support\f28m35x\v130\F28M35x_headers\include"

    "C:\ti\controlSUITE\device_support\f28m35x\v130\F28M35x_common\include"

    And for the linker :

    "D:\ccsv5\tools\compiler\tms470_4.9.5\lib\rtsv7M3_T_le_eabi.lib"

    I also try with

    "D:\ccsv5\tools\compiler\c2000_6.1.0\lib\rts2800_fpu32.lib"

    and it didn't work, always the same errors

    Regards

    Adrien

  • I find the problem it's because I use the C2000 compiler for the ARM core, I change it to the ARM compiler and it's work better.

    I am really sorry to disturb you for a so simple error

    Regards

    Adrien