Compilation errors importing Keil project

Sysprogs forums Forums VisualGDB Compilation errors importing Keil project

This topic contains 3 replies, has 3 voices, and was last updated by  MystikReasons 3 months, 4 weeks ago.

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #24410

    danielone
    Participant

    Hello there,

    I was able to import a Keil project, but, compiling with Keil ARMCC I get compilation errors in several functions defined in cmsis_armcc.h

    In new project settings I chose “Automatically import a project in different format” –> Import an existing Keil Project selecting Keil ARM Compiler.

    Sometimes I also get a:¬†error : Designtime build failed for project ‘C:\Users\xxxxxx\source\repos\EmbeddedProject1\EmbeddedProject1\EmbeddedProject1.vcxproj’ configuration ‘Debug|VisualGDB’. IntelliSense might be unavailable.

    Set environment variable TRACEDESIGNTIME = true and restart Visual Studio to investigate.

    BTW The compiler output is not the same I get with ARMCC Compiler… it looks like the code is not compiled with ARMCC toolchain despite it is selected in project options.

    MCU is STM32F030R8, CubeMX package for STM32F0 installed, last version, the same for the Keil uVision package.

    How to solve?

    Thanks

    Attachments:
    You must be logged in to view attached files.
    #24412

    support
    Keymaster

    Hi,

    Most likely, the original project contains some special settings that were not automatically imported.

    The easiest way is to narrow this down to a specific source file and then compare the build command lines used by the Keil IDE and by VisualGDB. You can find the VisualGDB’s command lines in the .rsp files inside <project directory>\VisualGDB\Debug. The command lines from the Keil IDE can be found by enabling the .bat file generation and looking through the generated file (it will use the –Via <filename> syntax where <filename> will correspond to the response files generated by Keil).

    Once you find out a specific command-line argument, we can help you locate the corresponding VisualGDB setting.

    #24423

    MystikReasons
    Participant

    @danielone I have the same problem: https://sysprogs.com/w/forums/topic/keil-armcc-features-error/

    It seems that the Keil compiler in VC doesn’t support the ASM keyword (assembly inline)

    This is the description of the error from keil http://www.keil.com/support/man/docs/ARMERR/armerr_dom1365070466238.htm:

    1114: this feature not supported on target architecture/processor
    Example when compiled with armcc –cpu 4T:
    int main(void) {
    int a,b,c;
    __asm {
    QADD a,b,c
    }
    return(a);
    }

    results in an error message because the saturated add instruction is only supported in ARMv5TE and later.”

     

    But I don’t know why its not supported because I use the default compiler version 5 in Keil and in Visual Studio too.

    • This reply was modified 3 months, 4 weeks ago by  MystikReasons.
    • This reply was modified 3 months, 4 weeks ago by  MystikReasons.
    #24426

    MystikReasons
    Participant

    I found that the inline assembler for v5 is mostly supported: http://www.keil.com/support/man/docs/armcc/armcc_chr1359124246466.htm

    The not supported commands can be found here: http://www.keil.com/support/man/docs/armcc/armcc_chr1359124246684.htm

    But my errors have other commands so it should support them.

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.