SourceInsight 快速、精确导入 IAR/MDK工程 源码的Python脚本
这个标题是不是有点熟悉{:titter:}最近有个项目用了颗WIFI soc,厂商提供的SDK很大,用source insight看的时候总是提示多处定义,甚是麻烦。受坛里 《不要错过!SourceInsight 快速、精确导入 Linux Kernel 源码的方法》的启发,自己用python搞了个类似的脚本,用着还行,特此分享;
使用方法:将脚本放到IAR或MDK工程目录下(与.eww/.uvproj同级),运行脚本,一切正常的话就会在目录下生成一个txt文件,在source insight里导入便好。
注意:运行脚本前须要编译一下工程!
{:lol:}顶一顶楼主,这个是好东西。 这个好东东西啊。。。膜拜加感谢。。。 顶,拿来试试 多谢楼主 厉害了 牛逼哄哄的 这个爽,不用用手动筛查了,感谢撸主 mark 学习 一下 SourceInsight 快速、精确导入 IAR/MDK工程 源码的Python脚本 这个好啊!大大的赞一个! 感谢楼主分享 感谢楼主分享 python2 还是python3的? 试试 感谢分享,收藏! 多谢楼主 收藏! 有这个工具方便多了 这个不错,必须顶 楼主厉害的,解决了一个困扰很久的问题,多谢 楼主,MDK for C51 不支持吗?
N76E003工程下,无法正常运行~ 好东西,感谢楼主 .py文件怎么运行
好东西,方便很多,谢谢 好东西,太好用了。。。 skype 发表于 2018-7-2 08:35
.py文件怎么运行
没有关联文件的话,就在命令行敲:python *.py。 东西还是好东西, SI还是提不起我的兴趣啊 赞一个! icoyool 发表于 2018-7-2 08:48
东西还是好东西, SI还是提不起我的兴趣啊
那能提起你兴趣的类似工具是什么,能分享一下吗? 人生苦短 我用python rei1984 发表于 2018-7-2 07:13
python2 还是python3的?
Python 3的,我自己用的V3.6.5 涵潇舒雅 发表于 2018-7-2 08:33
楼主,MDK for C51 不支持吗?
N76E003工程下,无法正常运行~
目前不支持keil C51,C51的跟ARM的不太一样 好东西,留着备用 真是好东西,收藏备用。 security 发表于 2018-7-2 08:52
那能提起你兴趣的类似工具是什么,能分享一下吗?
我平时只写一点小项目, slickedit2017 和 Clion都够用了
slickedit2017 简单粗暴不用添加任何额外的文件, 找变量一找一个准
Clion有语法检测, 需要添加cmake文件, 找函数定义有点蛋疼(总数跳到声明那里), 但是写起来代码自动完成功能也很好 都是9年义务教育,你咋这么优秀呢! si 3.5可以用吗?还是要4.0才可以用 留个爪,感觉以后会有用 好东西啊,让我都想学这语言了 这个脚本是好东西,感谢楼主分享哈 工程师的痛咋就被你理解得这么透彻 tianxiaoMCU 发表于 2018-7-2 08:57
目前不支持keil C51,C51的跟ARM的不太一样
好的,其实C51 也没多少文件, 感谢楼主分享~{:lol:} lhj200304 发表于 2018-7-2 13:55
si 3.5可以用吗?还是要4.0才可以用
自从4出来后我就没用过3.5了,所以没有测试,如果你能测试一下并反馈,那是再好不过了 python万能~收藏 mark 学习 一下 SourceInsight 快速、精确导入 IAR/MDK工程 源码的Python脚本 没安装 python 要怎么搞? radar_12345 发表于 2018-7-2 21:32
没安装 python 要怎么搞?
我自己装有,所以就懒得打包了{:lol:} 感谢楼主分享!!!!!!! Mark搜人岑sight精确导入 radar_12345 发表于 2018-7-2 21:32
没安装 python 要怎么搞?
装一个啊,python又不会占很多地方 ...... python 安装的版本是2.X貌似用不了,谢谢楼主 fenglove 发表于 2018-7-3 08:22
python 安装的版本是2.X貌似用不了,谢谢楼主
我用的python 3 这个可以,不过不用SourceInsight了,现在用vscode 涵潇舒雅 发表于 2018-7-2 08:33
楼主,MDK for C51 不支持吗?
N76E003工程下,无法正常运行~
让楼主稍微讲下解析原理,然后应该能照猫画虎一个。 我能说这个怎么运行脚本吗?{:lol:}必须装IDE? 本帖最后由 duxingkei 于 2018-7-3 15:56 编辑
这是个好东西,下次有需求时拿来改改,蛮方便的 ckhf 发表于 2018-7-3 10:11
我能说这个怎么运行脚本吗?必须装IDE?
装一个吧,不大个 感觉很厉害的样子,下载来试试 赶紧下来试试! 顶楼主,试用了下,很不错。
有个小问题,不知道楼主测试的MDK4 是哪个版本?
我用 MDKV4.74,生成的.dep文件居然和工程文件同级(有设置输出文件夹),与MDK5不同。
修改了查找.dep的路径,已经可用了。
ckhf 发表于 2018-7-3 10:11
我能说这个怎么运行脚本吗?必须装IDE?
You can use the portable version.
https://sourceforge.net/p/portable-python/activity/?page=0&limit=100#5ac91f473241d209d8691463
After unzip, run Console-Launcher.exe
Change to the directory the script is at
Run python myscript.py
MDK输出在.uvprojx工程的子目录out下,这个脚本要怎么改? Jmhh247 发表于 2018-7-6 14:50
顶楼主,试用了下,很不错。
哪些地方修改查找路径 Jmhh247 发表于 2018-7-6 14:50
顶楼主,试用了下,很不错。
我说呢,用keil 5编译的一直在out目录下的,原来工程文件同级下的那个是keil 4输出的 hxke 发表于 2018-7-6 16:36
MDK输出在.uvprojx工程的子目录out下,这个脚本要怎么改?
用着有问题?现在就是在子目录out下去找的 hxke 发表于 2018-7-6 16:45
哪些地方修改查找路径
如果你只有MDK5,不用修改就行,楼主的代码OK!
修改这个路径只适用MDK4.74(其它版本我未测试),确保脚本与工程文件同级,然后
把第63行:
OutputDirectory = os.path.normpath(os.path.join(os.getcwd(), OutputDirectory))
改成:
OutputDirectory = os.path.normpath(os.getcwd())
如果想MDK5与MDK4共用,上面的改法不可取,最好重构。我现在只用MDK4。。。
tianxiaoMCU 发表于 2018-7-6 23:25
我说呢,用keil 5编译的一直在out目录下的,原来工程文件同级下的那个是keil 4输出的 ...
是啊,我看了自己的keil4后,又去同事电脑确认,确实keil 4同级,略坑。。。 Jmhh247 发表于 2018-7-7 09:21
如果你只有MDK5,不用修改就行,楼主的代码OK!
谢谢,我只装了MDK5,*.dep文件也生成了,在工程目录的子目录Objects下。
编译工程后,运行脚本提示:
Please build the project once
tianxiaoMCU 发表于 2018-7-6 23:31
用着有问题?现在就是在子目录out下去找的
谢谢,我只装了MDK5,*.dep文件也生成了,在工程目录的子目录Objects下。
编译工程后,运行脚本提示:
Please build the project once
Jmhh247 发表于 2018-7-7 09:22
是啊,我看了自己的keil4后,又去同事电脑确认,确实keil 4同级,略坑。。。 ...
可以了,感谢,原来可能用keil4生成过工程,我把工程目录下的 project.eww和 project.ewp两个文件删除就可以了 tianxiaoMCU 发表于 2018-7-6 23:31
用着有问题?现在就是在子目录out下去找的
可以了,感谢,原来可能用keil4生成过工程,我把工程目录下的 project.eww和 project.ewp两个文件删除就可以了 针对Jmhh247 发现的问题做了修改
mark 学习 一下 SourceInsight 快速、精确导入 IAR/MDK工程 源码的Python脚本{:handshake:} 熟悉的味道导入VS导入QT 导入。。。{:lol:} 看来,坛友的力量是无穷大的。 感谢分享,楼主好人 Jach 发表于 2018-7-6 16:20
You can use the portable version.
https://sourceforge.net/p/portable-python/activity/?page=0&limi ...
thinks,谢谢 tianxiaoMCU 发表于 2018-7-3 20:46
装一个吧,不大个
安装了python 3.7 你的小程序1.0版本的放IAR 下,运行提示如图,我运行IAR,还是没有反应啊,拖拽你的小程序到命令行下再回车也没有反应----------操作有误? ckhf 发表于 2018-7-11 09:40
安装了python 3.7 你的小程序1.0版本的放IAR 下,运行提示如图,我运行IAR,还是没有反应啊,拖拽你的 ...
放在IAR工程文件同级目录下,运行前编译一次工程。你的IAR版本是多少? 厉害了!!! 确实好用,谢了 留个记号,明天试试 tianxiaoMCU 发表于 2018-7-11 22:53
放在IAR工程文件同级目录下,运行前编译一次工程。你的IAR版本是多少?
IAR ARM/7.10 对啊,和Project.eww同级 同问楼主,在MDK keil 5能用,IAR for ARM 6.3不能用 实用,lz厉害! 实测过:文件扩展名称用大写C或H是关联不了,导不入。例如:aaa.C是导入不了。改为aaa.c才行 貌似.s文件不能导出到txt文件中,LZ有没有什么办法 一直在网上搜这个东西,直到今天偶然看到 LZ好人 tkggsai2008 发表于 2018-7-13 11:42
貌似.s文件不能导出到txt文件中,LZ有没有什么办法
只是脚本没有处理.s文件而已 mypear 发表于 2018-7-13 10:48
实测过:文件扩展名称用大写C或H是关联不了,导不入。例如:aaa.C是导入不了。改为aaa.c才行 ...
谢谢反馈,不过后缀名大写这习惯还真是少见 嵌入之梦2 发表于 2018-7-13 08:45
同问楼主,在MDK keil 5能用,IAR for ARM 6.3不能用
记下了,后面找个时间看看,最近忙疯了 ckhf 发表于 2018-7-13 08:40
IAR ARM/7.10 对啊,和Project.eww同级
后面抽个时间看看,记下了。 source insight 4.0可以用么 mark 学习 一下 SourceInsight 快速、精确导入 IAR/MDK工程 源码的Python脚本 为什么我运行了没有反应,Keil版本是4.72,python是3.4 感谢楼主{:smile:} tkggsai2008 发表于 2018-7-13 11:42
貌似.s文件不能导出到txt文件中,LZ有没有什么办法
改了一下,自己测可以导出.s文件了 yick 发表于 2018-7-14 07:21
source insight 4.0可以用么
我用的就是4.0的 nzk123 发表于 2018-7-14 11:28
为什么我运行了没有反应,Keil版本是4.72,python是3.4
一点提示都没有? tianxiaoMCU 发表于 2018-7-15 10:35
一点提示都没有?
双击后黑框一闪而过 谢谢分享{:lol:}{:lol:} 谢谢分享,可以学习下