搜索
bottom↓
回复: 209
打印 上一主题 下一主题

SourceInsight 快速、精确导入 IAR/MDK工程 源码的Python脚本

  [复制链接]

出0入0汤圆

跳转到指定楼层
1楼
发表于 2018-7-1 22:12:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
        这个标题是不是有点熟悉

        最近有个项目用了颗WIFI soc,厂商提供的SDK很大,用source insight看的时候总是提示多处定义,甚是麻烦。受坛里 《不要错过!SourceInsight 快速、精确导入 Linux Kernel 源码的方法》的启发,自己用python搞了个类似的脚本,用着还行,特此分享;

        使用方法:将脚本放到IAR或MDK工程目录下(与.eww/.uvproj同级),运行脚本,一切正常的话就会在目录下生成一个txt文件,在source insight里导入便好。
        注意:运行脚本前须要编译一下工程!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛22周年了!感谢大家的支持与爱护!!

世间万般皆为虚妄,唯有情爱执念最是折磨人心。人心本不可试探,一试便碎;真情更不能考验,一考就断!

出0入0汤圆

2楼
发表于 2018-7-1 22:25:17 | 只看该作者
顶一顶楼主,这个是好东西。

出0入0汤圆

3楼
发表于 2018-7-1 22:38:34 | 只看该作者
这个好东东西啊。。。膜拜加感谢。。。

出0入0汤圆

4楼
发表于 2018-7-1 22:42:08 | 只看该作者
顶,拿来试试

出20入25汤圆

5楼
发表于 2018-7-1 22:54:10 来自手机 | 只看该作者
多谢楼主

出0入0汤圆

6楼
发表于 2018-7-1 23:02:47 | 只看该作者
厉害了   牛逼哄哄的

出160入17汤圆

7楼
发表于 2018-7-1 23:27:55 | 只看该作者
这个爽,不用用手动筛查了,感谢撸主

出0入0汤圆

8楼
发表于 2018-7-2 00:41:19 | 只看该作者
mark 学习 一下 SourceInsight 快速、精确导入 IAR/MDK工程 源码的Python脚本

出110入0汤圆

9楼
发表于 2018-7-2 00:45:55 来自手机 | 只看该作者
这个好啊!大大的赞一个!

出0入0汤圆

10楼
发表于 2018-7-2 06:46:43 来自手机 | 只看该作者
感谢楼主分享

出0入0汤圆

11楼
发表于 2018-7-2 06:47:47 来自手机 | 只看该作者
感谢楼主分享

出0入25汤圆

12楼
发表于 2018-7-2 07:13:41 来自手机 | 只看该作者
python2 还是python3的?

出0入0汤圆

13楼
发表于 2018-7-2 07:15:15 来自手机 | 只看该作者
试试               

出0入0汤圆

14楼
发表于 2018-7-2 07:34:54 来自手机 | 只看该作者
感谢分享,收藏!

出0入0汤圆

15楼
发表于 2018-7-2 08:10:14 | 只看该作者
多谢楼主 收藏!

出0入16汤圆

16楼
发表于 2018-7-2 08:18:34 | 只看该作者
有这个工具方便多了

出0入0汤圆

17楼
发表于 2018-7-2 08:26:34 | 只看该作者
这个不错,必须顶

出0入4汤圆

18楼
发表于 2018-7-2 08:28:03 | 只看该作者
楼主厉害的,解决了一个困扰很久的问题,多谢

出5入10汤圆

19楼
发表于 2018-7-2 08:33:53 | 只看该作者
楼主,MDK for C51 不支持吗?
N76E003工程下,无法正常运行~

出0入0汤圆

20楼
发表于 2018-7-2 08:35:56 | 只看该作者
好东西,感谢楼主

出0入8汤圆

21楼
发表于 2018-7-2 08:35:56 | 只看该作者
.py文件怎么运行

出0入0汤圆

22楼
发表于 2018-7-2 08:37:34 来自手机 | 只看该作者
好东西,方便很多,谢谢

出0入0汤圆

23楼
发表于 2018-7-2 08:42:02 | 只看该作者
好东西,太好用了。。。

出0入8汤圆

24楼
发表于 2018-7-2 08:44:03 | 只看该作者
skype 发表于 2018-7-2 08:35
.py文件怎么运行

没有关联文件的话,就在命令行敲:python *.py。

