This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Cortex-M3 - Compiler

Hello everyone,

I working on a Cortex-M3 and I would like to know if it is possible to change the ARM-C compiler to MentorGraphics ARM-NONE-EABI on µVision(information below)?

Thank you very much.
Best Regards,
Felipe

---------------------------------------------------------------------------
IDE-Version:
µVision V4.72.10.0
Copyright (C) 2013 ARM Ltd and ARM Germany GmbH. All rights reserved.

Tool Version Numbers:
Toolchain:        MDK-Lite  Version: 4.72.1.0
Toolchain Path:     C:\Keil\ARM\ARMCC\bin\ 
C Compiler:         Armcc.Exe        V5.03.0.76 [Evaluation]
Assembler:          Armasm.Exe       V5.03.0.76 [Evaluation]
Linker/Locator:     ArmLink.Exe      V5.03.0.76 [Evaluation]
Librarian:          ArmAr.Exe        V5.03.0.76 [Evaluation]
Hex Converter:      FromElf.Exe      V5.03.0.76 [Evaluation]
CPU DLL:            SARMCM3.DLL      V4.72.1.0
Dialog DLL:         DARMSTM.DLL      V1.64.0.0
Target DLL:         UL2CM3.DLL       V1.150.11.0
Dialog DLL:         TARMSTM.DLL      V1.64.0.0
---------------------------------------------------------------------------

Parents
  • Thanks! I made the changes you suggested but nothing works now - even in the examples (APNT 199). I'm trying to use it on STM3210E-EVAL examples but it doesn't work either.

    Errors:
    On example MCBSTM32_Blinky in get the following error:

    error: fatal error: stm32f10x_lib.h: No such file or directory
    

    On example MCB2130_Blinky:

    arm-none-eabi-gcc: error: unrecognized command line option '--gc-sections'
    

    On Blinky for STM3210E-EVAL:

    - tons of errors in startup_stm32f10x_hd.s (in every single line)
    system_stm32f10x.c(1): error: target CPU does not support ARM mode
    

    Looking over the internet about the "CPU does not..." error I found solutions that lead me to another errors.

    My Question: Should be that hard to change the compiler???

Reply
  • Thanks! I made the changes you suggested but nothing works now - even in the examples (APNT 199). I'm trying to use it on STM3210E-EVAL examples but it doesn't work either.

    Errors:
    On example MCBSTM32_Blinky in get the following error:

    error: fatal error: stm32f10x_lib.h: No such file or directory
    

    On example MCB2130_Blinky:

    arm-none-eabi-gcc: error: unrecognized command line option '--gc-sections'
    

    On Blinky for STM3210E-EVAL:

    - tons of errors in startup_stm32f10x_hd.s (in every single line)
    system_stm32f10x.c(1): error: target CPU does not support ARM mode
    

    Looking over the internet about the "CPU does not..." error I found solutions that lead me to another errors.

    My Question: Should be that hard to change the compiler???

Children
  • Changing compiler tool chain need not be so hard.

    But changing compiler when using it from an IDE can really be quite hard. How hard depends a bit on the similarities between old and new compiler tool chain.

    You need to make all command-line invocations of the individual tools (assembler, compiler, linker, librarian) match.
    You need to make sure that you supply assembler startup files of a proper format for the assembler.
    You need to make sure that you supply the relevant paths for suitable header files and libraries.
    You need to make sure that the projects includes the use of the relevant libraries for all libraries the linker doesn't have some auto-method to include in the linking step.
    ...

  • Thanks Per Westermark for answering this thread and the other one. Really appreciate.
    So in order to change Keil's compiler to ARM-NONE-EABI I would have to change basically everything in my project to match the new compiler's settings?