解决linux kernel代码过大,source insight同步时间太长,垃圾文件过多的问题

解决linux kernel代码过大,source insight同步时间太长,垃圾文件过多的问题

我们做linux开发都会使用神器sourceinsight,单就我而言,不用它,我就看不懂代码。若是单片机代码,使用source insight也许不会有什么烦恼。但linux kernel开发使用source insight看代码就会发现

1、添加一个source insight工程是多么的痛苦,建立一个工程是非常巨大的,关联所有变量的时间是消耗不起的,短则1 - 2小时,长则4 5个小时。至少对于我来说非常难受,而且有时候抽风一下变量没有关联上,又得重新同步一下。这之间将会花掉非常多的时间。

2、跳转变量定义可能会显示几十个地方,也很难轻易快捷的选中真实定义。

这篇文章就是为了解决上述问题而做的一个记录,希望可以帮助到大家。

最后效果: 过滤kernel或uboot中所有没有被编译到的文件,减少工程文件树。精确添加所有编译所用到的文件

在此膜拜git大佬tonyho,提供的脚本。

使用流程

这里我用sourceinsight4.0,其实版本什么的无所谓啦。

  1. 去git大佬tonyho仓库中下载PF_Prj_Gen.sh脚本,仓库地址:https://github.com/tonyho/Generate_Kernel_Uboot_Project_forIDE
    在这里插入图片描述
    下载得到PF_Prj_Gen.sh脚本。随便放个地方吧。

  2. 首先一定要编译一下kernel源码,如果是建立uboot,那么就编译uboot源码。保证编译通过。

  3. 然后命令行执行PF_Prj_Gen.sh脚本,命令:./PF_Prj_Gen.sh android8.0_imx6/vendor/nxp-opensource/kernel_imx/ ./outfile, 结果如下:在这里插入图片描述
    可以看到,我的工程中kernel编译过程中依赖的文件为2496+3440+3441个。若是用别的方式添加,可能会添加多达几十万个文件。
    赋予PF_Prj_Gen.sh可执行权限。PF_Prj_Gen.sh脚本参数为PF_Prj_Gen.sh param1 param2, 其中 param1为kernel或者uboot源码主目录,param2为执行PF_Prj_Gen.sh后生成文件所存放的目录,param2必须不存在。

  4. 进入outfile文件中找到FileList_SourceInsight.txt文件,这个就是我们所要的。
    在这里插入图片描述

  5. 接下来建立sourceinsight工程,到添加文件时选择add from list。然后选择FileList_SourceInsight.txt文件。等添加完文件点Close完成文件添加。
    在这里插入图片描述
    6.最后rebuild工程。Project->rebuilt project,然后就可以使用啦。简直清爽!!!

问题补充

  1. SourceInsight工程应该建立在kernel根目录下,因为通过脚本生成的list是相对路径而不是绝对路径。
文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux入门初识Linux 33358 人正在系统学习中
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Source Insight中的文件同步可以通过以下步骤完成: 1. 首先,将代码添加到项目中并进行同步。这可以通过点击"Project"菜单,然后选择"synchronization file"来完成。这将生成一个用于阅读代码的索引和辅助文件,方便对源代码进行阅读和导航。 2. 另一种方法是将Python打包的exe文件放入MDK工程文件夹下,在Source Insight中双击该文件以生成文件列表。然后在Source Insight中打开并导入文件列表,这样可以方便地将文件添加到工程中,同时可以上传附带的Python源代码。 3. 可以将特定文件添加至Source Insight的Base工程中,以便进行同步。将文件添加到"Source Insight 4.0\Projects\Base\quicker.em"目录下,并将该文件添加至Base工程中。然后执行"Project"菜单中的"Synchronize Files"选项,以同步该文件。 总之,Source Insight中的文件同步操作可以通过以上方法完成,这样可以确保代码的一致性和准确性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Source Insight 4.0的日常使用操作(保姆级)](https://blog.csdn.net/mjy520123/article/details/120297021)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Source insight 4 快捷导入 MDK工程文件工具](https://download.csdn.net/download/liuwei_hziee/10956535)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [【亲测】Source Insight4.0 quicker.em资源与使用方法](https://download.csdn.net/download/wangtian3599/12014850)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值