出5入8汤圆

25楼
发表于 2018-7-2 08:48:17 | 只看该作者
东西还是好东西, SI还是提不起我的兴趣啊

出0入0汤圆

26楼
发表于 2018-7-2 08:49:00 | 只看该作者
赞一个!

出0入8汤圆

27楼
发表于 2018-7-2 08:52:54 | 只看该作者
icoyool 发表于 2018-7-2 08:48
东西还是好东西, SI还是提不起我的兴趣啊

那能提起你兴趣的类似工具是什么,能分享一下吗?

出0入0汤圆

28楼
发表于 2018-7-2 08:55:06 | 只看该作者
人生苦短 我用python

出0入0汤圆

29楼
 楼主| 发表于 2018-7-2 08:55:23 | 只看该作者
rei1984 发表于 2018-7-2 07:13
python2 还是python3的?

Python 3的,我自己用的V3.6.5

出0入0汤圆

30楼
 楼主| 发表于 2018-7-2 08:57:14 | 只看该作者
涵潇舒雅 发表于 2018-7-2 08:33
楼主,MDK for C51 不支持吗?
N76E003工程下,无法正常运行~

目前不支持keil C51,C51的跟ARM的不太一样

出0入0汤圆

31楼
发表于 2018-7-2 08:58:44 | 只看该作者
好东西,留着备用

出0入0汤圆

32楼
发表于 2018-7-2 09:07:15 | 只看该作者
真是好东西,收藏备用。

出5入8汤圆

33楼
发表于 2018-7-2 09:34:33 | 只看该作者
security 发表于 2018-7-2 08:52
那能提起你兴趣的类似工具是什么,能分享一下吗?

我平时只写一点小项目, slickedit2017 和 Clion都够用了
slickedit2017 简单粗暴不用添加任何额外的文件, 找变量一找一个准
Clion有语法检测, 需要添加cmake文件, 找函数定义有点蛋疼(总数跳到声明那里), 但是写起来代码自动完成功能也很好

出0入0汤圆

34楼
发表于 2018-7-2 13:41:10 | 只看该作者
都是9年义务教育,你咋这么优秀呢!

出95入100汤圆

35楼
发表于 2018-7-2 13:55:05 | 只看该作者
si 3.5可以用吗?还是要4.0才可以用

出0入0汤圆

36楼
发表于 2018-7-2 14:28:47 | 只看该作者
留个爪,感觉以后会有用

出0入0汤圆

37楼
发表于 2018-7-2 15:56:32 | 只看该作者
好东西啊,让我都想学这语言了

出0入0汤圆

38楼
发表于 2018-7-2 16:33:45 | 只看该作者
这个脚本是好东西,感谢楼主分享哈

出0入0汤圆

39楼
发表于 2018-7-2 16:37:44 来自手机 | 只看该作者
工程师的痛咋就被你理解得这么透彻

出5入10汤圆

40楼
发表于 2018-7-2 16:38:13 | 只看该作者
tianxiaoMCU 发表于 2018-7-2 08:57
目前不支持keil C51,C51的跟ARM的不太一样

好的,其实C51 也没多少文件, 感谢楼主分享~

出0入0汤圆

41楼
 楼主| 发表于 2018-7-2 18:44:19 | 只看该作者
lhj200304 发表于 2018-7-2 13:55
si 3.5可以用吗?还是要4.0才可以用

自从4出来后我就没用过3.5了,所以没有测试,如果你能测试一下并反馈,那是再好不过了

出0入0汤圆

42楼
发表于 2018-7-2 20:29:31 | 只看该作者
python万能~收藏

出0入0汤圆

43楼
发表于 2018-7-2 20:44:54 | 只看该作者
mark 学习 一下 SourceInsight 快速、精确导入 IAR/MDK工程 源码的Python脚本

出0入17汤圆

44楼
发表于 2018-7-2 21:32:23 来自手机 | 只看该作者
没安装 python 要怎么搞?

出0入0汤圆

45楼
 楼主| 发表于 2018-7-2 23:43:43 | 只看该作者
radar_12345 发表于 2018-7-2 21:32
没安装 python 要怎么搞?

我自己装有,所以就懒得打包了

出0入0汤圆

46楼
发表于 2018-7-3 00:10:28 | 只看该作者
感谢楼主分享!!!!!!!

