【软件工具】Source Insight 4.0编辑keil工程代码

news2024/11/27 22:45:22

0.前言

  • 最近在学习过程中,发现诸多课程老师均使用Source Insight 4.0进行开发演示,为了方便课程的学习,也为了提高个人开发水平及效率,故学习Source Insight 4.0软件,此文章主要作为软件使用的流程总结,同时后面也会记录一些笔者在该软件使用过程中的的问题及技巧总结。

目录

  • 0.前言
  • 1.软件介绍
  • 2.Source Insight使用
    • 2.1使用前配置
    • 2.2新建工程
    • 2.3认识工程与源码阅读
      • 搜索文件打开
      • 查看函数信息
      • 函数跳转
      • 查找函数或变量的引用
  • 3.其他快捷键

1.软件介绍

  • Source Insight 4.0是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++, C#和Java等程序的分析。能分析源代码并在工作的同时动态维护它自己的符号数据库,并自动显示有用的上下文信息。
  • 需要注意的,该软件仅支持阅读编辑代码,不具有编译调试代码的功能。作为STM32开发还是需要配合使用keil才行,不过其易用性很强,可以有效地提高工作效率。

2.Source Insight使用

2.1使用前配置

因为嵌入式的开发中经常会使用一些汇编语言,因此需要配置软件以保证在c的开发中能正确识别汇编等其他语言。

  • ①选择文件类型【File Type Options】,打开其选项卡。
    在这里插入图片描述

  • ②如下图顺序操作,配置【2】中内容如下。
    在这里插入图片描述

  • 同时可以按下图顺序关闭自动缩进:
    在这里插入图片描述

  • 默认的会显示下图这三个小窗口,可以通过这三个按钮来选择打开或者关闭,界面如下所示:
    在这里插入图片描述

2.2新建工程

  • 选择 Project → New Project 新建一个工程,输入工程名字和保存工程的路径,然后点击OK,如下图所示。
  • 注意,工程名可以随便写,也可以写实际工程名,路径为目标路径(注意不是keil工程路径,而是Source Insight目标路径,同时不能有中文路径)。
    在这里插入图片描述
  • 然后点击OK,如下图所示,写入实际工程的顶层目录:
    在这里插入图片描述
  • 然后点击OK,在我们新建工程以后,Source Insight 要求我们为所建的工程添加文件,我们可以通过接下来的这个窗口来为工程增加文件。选择需要添加的源代码,上一步中我们已经定位到源代码工程中,所以我们选择Add All,把所有文件添加到工程中,当然也可以自己选择添加,然后勾选上包含下级文件,点击OK,确定,然后点击Close即可,如下图所示:
    在这里插入图片描述
  • 这样我们的新建工程完成就完成了。点击【Project】-【Synchronize Files…】,
    在这里插入图片描述
  • 如下图勾选后点击Start,这样软件会分析代码,方便编辑时跳转等操作。
    在这里插入图片描述

2.3认识工程与源码阅读

搜索文件打开

  • 如下,在Project Files中搜索框输入目标文件名,点击文件可打开该文件。
    在这里插入图片描述
    在这里插入图片描述

查看函数信息

  • 点击函数,下方就会显示该函数内容。
    在这里插入图片描述

函数跳转

  • 【Ctrl+单击】,就会自动跳转到函数定义的位置。可以按【Alt+,】返回。
    在这里插入图片描述

查找函数或变量的引用

  • 双击函数,右键点击弹出对话框选择“Lookup Reference”;或者双击函数后,使用快捷键"ctrl+/"来查找引用,如下图:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.其他快捷键

快捷键说明
Ctrl+=跳去定义的位置
Ctrl+/查找引用
Alt + ,后退
Alt + .前进
F8高亮选中的字符
Ctrl+F查找
F3或Shift+F3往前查找
F4或Shift+F4往后查找
F5跳去某行

其他快捷键:
F7 :Look up symbols
F8 :Look up local symbols
F9 :Ident left
F10 :Ident right
Alt+, :Jump backword
Alt+. : Jump forward
Shift+F3 : search the word under cusor backward
Shift+F4 : search the word under cusor forward
F12 : incremental search
Shift+Ctrl+f: search in project
shift+F8 : hilight word

窗口操作快捷键:
project window Ctrl+O打开
symbol window Alt+F8打开和关闭
Contex Window 自定义键打开和关闭
Relation Window 自定义键打开 先锁定再刷新联系

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/364453.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第十一章 - 模糊匹配(like)、正则匹配(REGEXP)、文本处理函数、时间处理函数

第十一章 - 模糊匹配(like)、正则匹配(REGEXP)、文本处理函数、时间处理函数模糊匹配和正则匹配like%通配符_通配符REGEXP 正则匹配文本拼接concat()substring()substring_index()一些文本处理函数时间处理…

Autosar MCAL-ADC配置PWM硬件触发采样

文章目录前言ADC配置AdcGroupRequestSourceAdcGroupTriggSrcAdcHwExtTrigSelectAdcHwGatePinAdcGeneral-AdcHwTriggerApiAdcHwGateSignalAdcHwTrigSignalAdcHwTrigTypeGtmGtmConnectionsPWM实际使用总结前言 在实际项目开发过程中,关于ADC采样,大部分使…

存储器与cpu的连接

1. 只读存储器 只读存储器中一般用于保存系统程序或者系统的配置信息; 早期的只读存储器, 在厂家就写好了内容改进1, 用户可以自己写, 一次性改进2, 可以多次写-- 要能对信息进行擦除;改进3,  电可擦…

