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内核源码了~
上面的命令如下:
#将arm-unknown-linux-gnueabi编译程序添加到环境变量
PATH=${HOME}/x-tools/arm-unknown-linux-gnueabi/bin/:$PATH
#清除历史产物
make ARCH=arm CROSS_COMPILE=arm-unknown-linux-gnueabi- mrproper
#编译生成.config文件
make ARCH=arm CC=clang versatile_defconfig
#编译生成zImage镜像文件
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
#编译生成compile_commands.json文件
python ./scripts/clang-tools/gen_compile_commands.py