出0入0汤圆

47楼
发表于 2018-7-3 04:43:42 来自手机 | 只看该作者
Mark  搜人岑sight精确导入

出0入0汤圆

48楼
发表于 2018-7-3 05:34:41 | 只看该作者
radar_12345 发表于 2018-7-2 21:32
没安装 python 要怎么搞?

装一个啊,python又不会占很多地方 ......

出0入180汤圆

49楼
发表于 2018-7-3 08:22:48 | 只看该作者
python 安装的版本是2.X貌似用不了,谢谢楼主

出0入0汤圆

50楼
 楼主| 发表于 2018-7-3 08:58:11 | 只看该作者
fenglove 发表于 2018-7-3 08:22
python 安装的版本是2.X貌似用不了,谢谢楼主

我用的python 3

出0入0汤圆

51楼
发表于 2018-7-3 09:21:49 | 只看该作者
这个可以,不过不用SourceInsight了,现在用vscode

出0入0汤圆

52楼
发表于 2018-7-3 09:34:32 | 只看该作者
涵潇舒雅 发表于 2018-7-2 08:33
楼主,MDK for C51 不支持吗?
N76E003工程下,无法正常运行~

让楼主稍微讲下解析原理,然后应该能照猫画虎一个。

出0入0汤圆

53楼
发表于 2018-7-3 10:11:07 | 只看该作者
我能说这个怎么运行脚本吗?  必须装IDE?

出0入0汤圆

54楼
发表于 2018-7-3 15:43:25 | 只看该作者
本帖最后由 duxingkei 于 2018-7-3 15:56 编辑

这是个好东西,下次有需求时拿来改改,蛮方便的

出0入0汤圆

55楼
 楼主| 发表于 2018-7-3 20:46:02 | 只看该作者
ckhf 发表于 2018-7-3 10:11
我能说这个怎么运行脚本吗?  必须装IDE?

装一个吧,不大个

出0入0汤圆

56楼
发表于 2018-7-3 21:34:02 | 只看该作者
感觉很厉害的样子,下载来试试

出0入0汤圆

57楼
发表于 2018-7-3 23:30:56 | 只看该作者
赶紧下来试试!

出0入8汤圆

58楼
发表于 2018-7-6 14:50:50 | 只看该作者
顶楼主,试用了下,很不错。


有个小问题,不知道楼主测试的MDK4 是哪个版本?

我用 MDKV4.74,生成的.dep文件居然和工程文件同级(有设置输出文件夹),与MDK5不同。

修改了查找.dep的路径,已经可用了。

出0入0汤圆

59楼
发表于 2018-7-6 16:20:10 | 只看该作者
ckhf 发表于 2018-7-3 10:11
我能说这个怎么运行脚本吗?  必须装IDE?

You can use the portable version.
https://sourceforge.net/p/portab ... f473241d209d8691463
After unzip, run Console-Launcher.exe
Change to the directory the script is at
Run python myscript.py

出0入0汤圆

60楼
发表于 2018-7-6 16:36:30 | 只看该作者
MDK输出在.uvprojx工程的子目录out下,这个脚本要怎么改?

出0入0汤圆

61楼
发表于 2018-7-6 16:45:35 | 只看该作者
Jmhh247 发表于 2018-7-6 14:50
顶楼主,试用了下,很不错。

哪些地方修改查找路径

出0入0汤圆

62楼
 楼主| 发表于 2018-7-6 23:25:53 | 只看该作者
Jmhh247 发表于 2018-7-6 14:50
顶楼主,试用了下,很不错。

我说呢,用keil 5编译的一直在out目录下的,原来工程文件同级下的那个是keil 4输出的

出0入0汤圆

63楼
 楼主| 发表于 2018-7-6 23:31:21 | 只看该作者
hxke 发表于 2018-7-6 16:36
MDK输出在.uvprojx工程的子目录out下,这个脚本要怎么改?

用着有问题?现在就是在子目录out下去找的

出0入8汤圆

64楼
发表于 2018-7-7 09:21:13 | 只看该作者
hxke 发表于 2018-7-6 16:45
哪些地方修改查找路径

如果你只有MDK5,不用修改就行,楼主的代码OK!



修改这个路径只适用MDK4.74(其它版本我未测试),确保脚本与工程文件同级,然后
把第63行:
  1.         OutputDirectory = os.path.normpath(os.path.join(os.getcwd(), OutputDirectory))
