This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Compile SDK11 with ARM Compiler Version 6

I would like to use the latest ARM Compiler Version 6 (armclang) because I need some features of the C++11 language.

Is it possible to use the latest ARM Compiler Version 6 to compile the SDK 11 ? Which flags should we use to be compatible with all macros currently available for GCC and armcc ?

In future SDK releases, will this compiler be officially supported ?

Parents
  • is armclang related to clang, as in the LLVM compiler? If so, it's very likely not going to work at all. clang/llvm fails to generate proper softdevice calls in release mode for reasons I and others have gone into at length on other threads. You can't currently use clang to compile so if armclang is based on LLVM, give up.

  • I cannot comment if we're officially going to support the llvm toolchain in the future (AFAIK: It has not been discussed with management at this moment), but I am quite sure if we're going to support it in the future; it is not going to be for the next SDK release.

    I can however comment on the status as-of nRF5 SDK v11:

    One of the huge problems with our SDK + llvm/armclang is that the SVC handling is unreliable. This could be a problem on our side, or it can be a problem with the clang compiler. We're not sure at this moment.

    For Nordic to support a new toolchain, we have to make sure that all the functionality that we provide, and use in our SDK, works with this new toolchain without compromises. At this moment; it does not do that.

    Cheers, Håkon

Reply
  • I cannot comment if we're officially going to support the llvm toolchain in the future (AFAIK: It has not been discussed with management at this moment), but I am quite sure if we're going to support it in the future; it is not going to be for the next SDK release.

    I can however comment on the status as-of nRF5 SDK v11:

    One of the huge problems with our SDK + llvm/armclang is that the SVC handling is unreliable. This could be a problem on our side, or it can be a problem with the clang compiler. We're not sure at this moment.

    For Nordic to support a new toolchain, we have to make sure that all the functionality that we provide, and use in our SDK, works with this new toolchain without compromises. At this moment; it does not do that.

    Cheers, Håkon

Children
No Data
Related