栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

source insight的使用:快速查看LINUX内核(去除多余文件 + 条件编译)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

source insight的使用:快速查看LINUX内核(去除多余文件 + 条件编译)

一、环境

1、使用的是linux内核版本4.1.x + ARM架构
2、source insight4.0中文版

二、工具包下载

有需要的小伙伴也可以下载工具包**(本文需要用到的工具都有)**
工具包里面有source insight4.0中文版、PF_Prj_Gen.sh脚本、lkc2sicx.py 脚本
链接:https://pan.baidu.com/s/1U3VDhBIlbCuV7xE3ssSPfQ?pwd=39k0
提取码:39k0

三、source Insight4.0的使用

(以Source Insight 4.0为例)
0、source Insight4.0安装过程可以参考博客:https://blog.csdn.net/tuwulin365/article/details/117387331

1、安装完source Insight软件后,先把准备打开的内核源码放在一个目录下(例如:D:linux-imx-rel_imx_4.1.15_2.1.0_ga)

2、新建一个工程,项目名任意。项目数据存放路径选择内核源码目录(例:D:linux-imx-rel_imx_4.1.15_2.1.0_ga)


写好项目名和存储地址后就按“OK”,然后继续按OK

继续按OK

找到内核源码,如上图所示,然后按 添加树/“add tree”
最后效果图如下,然后就按关闭

四、同步文件

新的工程需要同步文件,否则查看某个函数定义时会出现symbol not found:XXXXX

五、去除linux内核不必要的文件

上诉步骤做完以后,会发现linux内核文件很多,作者这个内核也有5W多个文件,有很多个文件函数都重复定义的,不方便我们查看。

1)使用PF_Prj_Gen.sh脚本

参考博客:https://blog.csdn.net/qq_30027083/article/details/89524520
(脚本可以在本文提供的工具包中下载,也可以在上述博客中下载)
在ubuntu中使用PF_Prj_Gen.sh脚本,具体操作:
1、首先一定要编译一下kernel源码,如果是建立uboot,那么就编译uboot源码。保证编译通过
2、再将下载的PF_Prj_Gen.sh脚本复制到存放到(编译过的)linux内核源码目录下(例:ebf_6ull_linux_test)

chmod 777 PF_Prj_Gen.sh

3、再命令行执行PF_Prj_Gen.sh脚本,(必须要保证outfile文件夹不存在),命令:

sudo ./PF_Prj_Gen.sh . ./outfile

4)再将生成的outfile文件夹下的FileList_SourceInsight.txt放到Windows任意一个路径上
5)回到source Insight软件,点击菜单:项目 —> 添加和移除项目文件 --> 删除全部 --> 从列表中添加 --> FileList_SourceInsight.txt —>关闭


6)最后可以看出我们的内核其实只需要4千多个文件就可以了

五、使用内核条件编译

参考:https://www.freesion.com/article/49471445233/
内核中除了很多没用到的文件,代码中也有很多条件编译,像进去一个函数的定义中,会发现有几个.c都有这个函数的定义。那么这个时候就需要我们的条件编译了。ps:需要用到我们编译内核时的.config配置文件
1)(工具包)下载 lkc2sicx.py 转换脚本,然后放到已经编译过的linux内核的目录下(这个脚本是将.config配置文件转换为xml)

2)进入ConvertLinuxKernelConfig2SourceInsightConditionsXml-1.0 下

3)将内核的配置文件.config放到ConvertLinuxKernelConfig2SourceInsightConditionsXml-1.0 下,然后使用lkc2sicx.py:

sudo cp ../.config config
sudo ./lkc2sicx.py -s config -d example


4)将生成的example.conditions.xml放到Windows随便一个文件夹下

5)回到source Insight软件,点击菜单:项目 —> 默认项目设置–> 条件–> 导入 --> 替换所有条件 —>载入 —> 生成的example.conditions.xml —》后面全部选择OK





6)等同步完所有文件后,菜单:选项 ---- >风格选项 —> (风格名)Inactive Code —> 删除线选择ON —>完成/OK


7)效果图:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/974326.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号