在windows通过VS Code开发Linux内核驱动程序
最近在看Linux设备驱动程序第三版,为了在windows系统上练手操作,先是下载VMware Workstation安装了Linux系统虚拟机。然后在vscode上编写简单的示例程序,通过ftp把源文件发送到Linux虚拟机后,再在虚拟机上make编译测试内核驱动程序。这样即使是在内核日志中打印个简单的hello world也需要复杂的过程,并且没有代码提示。
配置 VS Code
安装 VS Code 扩展插件
点击VS Code左边栏的扩展按钮,搜索并安装 C/C++ 和 Remote - SSH 这两个扩展插件,其他可根据自己喜好添加。
- Remote - SSH
- C/C++
配置SSH
安装Remote - SSH插件后左边就会增加一个“远程资源管理器”按钮,进入后点击加号。
点击加号后会在顶部弹出输入框。
输入ssh命令,比如:ssh root@192.168.106.128
“@”后面的IP是Linux虚拟机的IP地址,可以通过ifconfig命令查看。
添加好SSH远程主机后,点击右边的按钮。
在新窗口中输入用户密码
连接成功后点击左边的资源管理器,再点击“打开文件夹”,选择打开Linux虚拟机中的代码文件夹。
完成上面的步骤后就可以通过vscode直接在Linux虚拟机中的编写代码了,不需要再通过ftp将写好的源文件发到虚拟机上。
但是现在的VS Code仍无法关联到内核的头文件,需要再配置一下C/C++插件。
C/C++ 扩展插件配置
点击右下角的C/C++配置,或者直接按ctrl+shift+P搜索"C/C++",打开UI设置或者JSON设置
在包含路径(include path)中添加路径(UI设置)
/usr/src/kernels/3.10.0-1160.el7.x86_64/include/**
/usr/src/kernels/3.10.0-1160.el7.x86_64/arch/x86/include/**
/usr/src/kernels/3.10.0-1160.el7.x86_64/drivers/**
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/**
/usr/include/**
${workspaceFolder}/**
主要添加前面三个路径:文章来源:https://www.toymoban.com/news/detail-460760.html
- /usr/src/kernels/$(内核版本号)/include/**
- /usr/src/kernels/$(内核版本号)/arch/x86/include/**
- /usr/src/kernels/$(内核版本号)/drivers/**
内核版本号通过 “uname -r” 查看
添加 include path 后VS Code还是会出现“未定义标识符”的红波浪警告,目前的解决方法是将 compilerPath 改成空字符串 “”。文章来源地址https://www.toymoban.com/news/detail-460760.html
到了这里,关于在windows通过VS Code开发Linux内核驱动程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!