完整精确导入Linux Kernel u-boot到SourceInsight与Understand与SlickEdit
本帖最后由 QQ373466062 于 2015-7-7 13:07 编辑如题,以前做有效代码行统计的时候写的一个脚本,发现改一下就可以用于:完整精确导入Linux Kernel u-boot到SourceInsight与Understand与SlickEdit。
脚本解析make过程中间产生的文件依赖关系,完整的找到所有被包含的头文件与.c文件,以及依赖的头文件。
以后还会添加Eclipse的支持。
脚本使用方法:
1. 编译kernel或者u-boot
2. 使用脚本指定编译好的kenrel或者u-boot目录,与输出目录
3. 使用即可。
下面是使用方法的GIF示例,文件很大,需要耐心等待一下(也不知道是否可以显示GIF,再打开GIF好像不会自动播放了,不知道是不是cache的缘故,大家可以到github看GIF演示):
1. 产生:
2. Source Insight使用Filelist
3. Understand使用Filelist
4. SlickEdit工程
脚本地址:
https://github.com/tonyho/Generate_Kernel_Uboot_Project_forIDE
等方便的时候再上传上来。 不错,很好的办法~~ 好东西啊,很好办法支持顶{:victory:}{:victory:} 楼主,谢了,在liux上试一下,新服务器很爽,图片打开很快, MARK cool ! 必须顶. 不好用,总是提示头文件not found,而且速度很慢
而且这个不知道dts/dtsi导入
谁能做个可以把整个android编译文件导出??那才是神器 LZ,u-boot 出问题:
Source code type is:
Header file[.h] copied number: sed: -e expression #1, char 19: unknown option to `s'
Header file[.h] copied number:
Type 2 item number: 8
Copying type 1 header file[.h], item index: cp: cannot stat `misc/sample.vpj': No such file or directory
cp: cannot stat `misc/sample.vpw': No such file or directory
sed: can't read sample.vpj: No such file or directory
sed: can't read sample.vpj: No such file or directory
sed: can't read sample.vpj: No such file or directory
sed: can't read sample.vpw: No such file or directory
mv: cannot stat `sample.vpj': No such file or directory
mv: cannot stat `sample.vpw': No such file or directory
生成的file_list有问题,分析发现 file_list应该是 include/asm-asm/...和include/asm-asm/arch-XXX/...
但是生成的是 include/asm/...和include/asm/arch/
内核暂时没发现问题. forum 发表于 2015-7-7 19:09
不好用,总是提示头文件not found,而且速度很慢
而且这个不知道dts/dtsi导入
多谢使用与反馈。
头文件not found,是对gcc libc中的头文件提示,所以不影响
dts/dtsi在ToDoList中
很慢,确实是的,因为做了多次verify与循环check,同时每一个编译的文件都有一个依赖文件,都需要读取一把,确实需要优化。
快慢与机器性能也有关系,同时建立project一天也不会做很多次,所以还是能够接受的。 forum 发表于 2015-7-7 19:09
不好用,总是提示头文件not found,而且速度很慢
而且这个不知道dts/dtsi导入
多谢使用与反馈。
头文件not found,是对gcc libc中的头文件提示,所以不影响
dts/dtsi在ToDoList中
很慢,确实是的,因为做了多次verify与循环check,同时每一个编译的文件都有一个依赖文件,都需要读取一把,确实需要优化。
快慢与机器性能也有关系,同时建立project一天也不会做很多次,所以还是能够接受的。 forum 发表于 2015-7-7 19:09
不好用,总是提示头文件not found,而且速度很慢
而且这个不知道dts/dtsi导入
多谢使用与反馈。
头文件not found,是对gcc libc中的头文件提示,所以不影响
dts/dtsi在ToDoList中
很慢,确实是的,因为做了多次verify与循环check,同时每一个编译的文件都有一个依赖文件,都需要读取一把,确实需要优化。
快慢与机器性能也有关系,同时建立project一天也不会做很多次,所以还是能够接受的。 gaojieqq123 发表于 2015-7-7 21:44
LZ,u-boot 出问题:
Source code type is:
Header file[.h] copied number: sed: -e expression #1,...
谢谢使用与反馈。
u-boot这边为了支持有SPL的u-boot,添加了一些特殊对应。看起来是sed命令出错了。方便将环境(u-boot)给我调试一下吗? 试了,发现内核根目录下的init文件夹内*.c文件找不出来,linux内核版本3.4 elipse应该有选项可以根据makefile导入工程的,像内核这种理论上也是可以的。我在NetBeans上试过,但是前提电脑要好,否则过程极其得卡。 brahen 发表于 2015-7-8 14:26
elipse应该有选项可以根据makefile导入工程的,像内核这种理论上也是可以的。我在NetBeans上试过,但是前提 ...
看了看确实是的,不需要这个脚本了 QQ373466062 发表于 2015-7-8 14:15
谢谢使用与反馈。
u-boot这边为了支持有SPL的u-boot,添加了一些特殊对应。看起来是sed命令出错了。方便 ...
网盘连接:http://pan.baidu.com/s/1gdGUfPh已编译 licheng0620 发表于 2015-7-8 14:18
试了,发现内核根目录下的init文件夹内*.c文件找不出来,linux内核版本3.4
谢谢反馈。
确实存在这个问题,原因是这个目录下面没有生成.XXX.o.cmd make依赖文件,所以脚本无法找到。下次提交修复。 本帖最后由 licheng0620 于 2015-7-8 16:45 编辑
QQ373466062 发表于 2015-7-8 16:20
谢谢反馈。
确实存在这个问题,原因是这个目录下面没有生成.XXX.o.cmd make依赖文件,所以脚本无法找到。 ...
手动打开这个文件夹有是有生成*.o,*.o.cmd文件的, 又一个新的方法,去试试看 licheng0620 发表于 2015-7-8 16:44
手动打开这个文件夹有是有生成*.o,*.o.cmd文件的,
.o.cmd确实是存在的,是写的正则表达式的问题,已经修正。 gaojieqq123 发表于 2015-7-8 16:15
网盘连接:http://pan.baidu.com/s/1gdGUfPh已编译
谢谢。已经修正提交。 不错,支持一下,一直都是加入很多没用的文件,这下整个世界清爽了! 感觉很不错啊,谢谢楼主。 mark一个,研究一下。 mark 太牛了。佩服佩服。 正需要这工具,谢谢 使用这个脚本,在编译uboot或则kernel,使用-C参数的情况时,无法输出文件列表。 强帖留名,正准备用呢 mark,谢谢 谢谢分享!!! 新年好!
我的uboot放在/uboot-sunxi目录下(具体路径/home/lvy/lich/uboot/uboot-sunxi)
PF_Prj_Gen.sh和getopttest.sh放在uboot目录下,cd到这个目录执行
PF_Prj_Gen.sh /home/lvy/lich/uboot/uboot-sunxi getopttest.sh /home/lvy/lich/uboot/uboot-sunxi
都是找不到命令。
请教应该怎么输入命令。 谢谢分享,有空搞一搞。 不错啊!方便看代码。
谢谢! mark一下 太厉害了 好贴顶起来 不错,很好的办法~~ 论坛高手如云 学习学习 本帖最后由 云中飞雪 于 2018-11-30 07:24 编辑
Hi
非常感谢
楼主
还继续跟开发吗?我导入U-Boot时遇到,如图片所示,能解决吗?
谢谢
云中飞雪 发表于 2018-11-29 15:16
Hi
非常感谢
楼主
看起来是还没编译过? 需要先编译uboot和kernel QQ373466062 发表于 2018-11-30 13:45
看起来是还没编译过? 需要先编译uboot和kernel
编译了。Kernel没问题。U-boot就出现图片这样 QQ373466062 发表于 2018-11-30 13:45
看起来是还没编译过? 需要先编译uboot和kernel
能帮忙看看吗?这个太有用了 云中飞雪 发表于 2018-12-3 12:19
能帮忙看看吗?这个太有用了
抱歉,暂时时间不允许,可能需要等一段时间了。另外可以的话,你注意看看目录给定的参数(目录路径) 是否正确。也可以下载uboot官方的来编译对比看看。 QQ373466062 发表于 2018-12-3 15:24
抱歉,暂时时间不允许,可能需要等一段时间了。另外可以的话,你注意看看目录给定的参数(目录路径)...
好。谢谢 楼主牛逼,昨天在知乎上看到,下载且试用了,非常棒,没想到是坛友,mobiling QQ373466062 发表于 2015-7-8 14:06
多谢使用与反馈。
头文件not found,是对gcc libc中的头文件提示,所以不影响
dts/dtsi在ToDoList中
如何加入 dts dtsi 文件? 也有这个需求,标记一下。 楼主,我使用的时候发现source insight 点击Add from list 不能导入文件,我就把生成的FileList_SourceInsight.txt 里面的“/” 换成“\”,同时在每一行的前面加上绝对路径,然后就可以导入了。
非常感谢楼主提供的工具,现在看kernel代码稍微简单点了 感谢楼主分享!!
页:
[1]