Visual Studio Code搭建linux驱动开发环境

前言

        Visual Studio Code是一个很优秀的开发软件,但我们并不能直接用来驱动开发。因为驱动开发所需要的头文件来自Linux内核,这就要求我们自己添加内核文件。


一、获取内核?

        1.官网

                https://mirrors.edge.kernel.org/pub/linux/kernel/

        2.国内

                Index of /kernel/linux/kernel/









二、添加头文件路径








        按f1 ->  输入 C/C++:Edit Configuration(JSON)搜索 -> 打开该文件 -> 输入以下内容

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/home/kuangben/linux-5.10.10/arch/arm/include",
                "/home/kuangben/linux-5.10.10/arch/arm/include/generated",
                "/home/kuangben/linux-5.10.10/include",
                "/home/kuangben/linux-5.10.10/usr/include",
                "/home/kuangben/linux-5.10.10/include",
                "/home/kuangben/linux-5.10.10/arch/arm/include/generated",
                "/home/kuangben/linux-5.10.10/arch/um/include/asm",
                "/home/kuangben/linux-5.10.10/include/uapi",
                "/home/kuangben/linux-5.10.10/arch/arm/include/generated/uapi",
                "/home/kuangben/linux-5.10.10/arch/um/include",
                "/home/kuangben/linux-5.10.10/tools/virtio"
            ]
        }
    ],
    "version": 4
}

注:[ ]中的路径为驱动所需头文件,我的Linux内核目录为/home/kuangben/linux-5.10.10/。

        值得一提的是,上面头文件不一定全,但对我来说尚且够用,日后工作开发中发现漂红的头文件,在内核目录下搜索,得到路径,粘贴进来即可。


2.Linux内核文件解析(仅供参考)

include/ ---- 内核头文件,需要提供给外部模块(例如用户空间代码)使用。
kernel/ ---- Linux内核的核心代码,包含了进程调度子系统,以及和进程调度相关的模块。
mm/ ---- 内存管理子系统 。
fs/ ---- VFS子系统 。
net/ ---- 不包括网络设备驱动的网络子系统 。
ipc/ ---- IPC(进程间通信)子系统。
arch// ---- 体系结构相关的代码,例如arm, x86等等。
arch//mach- ---- 具体的machine/board相关的代码。
arch//include/asm ---- 体系结构相关的头文件。
arch//boot/dts ---- 设备树(Device Tree)文件。
init/ ---- Linux系统启动初始化相关的代码。
block/ ---- 提供块设备的层次。
sound/ ---- 音频相关的驱动及子系统,可以看作“音频子系统”。
drivers/ ---- 设备驱动(在Linux kernel 中,设备驱动占了49.4的代码量)。
lib/ ---- 实现需要在内核中使用的库函数,例如CRC、FIFO、list、MD5等。
crypto/ ----- 加密、解密相关的库函数。
security/ ---- 提供安全特性(SELinux)。
virt/ ---- 提供虚拟机技术(KVM等)的支持。
usr/ ---- 用于生成initramfs的代码。
firmware/ ---- 保存用于驱动第三方设备的固件。
samples/ ---- 一些示例代码。
tools/ ---- 一些常用工具,如性能剖析、自测试等。
Kconfig, Kbuild, Makefile, scripts/ ---- 用于内核编译的配置文件、脚本等。
COPYING ---- 版权声明。
MAINTAINERS ----维护者名单。
CREDITS ---- Linux主要的贡献者名单。
REPORTING-BUGS ---- Bug上报的指南。
Documentation, README ---- 帮助、说明文档。


三、 当找不到C/C++:Edit Configuration(JSON)命令怎么办?

        我们找不到C/C++:Edit Configuration(JSON)命令时,说明我们尚未设c_cpp_properties.json文件,我们可以在.vsdoce目录下添加该文件,然后加入上述内容。

问:.vscode文件在哪?

答:当你刚安装该拓展(看图片)时将在当前目录创建该文件,表示该配置文件的配置信息将仅对于当前目录有效,如想全局生效,请往下看。

四:如何设置全局生效 

        点击:文件-->首选选项-->设置-->输入System include path搜索-->然后点击添加自己的头文件

或者

        输入setting.json搜索,然后添加以下内容

 


参考:自定义 Visual Studio Code C++项目中的默认设置

总结

                                                  完。

要在Windows上搭建Linux驱动开发环境,可以使用Visual Studio Code (VSCode)这个开源的轻量级代码编辑器来辅助。以下是一些必要的步骤: Step 1: 安装VSCode 首先,需要从VSCode官方网站下载并安装VSCode编辑器。根据你的Windows版本选择对应的安装程序并按照提示进行安装。 Step 2: 安装WSL WSL(Windows Subsystem for Linux)是Windows上的一个功能,它可以在Windows系统上运行Linux发行版。打开Windows PowerShell或命令提示符,运行以下命令来安装WSL: ``` wsl --install ``` 根据提示,选择你希望安装的Linux发行版,并等待安装完成。 Step 3: 配置WSL 运行安装完成后,按照提示进行初始配置。设置你的用户名和密码,并确保你能够通过WSL访问到Linux系统。 Step 4: 安装Linux开发工具链 通过WSL的终端访问Linux系统后,你可以安装Linux上的开发工具链,比如GCC等。根据你的需求安装适当的工具。 Step 5: 安装C/C++插件 在VSCode中,点击左侧菜单中的扩展按钮,搜索并安装名为"C/C++"的插件。这个插件将使得在VSCode开发C/C++代码更加方便。 Step 6: 配置C/C++插件 配置C/C++插件,使其能够与WSL进行交互。在VSCode的设置中,找到"C_Cpp: Intelli Sense Engine"选项并将其设置为"Default"。然后找到"C_Cpp: Wsl Path"选项并将其设置为WSL的安装路径。 Step 7: 开始开发 现在,你已经完成了Windows上VSCode与WSL的配置。你可以在VSCode中打开你的Linux驱动项目,并使用Linux开发工具链来开发驱动程序。 总结: 通过上述步骤,你可以在Windows上使用VSCode搭建Linux驱动开发环境。这样你可以在一个集成开发环境中轻松地编写、调试和测试驱动程序,而无需使用额外的虚拟机或物理设备。这种方式使得Linux驱动开发更加方便和高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值