复制代码



改成:
  1.         OutputDirectory = os.path.normpath(os.getcwd())
复制代码



如果想MDK5与MDK4共用,上面的改法不可取,最好重构。我现在只用MDK4。。。

出0入8汤圆

65楼
发表于 2018-7-7 09:22:38 | 只看该作者
tianxiaoMCU 发表于 2018-7-6 23:25
我说呢,用keil 5编译的一直在out目录下的,原来工程文件同级下的那个是keil 4输出的 ...

是啊,我看了自己的keil4后,又去同事电脑确认,确实keil 4同级,略坑。。。

出0入0汤圆

66楼
发表于 2018-7-7 10:13:54 | 只看该作者
Jmhh247 发表于 2018-7-7 09:21
如果你只有MDK5,不用修改就行,楼主的代码OK!

谢谢,我只装了MDK5,*.dep文件也生成了,在工程目录的子目录Objects下。
编译工程后,运行脚本提示:
Please build the project once

出0入0汤圆

67楼
发表于 2018-7-7 10:14:17 | 只看该作者
tianxiaoMCU 发表于 2018-7-6 23:31
用着有问题?现在就是在子目录out下去找的

谢谢,我只装了MDK5,*.dep文件也生成了,在工程目录的子目录Objects下。
编译工程后,运行脚本提示:
Please build the project once

出0入0汤圆

68楼
发表于 2018-7-7 10:35:14 | 只看该作者
Jmhh247 发表于 2018-7-7 09:22
是啊,我看了自己的keil4后,又去同事电脑确认,确实keil 4同级,略坑。。。 ...

可以了,感谢,原来可能用keil4生成过工程,我把工程目录下的 project.eww  和 project.ewp两个文件删除就可以了

出0入0汤圆

69楼
发表于 2018-7-7 10:36:51 | 只看该作者
tianxiaoMCU 发表于 2018-7-6 23:31
用着有问题?现在就是在子目录out下去找的

可以了,感谢,原来可能用keil4生成过工程,我把工程目录下的 project.eww  和 project.ewp两个文件删除就可以了

出0入0汤圆

70楼
 楼主| 发表于 2018-7-7 22:30:35 | 只看该作者
针对Jmhh247 发现的问题做了修改

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

71楼
发表于 2018-7-9 09:55:24 | 只看该作者

mark 学习 一下 SourceInsight 快速、精确导入 IAR/MDK工程 源码的Python脚本

出0入0汤圆

72楼
发表于 2018-7-9 16:42:50 | 只看该作者
熟悉的味道  导入VS  导入QT 导入。。。

出0入0汤圆

73楼
发表于 2018-7-10 14:42:36 | 只看该作者
看来,坛友的力量是无穷大的。

出0入0汤圆

74楼
发表于 2018-7-10 21:28:17 来自手机 | 只看该作者
感谢分享,楼主好人

出0入0汤圆

75楼
发表于 2018-7-11 08:44:33 | 只看该作者
Jach 发表于 2018-7-6 16:20
You can use the portable version.
https://sourceforge.net/p/portable-python/activity/?page=0&limi ...

thinks,谢谢

出0入0汤圆

76楼
发表于 2018-7-11 09:40:07 | 只看该作者
tianxiaoMCU 发表于 2018-7-3 20:46
装一个吧,不大个

安装了python 3.7   你的小程序1.0版本的放IAR 下,运行提示如图,我运行IAR,还是没有反应啊,拖拽你的小程序到命令行下再回车也没有反应----------操作有误?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

77楼
 楼主| 发表于 2018-7-11 22:53:30 | 只看该作者
ckhf 发表于 2018-7-11 09:40
安装了python 3.7   你的小程序1.0版本的放IAR 下,运行提示如图,我运行IAR,还是没有反应啊,拖拽你的 ...

放在IAR工程文件同级目录下,运行前编译一次工程。你的IAR版本是多少?

出0入0汤圆

78楼
发表于 2018-7-12 17:33:35 | 只看该作者
厉害了!!!

出0入0汤圆

79楼
发表于 2018-7-12 20:08:09 | 只看该作者
确实好用,谢了

出0入0汤圆

80楼
发表于 2018-7-12 20:16:21 来自手机 | 只看该作者
留个记号,明天试试

