1. 禁用或卸载官方C/C++插件.
2. 安装clangd插件
3. 清除之前的产物
4. 生成.config文件
5.编译生成内核镜像
6.编译内核模块
7.编译设备树文件
8.生成compile_commands.json文件
运行上述命令后,在内核源码根目录生成了compile_commands.json文件
9.设置clangd插件
[在这里插入图片描述]t
添加下面的选项参数到clangd server。
10.打开源码c文件
至此,配置已经完成。打开任意c文件,点击函数以后,就能自动跳转到其定义处。可以开始愉快地阅读linux内核源码了~
上面的命令如下:
make ARCH=arm CROSS_COMPILE=arm-unknown-linux-gnueabi- mrproper
make ARCH=arm CC=clang versatile_defconfig
make -j8 ARCH=arm CC=clang CROSS_COMPILE=arm-unknown-linux-gnueabi- zImage
make -j8 ARCH=arm CC=clang CROSS_COMPILE=arm-unknown-linux-gnueabi- modules
make ARCH=arm CC=clang CROSS_COMPILE=arm-unknown-linux-gnueabi- dtbs
python ./scripts/clang-tools/gen_compile_commands.py
参考文献
- https://gist.github.com/itewqq/4b4ee89ba420d585efb472116879b1ee
- 手把手教你使用VSCode进行linux内核代码阅读和开发
- VSCode+clangd阅读linux内核源码