有没有办法在VS Code上为IAR工具链创建一个带有Dockerfile的开发环境?

问题描述 投票:0回答:1

我是编写 dockerfile 和创建开发容器的完全初学者。我想创建一个 devcontainer,可供我团队中在 vscode 上使用 IAR 编译器/工具链的任何人共享和使用。

到目前为止我已经为我的 dockerfile 写了这个:

FROM ubuntu:24.04 as base

RUN apt-get update
#RUN apt-get install ca-certificates gpg wget

#Set up a directory
RUN mkdir ~/setup
WORKDIR ~/setup

#Add IAR Build Tools for Arm:
ADD [link to download] /setup/
RUN apt-get install /setup/bxarm-9.50.2.deb 

ADD [link to download] /setup/
RUN apt-get install /setup/bxarm-9.50.2.deb.sha256

ADD [link to download] /setup/
RUN apt-get install /setup/bxarm-cspy-device-support-9.50.2.deb

#Install required packages for Build Tools
RUN sha256sum --check ./bxarm-9.50.2.sha256sum
RUN apt-get install /bxarm-*.deb

#Install CMake
RUN apt-get install cmake

#Install Ninja
RUN apt-get install -y ninja-build
RUN ninja --version`

我使用这个存储库作为我需要什么软件的指导,但它只是关于在 VS Code 上运行 IAR - 与 Dockerfile 无关。

这个 dockerfile 有意义吗?一旦我获得 IAR 许可批准,[] 部分将用文件填写。我计划将其与 json 文件一起放入 .devcontainer 文件夹中,但我不确定还要放入此文件夹中以使其运行。正如我之前所说,我是一个完全的初学者。

docker dockerfile iar vscode-devcontainer devcontainer
1个回答
0
投票

您还可以从 bx-docker 获得灵感,打造 IAR 的功能性 Docker 映像,然后从那里应用任何进一步的自定义。

然后可以将图像上传到您组织的私有注册表(即

docker push <private-registry>/<user>/bxarm:9.50.2
),以便可以使用 devcontainer 按需拉取它。

对于一个项目来说,它只是创建一个文件

.devcontainer/devcontainer.json
来满足其要求。示例:

{ 
  "name": "BXARM version 9.50.2",
  "image": "<private-registry>/<user>/bxarm:9.50.2",

  // For debugging
  "runArgs": ["--privileged"],

  // Suggests installation for the project's required extensions
  "customizations": {
    "vscode": {
      "extensions": [
        "ms-vscode-cpptools-extensionpack",
        "ms-vscode-remote.vscode-remote-extensionpack",
        // For debugging
        "iarsystems.iar-debug"
      ]
    }
  },

  // etc.

  // Mount points between host and container
  "mounts": [
    "type=volume,src=LMS2,dst=/usr/local/etc/IARSystems",
    // For debugging
    "type=bind,src=/dev/bus/usb,dst=/dev/bus/usb"
  ]
}

在特权模式下运行容器 (

--privileged
) 是 USB 直通的必要步骤,以便正确识别 IAR 调试器探针。

© www.soinside.com 2019 - 2024. All rights reserved.