【Leetcode 剑指Offer】第3天 字符串(简单)

字符串剑指 Offer 05. 替换空格字符串构造函数和析构函数操作函数剑指 Offer 58 - II. 左旋转字符串剑指 Offer 05. 替换空格 题:实现一个函数,把字符串 s 中的每个空格替换成"%20"。 class Solution { public:string replaceSpace(string s…

华为OD机试真题 用 C++ 实现 - 单词反转

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…

Springcloud-Seata分布式事务

目录 一、什么是Seata? 二、Seata的执行流程 三、搭建Seata服务器 四、配置微服务客户端 分布式事务的解决办法: 使用消息中间件手写代码解决分布式事务使用第三方组件--->Seata阿里巴巴的产品 这里只介绍通过第三方插件-----Seata解决分布式事务的问题 一、什…

说说 React 中 fiber、DOM、ReactElement、实例对象之间的引用关系

原生组件 fiber 原生组件 fiber,指的就是 type 为 “span”、“div” 的 fiber。 1.fiber.stateNode 指向真实 DOM 节点;2.node["__reactFiber$" randomKey] 指向对应 fiber,使用随机数是防止和业务代码的属性名冲突,…

【系统设计】攻击技术

一、跨站脚本攻击 概念 跨站脚本攻击(Cross-Site Scripting, XSS),是指恶意攻击者在Web页面中插入恶意javascript代码(也可能包含html代码),当用户浏览网页之时,嵌入其中Web里面的javascript代…

python | 第八、九章考试题

本篇文章是对北京理工大学嵩天老师的《Python语言程序设计》第八章:程序设计方法学、第九章:Python计算生态纵览考试题的学习记录。 目录 一、第八章考试题 1、英文字符的鲁棒输入 2、数字的鲁棒输入 二、第九章考试题 1、系统基本信息获取 2、二…

JavaScript学习第2天:JS内置对象、简单数据类型与复杂类型

一、内置对象 JavaScript 中的对象分为3种:自定义对象 、内置对象、 浏览器对象 前面两种对象是JS 基础内容,属于 ECMAScript; 第三个浏览器对象属于JS 独有的 1、内置对象 内置对象就是指 JS 语言自带的一些对象。 JavaScript 提供了多个…

关于java8的List的stream流的foreach()方法问题探究(坑)与替代方案

一、起因 今天发现线上系统出现了一个bug&#xff0c; 我有一个“定时任务”每天凌晨触发&#xff0c;任务内容&#xff1a; ① 定时调用的系统暴漏的接口&#xff0c;来定时获取List<Object>数据。 ② 然后我会筛选出该List中符合条件的Object&#xff0c;对筛选出来的…

数组类模板

要求&#xff1a;设计一个数组模板类&#xff08;MyArray&#xff09;&#xff0c;完成对不同类型元素的管理操作步骤设计头文件在 qtcreate下先创建03_code的项目&#xff0c;然后右键点击03_code添加新文件&#xff0c;点击头文件&#xff0c;点击Choose命名为 myarry.hpp&am…

产品运营︱用户活跃度低的解决方法

app用户活跃度低&#xff0c;产品拉新变现效率慢&#xff0c;这是运营app时难免会遇到的情况。要想解决这类问题&#xff0c;就要从可能的原因下手&#xff0c;进行产品的优化改进&#xff0c;记录下改变后的关键数据变化&#xff0c;定期做好复盘工作进行调整。 一、app用户量…

117.Android 简单的拖拽列表+防止越界拖动(BaseRecyclerViewAdapterHelper)

//1.第一步 导入依赖库和权限&#xff1a; //依赖库&#xff1a; //RecyclerView implementation com.android.support:recyclerview-v7:28.0.0//RecyclerAdapter implementation com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.28 //用到的权限&#xff1a; <!…

【华为OD机试模拟题】用 C++ 实现 - 求最大数字

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…

优思学院:六西格玛管理的优势有哪些?

六西格玛的优势有哪些呢&#xff1f;以下我们来探讨一下。 一・降低企业整体成本 对企业而言&#xff0c;不良品要么被废弃&#xff0c;要么需要重新加工&#xff0c;或者需要在客户现场维修或更换&#xff0c;这些都会增加企业成本。根据美国的统计数据&#xff0c;执行3σ管…

搭建Scala集成开发环境

文章目录前言搭建Scala集成开发环境&#xff08;一&#xff09;启动IDEA&#xff08;二&#xff09;安装Scala插件&#xff08;四&#xff09;创建Scala项目1、创建Scala项目 - ScalaDemo012、创建Scala类 - HelloWorld3、创建Scala单例对象 - TestHelloWorld&#xff08;五&am…

HIVE 基础(四)

目录 分桶&#xff08;Bucket&#xff09; 设定属性 定义分桶 案例 建表语句 表数据 上传到数据 创建分桶语句 加载数据 分桶抽样&#xff08;Sampling&#xff09; 随机抽样---整行数据 随机抽样---指定列 随机抽样---百分比 随机抽样---抽取行数 Hive视图&#…

计算机基础知识——认识寄存器

下面我们就来介绍一下关于寄存器的相关内容。我们知道&#xff0c;寄存器是 CPU 内部的构造&#xff0c;它主要用于信息的存储。除此之外&#xff0c;CPU 内部还有运算器&#xff0c;负责处理数据&#xff1b;控制器控制其他组件&#xff1b;外部总线连接 CPU 和各种部件&#…

【软件测试】自动化测试的科幻大片,揭开面纱的后背......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 只要一听到 “自动化…