您现在的位置是:首页 >技术交流 >【Linux驱动】VScode 环境简单配置网站首页技术交流

【Linux驱动】VScode 环境简单配置

仲夏夜之梦~ 2024-07-22 00:01:02
简介【Linux驱动】VScode 环境简单配置

在开始编写驱动之前,我们需要保证良好的编码环境,这里编写代码所使用的编辑器是VScode,如果进行环境配置,可能会提示很多错误,比如头文件找不到、内核函数的定义无法跳转等等。

VScode 在这里只作为编辑器使用,配置的是编辑环境,而不是编译环境


目录

一、内核源码准备

1、下载并解压内核源码

2、内核源码解压

二、VScode 编辑环境配置

三、VScode安装插件


一、内核源码准备

1、下载并解压内核源码

编写驱动时,我们需要用到内核中的一些头文件,如 linux/module.h、fs.h 等,因此,我们需要先下载内核源码,本人使用的是imx6ull mini 版,可以在正点原子官方论坛下载到内核源码。

正点原子下载中心链接:正点原子下载中心

下载以后,然后解压,按照下图提示就可以获取到内核源码了。

2、内核源码解压

内核源码我们需要有两份,一份是放在Windows环境下,用于解决我们编写代码时,VScode找不到头文件的问题。

一份是放在Linux环境下,用于提供一些内核库,以便于将写好的源文件编译成模块(.ko 文件)

Windows下解压

解压以后记住解压路径,等会在配置VScode的时候会用到。本人这里的解压路径是 D:/linux-kernel/linux-imx-kernel-4.1.15

Linux下解压

解压以后同样要记住解压路径,等会在编写Makefile文件的时候,需要指明内核源码所在目录。本人这里的解压路径是 /home/pigeon/workspace/linux-kernel 

二、VScode 编辑环境配置

VScode当前工作目录相关的配置是保存在 .vscode 目录下的,如果没有 .vscode 目录,我们可以自己先手动创建一个。.vscode 目录下至少包含如下两个文件:

  • c_cpp_properties.json
  • settings.json

c_cpp_properties.json

我们在这个文件里指定头文件路径,一般这里配置的是编译环境,只不过我们不使用vscode来编译,只用于编写代码。因此,只需要配置头文件目录即可

我们引入内核源码中如下目录(下面的目录都是相对于内核源码的根目录而言的),根目录就是Windows下解压内核源码的目录 D:/linux-kernel/linux-imx-kernel-4.1.15

include/
arch/arm/include/
{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "D:/linux-kernel/linux-imx-kernel-4.1.15/include/",
                "D:/linux-kernel/linux-imx-kernel-4.1.15/arch/arm/include/"
            ],
            "defines": [],
            "intelliSenseMode": "windows-msvc-x64",
            "cStandard": "c11",
            "cppStandard": "gnu++14"
        }
    ],
    "version": 4
}

settings.json

这个是配置文件显示、查询等相关内容的。

{
    "search.exclude": {
        "**/node_modules": true,
        "**/bower_components": true,
        "**/*.o":true,
        "**/*.su":true, 
        "**/*.cmd":true,
        "Documentation":true,      
    },
    "files.exclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/CVS": true,
        "**/.DS_Store": true,  
        "**/*.o":true,
        "**/*.su":true, 
        "**/*.cmd":true,
        "Documentation":true, 
    }
}

三、VScode安装插件

VSCode 支持多种语言,比如 C/C++、Python、C#等等,为了方便后续代码编写,需要安装一些插件,如 C/C++的扩展包、设备树语法、Makefile语法等。

  • C/C++:必须要有的,支持C/C++语法
  • C/C++ Snippets:C/C++重用代码块
  • C/C++ Advanced Lint:C/C++静态检测
  • Include AutoComplete:自动头文件包含
  • Rainbow Brackets:彩虹花括号,有助于阅读代码
  • Arm Assembly:支持 ARM 汇编语法高亮显示
  • vscode-icons:VSCode 图标插件,主要是资源管理器下各个文件夹的图标
  • DeviceTree:设备树语法插件
  • TabNine:一款 AI 自动补全插件
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。