出0入0汤圆

81楼
发表于 2018-7-13 08:40:02 | 只看该作者
tianxiaoMCU 发表于 2018-7-11 22:53
放在IAR工程文件同级目录下,运行前编译一次工程。你的IAR版本是多少?

IAR ARM/7.10 对啊,和Project.eww同级

出0入0汤圆

82楼
发表于 2018-7-13 08:45:11 | 只看该作者
同问楼主,在MDK keil 5能用,IAR for ARM 6.3不能用

出100入101汤圆

83楼
发表于 2018-7-13 09:49:40 | 只看该作者
实用,lz厉害!

出0入16汤圆

84楼
发表于 2018-7-13 10:48:59 | 只看该作者
实测过:文件扩展名称用大写C或H是关联不了,导不入。例如:aaa.C是导入不了。改为aaa.c才行

出0入0汤圆

85楼
发表于 2018-7-13 11:42:13 | 只看该作者
貌似.s文件不能导出到txt文件中,LZ有没有什么办法

出0入0汤圆

86楼
发表于 2018-7-13 13:01:18 | 只看该作者
一直在网上搜这个东西,直到今天偶然看到 LZ好人

出0入0汤圆

87楼
 楼主| 发表于 2018-7-13 22:14:24 | 只看该作者
tkggsai2008 发表于 2018-7-13 11:42
貌似.s文件不能导出到txt文件中,LZ有没有什么办法

只是脚本没有处理.s文件而已

出0入0汤圆

88楼
 楼主| 发表于 2018-7-13 22:17:05 | 只看该作者
mypear 发表于 2018-7-13 10:48
实测过:文件扩展名称用大写C或H是关联不了,导不入。例如:aaa.C是导入不了。改为aaa.c才行 ...

谢谢反馈,不过后缀名大写这习惯还真是少见

出0入0汤圆

89楼
 楼主| 发表于 2018-7-13 22:19:00 | 只看该作者
嵌入之梦2 发表于 2018-7-13 08:45
同问楼主,在MDK keil 5能用,IAR for ARM 6.3不能用

记下了,后面找个时间看看,最近忙疯了

出0入0汤圆

90楼
 楼主| 发表于 2018-7-13 22:20:19 | 只看该作者
ckhf 发表于 2018-7-13 08:40
IAR ARM/7.10 对啊,和Project.eww同级

后面抽个时间看看,记下了。

出0入0汤圆

91楼
发表于 2018-7-14 07:21:00 来自手机 | 只看该作者
source insight 4.0可以用么

出0入0汤圆

92楼
发表于 2018-7-14 08:54:27 来自手机 | 只看该作者
mark 学习 一下 SourceInsight 快速、精确导入 IAR/MDK工程 源码的Python脚本

出0入0汤圆

93楼
发表于 2018-7-14 11:28:20 | 只看该作者
为什么我运行了没有反应,Keil版本是4.72,python是3.4

出0入0汤圆

94楼
发表于 2018-7-14 16:20:23 | 只看该作者
感谢楼主

出0入0汤圆

95楼
 楼主| 发表于 2018-7-15 10:31:55 | 只看该作者
tkggsai2008 发表于 2018-7-13 11:42
貌似.s文件不能导出到txt文件中,LZ有没有什么办法

改了一下,自己测可以导出.s文件了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

96楼
 楼主| 发表于 2018-7-15 10:33:08 | 只看该作者
yick 发表于 2018-7-14 07:21
source insight 4.0可以用么

我用的就是4.0的

出0入0汤圆

97楼
 楼主| 发表于 2018-7-15 10:35:10 | 只看该作者
nzk123 发表于 2018-7-14 11:28
为什么我运行了没有反应,Keil版本是4.72,python是3.4

一点提示都没有?

出0入0汤圆

98楼
发表于 2018-7-15 17:23:10 | 只看该作者
tianxiaoMCU 发表于 2018-7-15 10:35
一点提示都没有?

双击后黑框一闪而过

出0入0汤圆

99楼
发表于 2018-7-15 19:11:47 | 只看该作者
谢谢分享

出0入0汤圆

100楼
发表于 2018-7-15 19:28:41 | 只看该作者
谢谢分享,可以学习下
回帖提示: 反政府言论将被立即封锁ID 。在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2026-10-10 13:18

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表