Source Insight 4.0 调用keil for arm 5.21进行编译

Source Insight 4.0 调用keil for arm 5.21进行编译


本人声名,这里的东西笔记的成分要大一些。如有错误敬请指正。`
联系邮箱:[email protected]
作 者:Andrew


前言:作为一个新进职场的小白,每天面对代码进行修改和编译,在这个过程中遇到了Source Insight软件,这个软件很大程度的给我分析代码带来了方便,但是在Source Insight软件修改过代码后,还需要在Keil在进行编译,两个软件的频换切换让我十分头疼。我在想有什么方式能将两者的优势进行结合,在看到“xplain”的《
在source insight中编译arm程序》(这儿)对我有所启发,乘着下午没事,就自己摸索起来。

一、按照前言提到的文章指示,设置keil输出*.bat文件,如图1所示:


Source Insight 4.0 调用keil for arm 5.21进行编译_第1张图片
图1 设置keil输出批处理文件

在工程目录下找到输出的*.bat文件,如图2所示,则证明keil设置正确。

Source Insight 4.0 调用keil for arm 5.21进行编译_第2张图片
图2 查看是否正确输出

二、将Source Insight显示创建工具栏 ,打开选项卡View > Toolbars,选择Build Toolbar,正确操作后,工具栏会显示图3中的四个图标

这里写图片描述
图3 创建工具栏

三、打开选项卡Tools > Custom Commands…,选择Command中的Build Project,然后进行修改。在Run:编辑框中填写cmd /c [keil生成的BAT文件名称],Dir:编辑框中填写[文件对应的路径],这里的路径可以是绝对路径也可以是相对路径,我这里设置的是相对SI工程的相对路径。

Source Insight 4.0 调用keil for arm 5.21进行编译_第3张图片
图4 SI的自定义命令管理界面

图中的复选框的具体解释在帮助文件中有体现,如果不想细看就可直接按照我的进行设置。

Source Insight 4.0 调用keil for arm 5.21进行编译_第4张图片
图5 SI的帮助文档对复选框的解释

四、在Pattern正确填写对应于cmd输出信息的正则表达式。由于没有对BAT文件进行任何修改,所以输出的信息特别多,对于我只需要取出有用的部分。”..\USER\main.c”, line 905: Warning: #177-D: variable “speakuse” was declared but never referenced这是我需要的信息,这个信息中可以提取到文件的名称和路径,以及出错的位置。在查找资料和反复测试的过程中得到如下的【 \"\(.+\)\", line \(.+\):.*$”】正则表达式。

Source Insight 4.0 调用keil for arm 5.21进行编译_第5张图片
图6 cmd命令运行出来的有效信息

通过分析有用信息可以得到文件名称及路径在””中,行信息在line 后,这样就可以定位并提取信息。
1、提取文件信息
其中【 \( \)】中的内容为提取到的有用信息,【 \"】:匹配字符引号,【 .+】:多次提取字符
则【 \"\(.+\)\"】具体表示就是提取被【 " "】引起来的文件路径和文件名
2、提取位置信息
, line】是为了匹配文件信息和位置信息中的文件,【 】是为了正确提取到完整的位置信息,【 .*$】匹配任意数据到行尾。
五、正确配置过用户自定义命令后,点击工具栏中的创建工程图标,则会出现下图所示的信息,这样就完成了目标任务。

Source Insight 4.0 调用keil for arm 5.21进行编译_第6张图片
图7 配置完成后可自动链接

六、优化:为了让Build Project文件中不产生过多无用信息,则可以在BAT文件最开始加入@echo off来关闭输出。具体如图8。


这里写图片描述
图8 优化keil生成的BAT文件

你可能感兴趣的:(工具使用,Source,Insight,Keil,for,arm)