天天看点

Source Insight工程精准导入用到的Linux内核文件

不知道大家在做Linux内核或者驱动相关开发的时候有没有碰到这样的情况,一个最新的Linux内核大约有5万多个文件,我们用Source Insight对内核创建项目工程然后建立链接,会发现一个整个项目有2个G左右的大小,而且在查找函数的调用往往会被其他没有编译进内核的文件所干扰。经过查找我发现了一个能够精准导入内核文件的方法。本文的导入脚本是从别人的项目中提取出来的,链接: [https://github.com/tonyho/Generate_Kernel_Uboot_Project_forIDE]。

首先下载文末的shell脚本。

Source Insight工程精准导入用到的Linux内核文件

放到任意文件夹下。然后运行脚本

./PF_Prj_Gen.sh ~/work/project/linux-4.19.5 ./output
           

这里 ~/work/project/linux-4.19.5 是我的Linux根文件目录,output是输出文件夹名称。

注意:output不能提前创建,内核文件必须是编译正常的,不然都会报错。

运行结束以后可以看到这个脚本统计了编译到内核的各个文件的数目

Source Insight工程精准导入用到的Linux内核文件

然后我们进入到输出目录output可以看到这个目录下有一个FileList_SourceInsight.txt文件,把这个文件复制出来放到PC机任意目录下。

然后新建Source Insight项目工程,项目名称和存放的地址任意,推荐在根文件目录下创建一个si文件夹用来存放项目链接库。

Source Insight工程精准导入用到的Linux内核文件

工程的根文件目录一样要跟内核的根文件目录一致

Source Insight工程精准导入用到的Linux内核文件

到添加文件的步骤时点击Add from list,然后选择刚刚导出的FileList_SourceInsight.txt文件

Source Insight工程精准导入用到的Linux内核文件
Source Insight工程精准导入用到的Linux内核文件

可以看到其实我们用到的文件只有3376个

Source Insight工程精准导入用到的Linux内核文件

最后同步一下工程就可以了。

导入脚本下载地址:

链接:https://pan.baidu.com/s/1Q080xJvVpVbGG1lU5FWqsg

提取码:104d

继续阅读