SourceInsight导入MDK工程小工具----自动生成文件清单
最近安装了SourceInsight4.0,发现要完美的导入MDK工程比较麻烦,也可能我第一次用不太会,就用QT写了一个小工具;通过读取工程文件(*.uvproj *.uvprojx)解析出MDK工程包含的代码文件及头文件路径,然后导出工程关联的文件清单到工程根目录下。
导出文件清单的方法就是打开*.uvproj *.uvprojx文件,在文件里面查找<IncludePath>和<FilePath>字符串然后解析出后面的路径和文件名,打开文件一看就明白了。
代码太烂拿不出手,就只发一个EXE文件了,程序运行会在根目录生成一个配置文件,导入MDK工程后会在工程根目录生成文件清单文件uvProjFileList.txt,在SourceInsight中新建工程添加文件清单就可以了
EXE程序下载链接:https://pan.baidu.com/s/1cCP0dAhNjsuZhqPNEPTtkw 密码:pwnj 19.4M有点大
这个程序只在WIN7和WIN10下测试过,其他系统不知道能否正常运行
对中文路径支持不好,只支持MDK工程导入
导入工程步骤看图
本帖最后由 752438771 于 2018-9-17 13:31 编辑
有2.0版本的库文件的下载上面的exe文件
没有下载2.0版本程序的,下载下面完整版程序
当前版本程序功能: MDK/IAR工程导入,自动记录上一次打开的工程路径
支持的操作系统: win7/win10
已发现不支持的功能:用MDK5 建立的新工程,直接引用MDK自动下载的库文件的(库文件路径既没有在mdk工程设置里面添加到 include paths,也没有把库文件加入到工程的) 无法导出库文件路径 ,有人需要这个功能再加吧
有bug可以直接反馈,谢谢!
如有新版本程序会在楼下上传
编辑原因:重新上传程序,添加说明
1148729990 发表于 2018-9-16 16:58
SourceInsight4.0 界面颜色配置可以分享下吗
是这个文件吧,xml格式的
jielove2003 发表于 2018-9-17 14:13
导出的文件不全,*.h文件只有../inc目录下面的,这些目录下面的都没有:../Drivers/STM32F1xx_HAL_Driver/I ...
解析出来的路径最前面有空格,程序把它当错误路径跳过了,现在增加了路径前空格的识别;
<IncludePath>../Inc; ../Drivers/STM32F1xx_HAL_Driver/Inc; ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy; ../Drivers/CMSIS/Device/ST/STM32F1xx/Include; ../Drivers/CMSIS/Include</IncludePath>
下载解压放到程序文件夹下打开
花了几晚上时间,研究了下Keil的工程文件,添加了查找Keil目录库文件功能。
主要是根据PackID来定位库文件路径,如<PackID>Keil.STM32F1xx_DFP.2.0.0</PackID>表示库文件在Keil安装目录/ARM/Pack/Keil/STM32F1xx_DFP/2.0.0下。
程序在附件:
单可执行文件,之前下载过完整版的只需要下载这个文件替换老版本文件就可以了
完整版,包含可执行文件及相关的dll文件,下载解压双击可执行文件即可用
赞一个
不过QT的文件也太大了点吧 又一种。 https://www.amobbs.com/forum.php?mod=viewthread&tid=5694650&highlight=%E5%AF%BC%E5%85%A5 楼主keil路径更改后si4.0会找不到文件指导怎么解决吗? 感谢楼主分享 elecfun 发表于 2018-9-13 22:24
赞一个
不过QT的文件也太大了点吧
用的QT5.7,就QT4版本的文件小点,也有好几M,后来版本越升越高,库文件也越来越大了 hxke 发表于 2018-9-13 23:05
又一种。 https://www.amobbs.com/forum.php?mod=viewthread&tid=5694650&highlight=%E5%AF%BC%E5%85%A5 ...
我也是看了这个帖子后,下载脚本下来使用,发现没装python,运行不了,然后就自己做个来用了 higeo 发表于 2018-9-13 23:45
楼主keil路径更改后si4.0会找不到文件指导怎么解决吗?
我也是才使用si,没遇到过这问题,路径变了,你试试在si工程里面重新导入文件看看 752438771 发表于 2018-9-14 09:02
我也是才使用si,没遇到过这问题,路径变了,你试试在si工程里面重新导入文件看看 ...
win10 运行不起来,建议再做一个iar的 路径更改后si4.0会找不到文件指导怎么解决吗? 都是用高级工具,本身几kb就可以搞定的 litop 发表于 2018-9-14 11:37
路径更改后si4.0会找不到文件指导怎么解决吗?
如果是MDK工程里面的文件路径变了,把打不开的文件从工程文件目录里面删掉然后重新添加新路径下的文件就可以了 ,新的头文件路径也在工程配置里面添加进去,然后重新编译;我猜在*.uvproj *.uvprojx文件里面直接修改文件路径也可以 1328616904 发表于 2018-9-14 09:34
win10 运行不起来,建议再做一个iar的
win10的测试了下,用我同事升级新版本的WIN10就提示缺少一个库文件(同事电脑和我的电脑用的都是同一个镜像装的系统),但是我检查了下,那个库文件我已经打包了,原因还没找到,不知道你的是不是同样问题,你可以把报错截图发我看下。
IAR的工程配置文件我看过,和MDK差不多的,因为我只用它开发stm8的程序,用的较少,没有各个版本的工程文件,不知道做出来能不能通用,就没做;MDK的我也只做了MDK4 MDK5两个版本的,如果能提供各个版本的工程配置文件样本,或者确定IAR工程配置文件是通用的,把IAR工程导入功能加进来也挺快的,顺便也完善下这个小工具,目前只是我自己用没问题。 miaoguoqiang 发表于 2018-9-14 12:06
都是用高级工具,本身几kb就可以搞定的
用VC VB写的应该就是KB级的,windows下兼容性也好,习惯用QT了,不过QT写的程序是真的大,主要是QT的功能越来越多,库就跟着变大,以前用低版本的时候只有几M,然后到突破10M,现在已经快20M了。。。最新版的QT还没用过 确实方便很多,感谢 厉害厉害,感觉这个坛的人越来越牛逼了 win10系统运行出错:
jielove2003 发表于 2018-9-14 15:02
win10系统运行出错:
WIN10报错的修复了,待验证,我只是用虚拟机装了最新版的WIN10测试通过;
增加了IAR工程导入,有坛友测试了给个回复,发现bug我再改{:biggrin:} 1328616904 发表于 2018-9-14 09:34
win10 运行不起来,建议再做一个iar的
增加了IAR工程导入功能,修复了WIN10报错,在18楼有链接,你试试行不行{:biggrin:} 752438771 发表于 2018-9-14 22:14
增加了IAR工程导入功能,修复了WIN10报错,在18楼有链接,你试试行不行 ...
测试MDK和IAR WIN10可以,多谢 因为没安装python,所以这个更适合,谢谢楼主。 试用了一下,发现会漏掉一些文件。我工程是用cubeMX生成的,在用楼主的工具导入的时候,会把 Inc 里面的文件漏掉,Inc 里面的文件未出现在清单里面。 SourceInsight4.0 界面颜色配置可以分享下吗
楼主更新好快,先赞一个。
不过我刚试了一下,把V2.1里面的exe解压放到旧的文件夹里面,可以运行,但生成的文件表有问题,用sis 导入后没有文件。对比了一下新旧程序生成的txt,新的txt里面指示的路径有点问题,所有的文件路径都多了“EWARM//”
旧的:G:/program/stm/VOL_MONITOR/Src/main.c
新的:G:/program/stm/VOL_MONITOR/EWARM//Src/main.c
导致sis导入文件的时候找不到文件,并且,还是没看到有Inc路径的文件。
楼主加油。 jemmy 发表于 2018-9-16 17:09
楼主更新好快,先赞一个。
不过我刚试了一下,把V2.1里面的exe解压放到旧的文件夹里面,可以运行,但生成的 ...
不会有中文路径吧,如果不是你可以把你的工程配置文件发一个,我看一下,我不知道你的是不是和我的一样,我对比看一下,那个\\应该是我没转换好,我更新下再传一个 jemmy 发表于 2018-9-16 17:09
楼主更新好快,先赞一个。
不过我刚试了一下,把V2.1里面的exe解压放到旧的文件夹里面,可以运行,但生成的 ...
我自己测试没遇到你说的的问题,找了一下不知道是哪里问题,水平有限{:sweat:}。我是win10系统,你把你刚导入的工程的配置文件*.uvprojx发一个我看看吧,可以点软件右上角?发邮件或者发到回复里,软件界面、生成的txt文件都打包发一个最好,还有你使用的windows系统版本 楼主,附件是我使用软件过程中的一些文件,环境是windows 10 ,IAR for arm 7.80.4 对了,我的程序文件是没有中文路径的,不过解压保存你那个软件的时候有中文路径。 jemmy 发表于 2018-9-17 12:25
楼主,附件是我使用软件过程中的一些文件,环境是windows 10 ,IAR for arm 7.80.4...
谢谢!
看了你的工程文件后找到问题了,是因为之前用的mdk的工程文件测试一直没发现差异,程序已经修改重新上传,还是23楼那个文件,你再试试 导出的文件不全,*.h文件只有../inc目录下面的,这些目录下面的都没有:../Drivers/STM32F1xx_HAL_Driver/Inc; ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy; ../Drivers/CMSIS/Device/ST/STM32F1xx/Include; ../Drivers/CMSIS/Include
工程文件:
导出的文件列表:
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/MDK-ARM/startup_stm32f103xe.s
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Src/main.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Src/stm32f1xx_it.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Src/stm32f1xx_hal_msp.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_iwdg.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib//Src/system_stm32f1xx.c
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Inc/i2c.h
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Inc/main.h
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Inc/stm32f1xx_hal_conf.h
C:/Users/Administrator/Desktop/temp/stm32_study/i2c_test_lib/Inc/stm32f1xx_it.h 楼主,V2.2的基本上是可以用了,但还是发现一些小问题。我这个工程用的是stm32f103c8t6,在导入的文件列表里面同时出现了core_cm0.h、core_cm3.h、core_cm4.h、core_cm7.h,而我用IAR打开的工程文件列表里面只有core_cm3.h,其余的0、4和7是没有的。在 drivers\cmsis\include 路径下。 jemmy 发表于 2018-9-17 22:26
楼主,V2.2的基本上是可以用了,但还是发现一些小问题。我这个工程用的是stm32f103c8t6,在导入的文件列表 ...
因为是直接解析出头文件路径,在路径下查找*.h文件,全部导出的,因为在MDK/IAR中打开工程,它会自动根据设置的头文件路径查找头文件,所以很多头文件没有添加到工程中,只需要在代码中#incllude “ ”就可以了,但是在SI中是需要把头文件也添加进工程的而不能只设置路径,所以我就采用了这个笨操作{:sweat:},保证大多数情况下*.c文件不多导出,*.h文件不漏导出,不知道有没有好的办法解决这个问题;所以要精确到和原始工程一模一样的文件关系,那就得把原始工程中*.c文件打开并解析 #include “xx.h”关键字,接着还要把这个xx.h文件打开也搜寻一边#include ""关键字符串,那就变得比较复杂了0.0,实际代码中肯定不是标准的#include "xx.h",比如有的加了编译开关等,目前的方法是只解析了工程配置文件,偷下懒。。。
因为才接触SI,上述言论如有错误的地方请指出。
752438771 发表于 2018-9-18 01:25
因为是直接解析出头文件路径,在路径下查找*.h文件,全部导出的,因为在MDK/IAR中打开工程,它会自动根据 ...
楼主很谦虚,这个工具现在基本是可以用的。楼主以后如果有空,可以继续研究一下,估计还要解析其它的工程配置文件。 楼主你这个SI 配色能否上传到这让我们用呀???
楼主你这个SI 配色能否上传到这让我们用呀???
Options->Save Config-> markdif 发表于 2019-7-8 10:48
楼主你这个SI 配色能否上传到这让我们用呀???
上传了,在27楼 xld826 发表于 2019-7-8 16:04
楼主你这个SI 配色能否上传到这让我们用呀???
Options->Save Config->
27楼有,你看看是不是你要的 752438771 发表于 2019-7-9 10:18
27楼有,你看看是不是你要的
我用的SI3,导入不了XML{:dizzy:} xld826 发表于 2019-7-9 10:21
我用的SI3,导入不了XML
我也是在网上找的,不知道链接了;我刚试了下,si4导出配置默认就是xml文件 752438771 发表于 2019-7-9 10:30
我也是在网上找的,不知道链接了;我刚试了下,si4导出配置默认就是xml文件 ...
好的,谢谢 752438771 发表于 2018-9-16 14:53
有2.0版本的库文件的下载上面的exe文件
没有下载2.0版本程序的,下载下面完整版程序
试用了下,可以导出include包含的文件。
keil添加的库文件不行。如果不是很难,希望楼主添加下。现在使用keil RTE很方便,苦于无法跟SI配合使用。 请教 有木有 si4 的安装文件有的话麻烦发一下 感谢~~ LiuYH 发表于 2019-7-9 13:49
试用了下,可以导出include包含的文件。
keil添加的库文件不行。如果不是很难,希望楼主添加下。现在使用 ...
先研究一下看看,尽量近期更新 Recoochang 发表于 2019-7-9 15:30
请教 有木有 si4 的安装文件有的话麻烦发一下 感谢~~
坛友有上传,参考一下https://www.amobbs.com/forum.php?mod=viewthread&tid=5674998&highlight=si%2B4 vscode 不好用吗? LiuYH 发表于 2019-7-9 13:49
试用了下,可以导出include包含的文件。
keil添加的库文件不行。如果不是很难,希望楼主添加下。现在使用 ...
你好,更新了程序,你试一下看看,RTE目录的文件及Keil安装目录的库文件能导出了,程序附件在49楼 752438771 发表于 2019-7-12 13:11
你好,更新了程序,你试一下看看,RTE目录的文件及Keil安装目录的库文件能导出了,程序附件在49楼 ...
谢谢楼主!~
测试发现通过RTE添加的rtos及stm32的库文件没有识别出来,不知道是不是什么问题?是我的PACK软件包的目录不对吧?使用的是5.27的keil版本。
keil的可执行程序目录是C:\Keil_v5\V5.27\UV4
PACK软件包的目录是C:\Keil_v5\V5.27\ARM\Packs
图中是添加RTOS及HAL文件
图中识别出来的文件 LiuYH 发表于 2019-7-24 13:52
谢谢楼主!~
测试发现通过RTE添加的rtos及stm32的库文件没有识别出来,不知道是不是什么问题?是我的PACK ...
是路径不一样,我的路径是在pack,你的是packs LiuYH 发表于 2019-7-24 13:52
谢谢楼主!~
测试发现通过RTE添加的rtos及stm32的库文件没有识别出来,不知道是不是什么问题?是我的PACK ...
752438771 发表于 2019-7-25 12:50
是路径不一样,我的路径是在pack,你的是packs
貌似还有问题。
新建了工程,查了了库文件的目录如下:
rtx_kernel.c C:\Keil_v5\V5.27\ARM\Packs\ARM\CMSIS\5.5.1\CMSIS\RTOS2\RTX\Source
stm32f4xx_hal.c C:\Keil_v5\V5.27\ARM\Packs\Keil\STM32F4xx_DFP\2.13.0\Drivers\STM32F4xx_HAL_Driver\Src
通过RTX添加的还是无法识别。 图片如下
LiuYH 发表于 2019-7-25 14:08
图片如下
你可以发下邮件吗,把你的工程配置文件发下,keil pack文件夹下所有子目录名发下,我对比下,软件上点击“?”能看到邮箱 本帖最后由 一飞 于 2022-12-7 14:32 编辑
你好,一直在用MDK2FileList_V3.2,很不错的软件。
当我的targets有2个或多个时,没法生成list,能否帮忙改进下,非常感谢
编辑原因:添加图片
一飞 发表于 2022-12-7 14:28
你好,一直在用MDK2FileList_V3.2,很不错的软件。
当我的targets有2个或多个时,没法生成list,能否帮忙改 ...
(引用自58楼)
感谢支持,请问你那边能提供示例工程文件吗 752438771 发表于 2022-12-8 22:47
感谢支持,请问你那边能提供示例工程文件吗
(引用自59楼)
感谢,提供demo,请帮忙,谢谢
一飞 发表于 2022-12-9 09:32
感谢,提供demo,请帮忙,谢谢
(引用自60楼)
配置文件里有个对象变成对象数组了,不兼容,增加了数组识别,问题应该已解决,顺便修复了路径有中文头文件导出不全的bug
752438771 发表于 2022-12-10 00:50
配置文件里有个对象变成对象数组了,不兼容,增加了数组识别,问题应该已解决,顺便修复了路径有中文头文 ...
(引用自61楼)
非常感谢,可以了
页:
[1]