yocto SDK integration with VSCode



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

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

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

我个人从Windows PC远程在Linux服务器上编译。因此,服务器包含我的项目和Yocto工具链。我使用了微软在VS Code上的远程SSH扩展。从那里,我可以很容易地编辑文件,编译和终端可用(这超出了你的问题的范围)。

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

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

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

最后在调试方面,VS Code很好地支持GDB,官方文档和c++调试文档是一个很好的开始。

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

EXTRA_IMAGE_FEATURES += "tools-debug"

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

EXTRA_IMAGE_FEATURES += "dbg-pkgs"

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

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

最新更新