搜索
bottom↓
回复: 205

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

  [复制链接]

出0入0汤圆

发表于 2018-7-1 22:12:02 | 显示全部楼层 |阅读模式
        这个标题是不是有点熟悉

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

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

本帖子中包含更多资源

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

x

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

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2018-7-1 22:25:17 | 显示全部楼层
顶一顶楼主,这个是好东西。

出0入0汤圆

发表于 2018-7-1 22:38:34 | 显示全部楼层
这个好东东西啊。。。膜拜加感谢。。。

出0入0汤圆

发表于 2018-7-1 22:42:08 | 显示全部楼层
顶,拿来试试

出20入25汤圆

发表于 2018-7-1 22:54:10 来自手机 | 显示全部楼层
多谢楼主

出0入0汤圆

发表于 2018-7-1 23:02:47 | 显示全部楼层
厉害了   牛逼哄哄的

出110入8汤圆

发表于 2018-7-1 23:27:55 | 显示全部楼层
这个爽,不用用手动筛查了,感谢撸主

出0入0汤圆

发表于 2018-7-2 00:41:19 | 显示全部楼层
mark 学习 一下 SourceInsight 快速、精确导入 IAR/MDK工程 源码的Python脚本

出10入0汤圆

发表于 2018-7-2 00:45:55 来自手机 | 显示全部楼层
这个好啊!大大的赞一个!

出0入0汤圆

发表于 2018-7-2 06:46:43 来自手机 | 显示全部楼层
感谢楼主分享

出0入0汤圆

发表于 2018-7-2 06:47:47 来自手机 | 显示全部楼层
感谢楼主分享

出0入25汤圆

发表于 2018-7-2 07:13:41 来自手机 | 显示全部楼层
python2 还是python3的?

出0入0汤圆

发表于 2018-7-2 07:15:15 来自手机 | 显示全部楼层
试试               

出0入0汤圆

发表于 2018-7-2 07:34:54 来自手机 | 显示全部楼层
感谢分享,收藏!

出0入0汤圆

发表于 2018-7-2 08:10:14 | 显示全部楼层
多谢楼主 收藏!

出0入0汤圆

发表于 2018-7-2 08:18:34 | 显示全部楼层
有这个工具方便多了

出0入0汤圆

发表于 2018-7-2 08:26:34 | 显示全部楼层
这个不错,必须顶

出0入4汤圆

发表于 2018-7-2 08:28:03 | 显示全部楼层
楼主厉害的,解决了一个困扰很久的问题,多谢

出5入10汤圆

发表于 2018-7-2 08:33:53 | 显示全部楼层
楼主,MDK for C51 不支持吗?
N76E003工程下,无法正常运行~

出0入0汤圆

发表于 2018-7-2 08:35:56 | 显示全部楼层
好东西,感谢楼主

出0入8汤圆

发表于 2018-7-2 08:35:56 | 显示全部楼层
.py文件怎么运行

出0入0汤圆

发表于 2018-7-2 08:37:34 来自手机 | 显示全部楼层
好东西,方便很多,谢谢

出0入0汤圆

发表于 2018-7-2 08:42:02 | 显示全部楼层
好东西,太好用了。。。

出0入8汤圆

发表于 2018-7-2 08:44:03 | 显示全部楼层
skype 发表于 2018-7-2 08:35
.py文件怎么运行

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

出0入8汤圆

发表于 2018-7-2 08:48:17 | 显示全部楼层
东西还是好东西, SI还是提不起我的兴趣啊

出0入0汤圆

发表于 2018-7-2 08:49:00 | 显示全部楼层
赞一个!

出0入8汤圆

发表于 2018-7-2 08:52:54 | 显示全部楼层
icoyool 发表于 2018-7-2 08:48
东西还是好东西, SI还是提不起我的兴趣啊

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

出0入0汤圆

发表于 2018-7-2 08:55:06 | 显示全部楼层
人生苦短 我用python

出0入0汤圆

 楼主| 发表于 2018-7-2 08:55:23 | 显示全部楼层
rei1984 发表于 2018-7-2 07:13
python2 还是python3的?

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

出0入0汤圆

 楼主| 发表于 2018-7-2 08:57:14 | 显示全部楼层
涵潇舒雅 发表于 2018-7-2 08:33
楼主,MDK for C51 不支持吗?
N76E003工程下,无法正常运行~

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

出0入0汤圆

发表于 2018-7-2 08:58:44 | 显示全部楼层
好东西,留着备用

出0入0汤圆

发表于 2018-7-2 09:07:15 | 显示全部楼层
真是好东西,收藏备用。

出0入8汤圆

发表于 2018-7-2 09:34:33 | 显示全部楼层
security 发表于 2018-7-2 08:52
那能提起你兴趣的类似工具是什么,能分享一下吗?

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

出0入0汤圆

发表于 2018-7-2 13:41:10 | 显示全部楼层
都是9年义务教育,你咋这么优秀呢!

出95入100汤圆

