Skip to content

Add support for arm and arm64 intelliSenseModes #4271

Closed

Description

This is semi-separate from the other issues tracking our extension running on ARM machines, i.e. this is for whenever the user's code is built to target arm.

intelliSenseModes would be gcc-arm, gcc-arm64, clang-arm, clang-arm64, windows-arm, windows-arm64 .

Originally reported at #4269 .

Activity

  1. EmbeddedBacon commented on Oct 27, 2019

    @EmbeddedBacon

    When use VS Code and the remote extension to edit on a Raspberry Pi (v3 in this case) I see the error:

    Architecture arm is not supported.
    Source: C/C++ (Extension)

    This is the issue tracking this feature, correct?

  2. sean-mcmanus commented on Oct 28, 2019

    @sean-mcmanus
    ContributorAuthor

    Running on ARM is being tracked by #429 and #2506. This issue is related, but would repro even on a non-ARM machine that was targeting ARM.

  3. EmbeddedBacon commented on Oct 28, 2019

    @EmbeddedBacon

    thanks, Mr. Sean McManus (@sean-mcmanus) . I will make sure to watch these two other threads. Thanks!

  4. boardkeystown commented on Nov 22, 2019

    @boardkeystown

    It would be super helpful if there was some way to use intelliSenseModes for the raspberry pi 2,3,and 4.

  5. added
    fixedCheck the Milestone for the release in which the fix is or will be available.
    on Apr 7, 2020
  6. ghuser404 commented on Apr 30, 2020

    @ghuser404

    Is this supposed to be detected automatically by querying compiler? I'm using arm-raspberrypi-linux-gnueabi-g++ and I get IntelliSense Mode: gcc-x64.

    PS. I'm trying this on the insiders build.

  7. 1 remaining item

  8. sean-mcmanus commented on Apr 30, 2020

    @sean-mcmanus
    ContributorAuthor

    ghuser404 You could upvote #5258 .

  9. ghuser404 commented on Apr 30, 2020

    @ghuser404

    Michelle Matias (@michelleangela) I'm not setting IntelliSenseMode, I think sometimes it figures what compiler part to use (gcc or msvc), but it does not automatically detect architecture? Pretty much all I have in c_cpp_properties.json is "configurationProvider": "ms-vscode.cmake-tools" and I thought the idea was for everything to be set properly depending on CMake configuration?

    This is not ideal, because when you use cmake-tools, you'll want to use different variants with possibly different compilers. So you would be switching between cmake-tools variants, and not between cpptools configs. Currently it seems you would have to switch between both, and it seems too error-prone.

    Hopefully the above said make sense.

  10. ghuser404 commented on Apr 30, 2020

    @ghuser404

    Sean McManus (@sean-mcmanus) Ah nice, this seems to be the thing.

  11. michelleangela commented on Apr 30, 2020

    @michelleangela
    Contributor

    If the IntelliSense configuration settings are coming from a configurationProvider, the provider may need to specify the correct IntelliSenseMode for a given compiler.

    The task for ms-vscode.cmake-tools on adding support for ARM IntelliSenseMode as well as better selection of IntelliSenseMode for possible compilers is currently in progress. The issue is microsoft/vscode-cmake-tools#1155.

  12. ghuser404 commented on Apr 30, 2020

    @ghuser404

    Michelle Matias (@michelleangela) Awesome! Thanks for the information.

  13. elahehrashedi commented on May 13, 2020

    @elahehrashedi
    Contributor

    This issue is fixed in 0.28.0.
    0.28.0 release: https://github.com/microsoft/vscode-cpptools/releases/tag/0.28.0

  14. sokzmalin commented on May 21, 2020

    @sokzmalin

    I'm a little confused. Support ARM architecture is supposed to be added in 0.28.0 but I'm still getting "architecture arm is not supported". Running VSCode remotely on raspberry pi 4 hardware. So I'm not what is the status of the ARM support.

  15. michelleangela commented on May 21, 2020

    @michelleangela
    Contributor

    sokzmalin (@sokzmalin)

    This feature is for adding IntelliSense modes to emulate ARM architecture and not for the extension to run on an actual ARM device. The issue to add support for the extension to run on ARM devices is being tracked by issues #429 and #2506.

  16. jakcho commented on Jun 6, 2020

    @jakcho

    sokzmalin (@sokzmalin)

    This feature is for adding IntelliSense modes to emulate ARM architecture and not for the extension to run on an actual ARM device. The issue to add support for the extension to run on ARM devices is being tracked by issues #429 and #2506.

    I am developing and app using Windows 10 for Raspberry pi3, using the remote-ssh connection.
    I am facing: "Architecture arm is not supported."
    Is the fix in this thread supposed to work for my setup? Using intelisense 28.2 version, installed on remote.

  17. michelleangela commented on Jun 8, 2020

    @michelleangela
    Contributor

    I am developing and app using Windows 10 for Raspberry pi3, using the remote-ssh connection.
    I am facing: "Architecture arm is not supported."
    Is the fix in this thread supposed to work for my setup? Using intelisense 28.2 version, installed on remote.

    jakcho , the issue tracking the support for the extension to run on ARM/ARM64 devices are at #429 and #2506. This issue #4271 was for IntelliSense modes only.

  18. mirkow commented on Jun 8, 2020

    @mirkow

    I am developing and app using Windows 10 for Raspberry pi3, using the remote-ssh connection.
    I am facing: "Architecture arm is not supported."
    Is the fix in this thread supposed to work for my setup? Using intelisense 28.2 version, installed on remote.

    jakcho , the issue tracking the support for the extension to run on ARM/ARM64 devices are at #429 and #2506. This issue #4271 was for IntelliSense modes only.

    What is the difference? I face the same issue as jakcho. To work remotely on the Raspberry PI with IntelliSense would awesome.

  19. michelleangela commented on Jun 9, 2020

    @michelleangela
    Contributor

    IntelliSense mode is just emulation, where the IntelliSense engine will evaluate data sizes and some preprocessor definitions in the source code based on the selected IntelliSense mode architecture. So the host machine that the extension is running on can be an x64-bit machine, but you can tell IntelliSense to evaluate the source code as if it's being compiled for a different architecture.

    This is different from running the C/C++ extension on an ARM or ARM64 machine. For the extension to run on those machines, the extension needs to be build for those machine instruction set. Currently, the extension can run on x64 bit machines on Windows, Linux, and macOS platforms.

  20. locked and limited conversation to collaborators on Oct 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Feature RequestLanguage ServiceWorks in VSSo we'd need to fix it for VS Code to reach parity.fixedCheck the Milestone for the release in which the fix is or will be available.

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions