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

整合SourceInsight与Keil
本文介绍如何在SourceInsight中配置Keil for ARM,实现代码修改后的自动编译,减少工具间切换,提高工作效率。

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


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


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

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



图1 设置keil输出批处理文件

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


图2 查看是否正确输出

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

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

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

这里写图片描述
图4 SI的自定义命令管理界面

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

这里写图片描述
图5 SI的帮助文档对复选框的解释

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

这里写图片描述
图6 cmd命令运行出来的有效信息

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

这里写图片描述
图7 配置完成后可自动链接

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


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

### 如何将 Source Insight 4.0Keil 联合使用 Source InsightKeil 的联合使用可以通过一些特定的配置来实现高效的代码浏览和调试体验。以下是关于如何将 Source Insight 4.0Keil 集成的方法: #### 1. **安装与准备** 确保已经正确安装了 Source Insight 4.0Keil 开发工具[^1]。此外,确认两者的路径设置无误。 #### 2. **配置 Source Insight 支持 Keil 工程** 为了使 Source Insight 正确解析 Keil 工程中的文件结构,需执行以下操作: - 打开 Source Insight 并加载目标工程目录。 - 在菜单栏中选择 `Project -> Project Files`,手动添加或通过扫描方式引入 `.uvprojx` 或 `.uvgui` 文件及其关联的源文件[^3]。 - 设置正确的语法高亮规则以匹配 Keil使用的 C/C++ 格式。这通常可以在 `Edit -> Options -> Syntax Coloring` 中调整。 #### 3. **建立索引** Source Insight 提供强大的索引功能以便快速导航代码。对于 Keil 工程而言: - 右键点击项目根目录并选择 `Rebuild File List` 来更新当前项目的文件列表。 - 使用 `Build All Symbol Info` 构建完整的符号表,从而支持全局变量、函数定义等功能的即时查询[^1]。 #### 4. **集成调试流程** 虽然 Source Insight 主要作为代码阅读器存在,但它能显著提升开发者对复杂嵌入式系统的理解能力。当需要实际运行测试时,则切换回 Keil 完成编译下载过程。具体步骤包括但不限于: - 利用 Keil 对整个解决方案进行构建(`Ctrl+F7`)以及仿真启动(F5)。 - 如果发现潜在问题或者希望深入研究某段逻辑前先回到 Source Insight 查阅相关内容再做进一步处理[^2]。 ```python # 示例:简单的条件判断语句展示如何结合两者优势场景之一 if (condition == TRUE){ // Code block A - Analyze this part using Source Insight's powerful search features. } else { // Code block B - Switch back to Keil for real-time debugging sessions after analysis. } ``` #### 5. **优化提示** 为了让这种跨平台协作更加顺畅高效还可以考虑以下几个方面: - 自定义快捷键使得频繁切换变得轻松自如; - 尝试同步保存位置状态减少重复劳动时间成本; - 不断积累个人经验形成专属模板加速后续类似任务进展速度等等[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值