cancel
Showing results for 
Search instead for 
Did you mean: 

ARM6 Compiler Support

PBull
Associate III

Hello,

I tried to port an TouchGFX-Application from ARM5-Compiler (ARMCC) to ARM6 (ARMCLANG). Both compilers are from KEIL (µVision).

Well it does compile, but it doesn't link:

Warning: L6869W: abstractpainter.o requested the Rogue Wave Standard C++ Library which has been removed from the product. This might cause link errors because libc++ is used instead.

Error: L6242E: Cannot link object abstractshape.o as its attributes are incompatible with the image attributes.

(There are a lot more linker errors)

I do believe the provided TouchGFX-Library is not compatible with ARMCLANG (and there is no other library supplied in ...\TouchGFX\4.10.0\touchgfx\lib\core\cortex_m7\Keil)

Is that the case, or did I miss something else?

1 ACCEPTED SOLUTION

Accepted Solutions
Martin KJELDSEN
Chief III

Hi @PBull​,

You're correct - We do not provide an ARMCLANG compatible library.

Edit: I created one anyway here, for Cortex-M7.

http://sw-center-st-com.s3-eu-west-1.amazonaws.com/touchgfx/TouchGFX/Patches/4.13.0/touchgfx_core_clang.zip

Edit 11/06/2020: ARMCLANG support will be out for 4.14.0 which we're working on now. This release will also see an ARMCLANG lib for Cortex-M33.

Best regards,

Martin

View solution in original post

31 REPLIES 31
Martin KJELDSEN
Chief III

Hi @PBull​,

You're correct - We do not provide an ARMCLANG compatible library.

Edit: I created one anyway here, for Cortex-M7.

http://sw-center-st-com.s3-eu-west-1.amazonaws.com/touchgfx/TouchGFX/Patches/4.13.0/touchgfx_core_clang.zip

Edit 11/06/2020: ARMCLANG support will be out for 4.14.0 which we're working on now. This release will also see an ARMCLANG lib for Cortex-M33.

Best regards,

Martin

Hi @Martin KJELDSEN​ 

Any news on this?

No news. As in, it's not a priority at the moment.

PBull
Associate III

Adding my two cents:

ARMCC is no longer being actively developed by Keil.

It contains many features of C++11, but the STL is still C++03 (so no std::array etc ...).

ARMCLANG supports newer C++ standards.

If your project depends on the middleware from Keil, you are stucked to ARMCC, because of TouchGFX (Lib).

I would like to see it on the roadmap.

Best regards,

Peter

My words exactly.

And we would like to develop a new product, but not with an old compiler...

So, I also would like to see it on the roadmap.

Regards, jimmii

I agree. You're not alone. It takes about 1 minute to produce such a lib for me (in theory) - I will check to see if i can release it as a "patch".

That would be super great and much appreciated.🙏

thanks, unfortunately following linker errors occur:

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object abstractpartition.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object lcd16bpp.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object application.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object bitmap.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object constfont.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object dma.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object font.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object fontmanager.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object hal.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object lcd.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object screen.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object textprovider.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object typedtext.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object unicode.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object utils.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object container.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object displaytransformation.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object drawable.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object gestures.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object stm32_crc_lock.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object texturemaptypes.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.

TestCompiler\TestCompiler.axf: Error: L6242E: Cannot link object touchcalibration.o as its attributes are incompatible with the image attributes.

  ... wchart-16 clashes with wchart-32.

  ... packed-enum clashes with enum_is_int.