700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Visual Studio Code搭建linux驱动开发环境

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

时间:2021-05-05 09:15:11

相关推荐

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

前言

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

一、获取内核?

1.官网

https://mirrors./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文件在哪?

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

四:如何设置全局生效

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

或者

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

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

总结

完。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。