发表于 2018-7-2 13:55:05 | 显示全部楼层
si 3.5可以用吗?还是要4.0才可以用

出0入0汤圆

发表于 2018-7-2 14:28:47 | 显示全部楼层
留个爪,感觉以后会有用

出0入0汤圆

发表于 2018-7-2 15:56:32 | 显示全部楼层
好东西啊,让我都想学这语言了

出0入0汤圆

发表于 2018-7-2 16:33:45 | 显示全部楼层
这个脚本是好东西,感谢楼主分享哈

出0入0汤圆

发表于 2018-7-2 16:37:44 来自手机 | 显示全部楼层
工程师的痛咋就被你理解得这么透彻

出5入10汤圆

发表于 2018-7-2 16:38:13 | 显示全部楼层
tianxiaoMCU 发表于 2018-7-2 08:57
目前不支持keil C51,C51的跟ARM的不太一样

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

出0入0汤圆

 楼主| 发表于 2018-7-2 18:44:19 | 显示全部楼层
lhj200304 发表于 2018-7-2 13:55
si 3.5可以用吗?还是要4.0才可以用

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

出0入0汤圆

发表于 2018-7-2 20:29:31 | 显示全部楼层
python万能~收藏

出0入0汤圆

发表于 2018-7-2 20:44:54 | 显示全部楼层
mark 学习 一下 SourceInsight 快速、精确导入 IAR/MDK工程 源码的Python脚本

出0入17汤圆

发表于 2018-7-2 21:32:23 来自手机 | 显示全部楼层
没安装 python 要怎么搞?

出0入0汤圆

 楼主| 发表于 2018-7-2 23:43:43 | 显示全部楼层
radar_12345 发表于 2018-7-2 21:32
没安装 python 要怎么搞?

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

出0入0汤圆

发表于 2018-7-3 00:10:28 | 显示全部楼层
感谢楼主分享!!!!!!!

出0入0汤圆

发表于 2018-7-3 04:43:42 来自手机 | 显示全部楼层
Mark  搜人岑sight精确导入

出0入0汤圆

发表于 2018-7-3 05:34:41 | 显示全部楼层
radar_12345 发表于 2018-7-2 21:32
没安装 python 要怎么搞?

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

出0入0汤圆

发表于 2018-7-3 08:22:48 | 显示全部楼层
python 安装的版本是2.X貌似用不了,谢谢楼主

出0入0汤圆

 楼主| 发表于 2018-7-3 08:58:11 | 显示全部楼层
fenglove 发表于 2018-7-3 08:22
python 安装的版本是2.X貌似用不了,谢谢楼主

我用的python 3

出0入0汤圆

发表于 2018-7-3 09:21:49 | 显示全部楼层
这个可以,不过不用SourceInsight了,现在用vscode

出0入0汤圆

发表于 2018-7-3 09:34:32 | 显示全部楼层
涵潇舒雅 发表于 2018-7-2 08:33
楼主,MDK for C51 不支持吗?
N76E003工程下,无法正常运行~

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

出0入0汤圆

发表于 2018-7-3 10:11:07 | 显示全部楼层
我能说这个怎么运行脚本吗?  必须装IDE?

出0入0汤圆

发表于 2018-7-3 15:43:25 | 显示全部楼层
本帖最后由 duxingkei 于 2018-7-3 15:56 编辑

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

出0入0汤圆

 楼主| 发表于 2018-7-3 20:46:02 | 显示全部楼层
ckhf 发表于 2018-7-3 10:11
我能说这个怎么运行脚本吗?  必须装IDE?

装一个吧,不大个

出0入0汤圆

发表于 2018-7-3 21:34:02 | 显示全部楼层
感觉很厉害的样子,下载来试试

出0入0汤圆

发表于 2018-7-3 23:30:56 | 显示全部楼层
赶紧下来试试!

出0入8汤圆

发表于 2018-7-6 14:50:50 | 显示全部楼层
顶楼主,试用了下,很不错。


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

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

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

出0入0汤圆

发表于 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汤圆

发表于 2018-7-6 16:36:30 | 显示全部楼层
MDK输出在.uvprojx工程的子目录out下,这个脚本要怎么改?

出0入0汤圆

发表于 2018-7-6 16:45:35 | 显示全部楼层
Jmhh247 发表于 2018-7-6 14:50
顶楼主,试用了下,很不错。

哪些地方修改查找路径

出0入0汤圆

 楼主| 发表于 2018-7-6 23:25:53 | 显示全部楼层
Jmhh247 发表于 2018-7-6 14:50
顶楼主,试用了下,很不错。

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

出0入0汤圆

 楼主| 发表于 2018-7-6 23:31:21 | 显示全部楼层
hxke 发表于 2018-7-6 16:36
MDK输出在.uvprojx工程的子目录out下,这个脚本要怎么改?

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

出0入8汤圆

发表于 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汤圆

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

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

出0入0汤圆

