如何优雅的使用source insight阅读linux源码-Generate_Kernel_Uboot_Project_forIDE

1. 引言

source insight是一直在用的代码阅读器了,升级到4.0之后,基本功能都有了,觉得也挺顺手。
主要问题就是,在面对很多文件的大工程中,导入文件和同步时间都太长了,尤其是Linux内核,文件又多,而且代码源文件还在linux服务器上,是smb挂载上来的。建一个工程大几个小时,都不敢关,因为有时候下次再一开,工程崩了,我也就崩了。
因为这个原因,转去了Vscode一段时间,某天突然在网上看到了可以精准导入linux源码到SI的方法,赶紧来试一下。
基本原理就是,把整个工程完整编译一遍,根据编译过程中的中间变量生成依赖关系,根据依赖关系导入SI。

2. 资源

主要用到的是 “Generate_Kernel_Uboot_Project_forIDE” 工具。

github上有

下不动的可以来下这个:

3. 步骤

3.1 重编完整代码

先进入linux内核源码路径,把之前的编译内容全部清除掉。然后重编代码。

#!/bin/sh
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_v7_defconfig
#make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j16 > build_log.txt

用distclean而不是clean。
在这里插入图片描述

3.2 根据编译结果生成对应的依赖文件

进入2中下载的工具Generate_Kernel_Uboot_Project_forIDE文件夹,
运行

./PF_Prj_Gen.sh ../../../I.MX6U/openedv/1__DemoCode/11___OpenEdv_Board_Uboot_Linux/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek ./RelyFile

格式是:

./PF_Prj_Gen.sh linux源码路径 输出文件夹

需要自己把Linux源码的路径写入。
注意输出文件夹不要和当前文件夹下已有文件夹同名,会报错。

输出如下:
在这里插入图片描述
会在当前文件夹下生成一个RelayFile的文件夹,进入后可以找到一个FileList_SourceInsight.txt文件。
在这里插入图片描述

3.3 建立source insight工程

新建一个SI工程,前面都随便。
在这里插入图片描述
在这里插入图片描述

直到添加文件的地方。
在这里插入图片描述

选择add from list,导入刚才生成的FileList_SourceInsight.txt,再sync一下即可。
在这里插入图片描述

4. 使用遇到的问题

4.1 Source code is : [unknown]

之前在家里找IMX6的工程很方便。
但是在单位找xilinx ZYNQ的工程就没找到。
运行脚本时,报错:
在这里插入图片描述
看了一下脚本,
脚本是在当前目录下去找 u-boot 和 vmlinux 来判断当前是linux工程还是uboot工程。
所以我在linux目录下,touch了一个vmlinux,再运行脚本,就成功了。

4.2 add from list 不成功

有些时候add from list 一直不成功。
add之后先未响应,卡一会,恢复之后工程里也没有文件添加进来。
于是我修改了FileList_SourceInsight.txt
1、把所有的斜杠换成反斜杠
2、使用列编辑模式,在每行前面添加了完整的路径。
重新add form list 就好了。
在这里插入图片描述

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值