标签:
相信有很多人用 SourceInsight 查看 Linux Kernel 源码,但导入源码时会遇到一些问题。
1、如果把整个源码树都导入进去,查看符号定义的时候,会发现有大量重复定义,很难找到正确的位置
2、如果手动导入只和该硬件平台相关的源码,工作量太大
本帖提供了一个方法,可用脚本生成只和该硬件平台相关的源码的文件列表,然后通过该文件列表,将相应文件导入 SourceInsight 。
以下是步骤,共4步:
1、新建 SourceInsight 项目
先不要导入文件,停在如下界面:
2、完整编译内核,将编译时输出的信息保存到一个文件中
例如:
build_log.txt 文件中内容大致如下:
3、生成文件列表
下载 帖子 最后面的附件,解压后是 linux shell 脚本。
编辑脚本两个变量,ARCH 和 MACH,MACH是平台的名字。如果你用的平台对应 arch/arm/mach-at91 的话,就改成 MACH=at91,以此类推。
在内核源码目录下执行:
这样,SourceInsight 需要的 文件列表 file_list.txt 就生成了。里面的内容大致如下:
4、导入文件列表
回到 SourceInsight,点击窗口右下角 help 按钮上方的 “add from list” 按钮导入生成的 file_list.txt 文件。
到此为止,文件导入完成了。重新打开工程,会提示同步、构建,之后就可以正常的查看源码了。
这样导入的文件和硬件平台是完全对应的。
下面是本帖的核心,就是这个脚本,有兴趣的可以看看:
SourceInsight 精确导入Linux kernel源码的方法
标签:
原文地址:http://www.cnblogs.com/mouou/p/4599148.html