发表于 2018-7-7 10:13:54 | 显示全部楼层
Jmhh247 发表于 2018-7-7 09:21
如果你只有MDK5,不用修改就行,楼主的代码OK!

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

出0入0汤圆

发表于 2018-7-7 10:14:17 | 显示全部楼层
tianxiaoMCU 发表于 2018-7-6 23:31
用着有问题?现在就是在子目录out下去找的

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

出0入0汤圆

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

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

出0入0汤圆

发表于 2018-7-7 10:36:51 | 显示全部楼层
tianxiaoMCU 发表于 2018-7-6 23:31
用着有问题?现在就是在子目录out下去找的

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

出0入0汤圆

 楼主| 发表于 2018-7-7 22:30:35 | 显示全部楼层
针对Jmhh247 发现的问题做了修改

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2018-7-9 09:55:24 | 显示全部楼层

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

出0入0汤圆

发表于 2018-7-9 16:42:50 | 显示全部楼层
熟悉的味道  导入VS  导入QT 导入。。。

出0入0汤圆

发表于 2018-7-10 14:42:36 | 显示全部楼层
看来,坛友的力量是无穷大的。

出0入0汤圆

发表于 2018-7-10 21:28:17 来自手机 | 显示全部楼层
感谢分享,楼主好人

出0入0汤圆

发表于 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汤圆

发表于 2018-7-11 09:40:07 | 显示全部楼层
tianxiaoMCU 发表于 2018-7-3 20:46
装一个吧,不大个

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

本帖子中包含更多资源

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

x

出0入0汤圆

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

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

出0入0汤圆

发表于 2018-7-12 17:33:35 | 显示全部楼层
厉害了!!!

出0入0汤圆

发表于 2018-7-12 20:08:09 | 显示全部楼层
确实好用,谢了

出0入0汤圆

发表于 2018-7-12 20:16:21 来自手机 | 显示全部楼层
留个记号,明天试试

出0入0汤圆

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

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

出0入0汤圆

发表于 2018-7-13 08:45:11 | 显示全部楼层
同问楼主,在MDK keil 5能用,IAR for ARM 6.3不能用

出100入101汤圆

发表于 2018-7-13 09:49:40 | 显示全部楼层
实用,lz厉害!

出0入0汤圆

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

出0入0汤圆

发表于 2018-7-13 11:42:13 | 显示全部楼层
貌似.s文件不能导出到txt文件中,LZ有没有什么办法

出0入0汤圆

发表于 2018-7-13 13:01:18 | 显示全部楼层
一直在网上搜这个东西,直到今天偶然看到 LZ好人

出0入0汤圆

 楼主| 发表于 2018-7-13 22:14:24 | 显示全部楼层
tkggsai2008 发表于 2018-7-13 11:42
貌似.s文件不能导出到txt文件中,LZ有没有什么办法

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

出0入0汤圆

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

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

出0入0汤圆

 楼主| 发表于 2018-7-13 22:19:00 | 显示全部楼层
嵌入之梦2 发表于 2018-7-13 08:45
同问楼主,在MDK keil 5能用,IAR for ARM 6.3不能用

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

出0入0汤圆

 楼主| 发表于 2018-7-13 22:20:19 | 显示全部楼层
ckhf 发表于 2018-7-13 08:40
IAR ARM/7.10 对啊,和Project.eww同级

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

出0入0汤圆

发表于 2018-7-14 07:21:00 来自手机 | 显示全部楼层
source insight 4.0可以用么

出0入0汤圆

发表于 2018-7-14 08:54:27 来自手机 | 显示全部楼层
mark 学习 一下 SourceInsight 快速、精确导入 IAR/MDK工程 源码的Python脚本

出0入0汤圆

发表于 2018-7-14 11:28:20 | 显示全部楼层
为什么我运行了没有反应,Keil版本是4.72,python是3.4

出0入0汤圆

发表于 2018-7-14 16:20:23 | 显示全部楼层
感谢楼主

出0入0汤圆

 楼主| 发表于 2018-7-15 10:31:55 | 显示全部楼层
tkggsai2008 发表于 2018-7-13 11:42
貌似.s文件不能导出到txt文件中,LZ有没有什么办法

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

本帖子中包含更多资源

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

x

出0入0汤圆

 楼主| 发表于 2018-7-15 10:33:08 | 显示全部楼层
yick 发表于 2018-7-14 07:21
source insight 4.0可以用么

我用的就是4.0的

出0入0汤圆

 楼主| 发表于 2018-7-15 10:35:10 | 显示全部楼层
nzk123 发表于 2018-7-14 11:28
为什么我运行了没有反应,Keil版本是4.72,python是3.4

一点提示都没有?

出0入0汤圆

发表于 2018-7-15 17:23:10 | 显示全部楼层
tianxiaoMCU 发表于 2018-7-15 10:35
一点提示都没有?

双击后黑框一闪而过

出0入0汤圆

发表于 2018-7-15 19:11:47 | 显示全部楼层
谢谢分享

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-4-25 22:05

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

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