【问题标题】:yocto SDK integration with VSCodeyocto SDK 与 VSCode 的集成
【发布时间】:2021-04-19 05:47:39
【问题描述】:

是否有方法或步骤可以将 yocto SDK(标准或可扩展)与 VSCode 集成?我想使用 yocto 生成的 Linux 映像在 VSCode 中为目标硬件交叉编译、远程连接和调试 C/C++ 应用程序。这可能吗?我知道 bitbake 扩展,但找不到适用于 SDK 的扩展。谢谢!

【问题讨论】:

    标签: visual-studio-code yocto


    【解决方案1】:

    保守地说,我会说这取决于您想要实现的集成级别,但我经常使用 VS Code 来编辑和构建,有时使用 Yocto 工具链调试 C 应用程序,这对于 Makefile 项目来说真的很容易。

    假设您不要求将 Yocto 集成到 VS Code 中(我不知道是否存在),而是真正使用 Yocto 的 SDK 生成的工具,并且您已经熟悉 Yocto 工具链的使用。

    我个人从 Windows PC 远程在 Linux 服务器上编译。因此,服务器包含我的项目和 Yocto 工具链。 为此,我在 VS Code 上使用来自 Microsoft 的漂亮 Remote SSH extension。从那里,我可以轻松地编辑文件、编译并且可以使用终端(但这超出了您的问题范围)。

    因此,如果像我一样工作或直接在 Linux 中工作,您可以创建一个 Makefile/CMake 项目,例如。 C/C++ VS Code extension 是必须的。

    每次开始工作时,您都可以获取 Yocto SDK 工具链并直接使用 VSCode 终端窗口中的 make 进行编译。如果你想自动化构建步骤,你可以使用 VS 的task feature,例如它允许你启动构建脚本。

    关于远程连接,VS 的终端窗口也可以有多个子窗口,通过 SSH 等各种连接到目标。构建脚本也可以使用 scp 将生成的二进制文件直接发送到目标,但您的问题对于您想要做什么含糊其辞。

    最后在调试方面,VS Code 很好地支持 GDB,official docC++ debugging doc 是一个好的开始。

    在 Yocto 端,您需要将 gdbserver 添加到目标上运行的映像中,可以通过将以下内容添加到您的 conf/local.conf 来完成:

    EXTRA_IMAGE_FEATURES += "tools-debug"
    

    如果您想获得目标上共享库的调试信息,您还需要添加:

    EXTRA_IMAGE_FEATURES += "dbg-pkgs"
    

    最后,SDK 必须使用与目标上运行的映像相同的选项生成,并且将包含要在主机端使用的跨 gdb 工具,例如 -gdb。

    所以这是可能的,但需要一些设置,尤其是调试部分。据我所知,没有 VS Code 扩展可以自动为您管理所有这些步骤。

    【讨论】:

    • 我需要调试部分的说明。
    • 能否提供一些 vscode 任务的代码示例?我在使用 SDK source env 命令时遇到了一点问题。
    猜你喜欢
    • 2022-10-18
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 2013-08-18
    • 2020-03-31
    • 2021-05-07
    • 2014-08-27
    • 1970-01-01
    相关资源
    最近更新 更多