【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-第二十五章 Source Insight 的安装和使用

news2024/9/9 7:27:10

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT、4G模块、CAN、RS485等接口一应俱全。H264、VP8视频硬编码,H.264、H.265、VP8、VP9视频硬解码,并提供相关历程,支持8路PDM接口、5路SAI接口、2路Speaker。系统支持Android9.0(支持获取root限)Linux4.14.78+Qt5.10.1、Yocto、Ubuntu20、Debian9系统。适用于智能充电桩,物联网,工业控制,医疗,智能交通等,可用于任何通用工业和物联网应用、

【公众号】迅为电子

【粉丝群】258811263(加群获取驱动文档+例程)


第二十五章 Source Insight 的安装和使用

本章内容对应视频讲解链接(在线观看):

Source Insight 的安装和使用  https://www.bilibili.com/video/BV1M7411m7wT?p=25

这个软件是代码编辑和查看软件,打开开发板光盘软件,进到“iTOP-iMX8MM开发板\02_iMX8MM开发资料汇总(不含光盘内容)\04_iMX8MM开发板所需PC软件(工具)\03-Source Insight”,把sourceinsight 安装包拷贝到电脑上,然后右键选择以管理员身份运行这个安装包。

在弹出来的安装向导里面点击next ,如下图所示。

这里选择我接受这个协议,然后点击next 。如下图所示。

安装路径这里注意一定不要有中文路径,如果有中文路径,那么安装 source insight 一定会出问题,检查无误后,我们点击 next 。如下图所示。

点击安装,这样他就会自动帮助我们安装好这个软件,如下图所示。

然后点击 finish,如下图所示。

然后桌面就会出现 source insight 4.0 如下图所示软件。

双击打开它,因为这个软件是付费软件,所以我们选择试用30天,当我们后面有注册码的时候我们再来注册这样这个软件就安装好了。然后点击“Next”按钮,继续下一步然后进入信息填写界面,填写完信息,然后点击“Next”按钮就可以了,如图所示,在后面弹出窗口一路点击“Next”按钮就可以了。如下图所示。

最后进入到Source Inisght,由于这是我们第一次打开,所以会出现如图所示界面,然后点击界面中的“Cancel”按钮。如下图所示。

然后会弹出对话框,我们点击“确定”按钮,如下图所示。

弹出你想要创建工程的对话框,选择否。

软件就安装好了。

source insight 可以和第二十四章安装的 samba 配合使用。我们打开ubuntu,进到samba指定的目录,我安装的samba指定路径是 /home/samba 这个路径,我在这个路径下创建一个 test 文件夹,这个文件夹我们是存放工程源码的,这里要使用管理员身份来运行,如下图所示。

我们也可以通过 windows上的我的电脑,在磁盘管理这里面,也可以访问 test 这个文件夹,如下图所示。

然后我们打开 source insight 这个软件,新建一个工程,点击 Project,选择 New Project,如下图所示。

第一行这里是设置我们工程的名字,起为 hello ,下边的是工程文件的路径,这个路径一般都要放到windows电脑上,这个路径我们就不改了,如果大家想改的话,可以点击 Browse,但是这个路径不能有中文路径,

然后点击 OK, 如下图所示。

 

我们在这个路径要设置源码路径,我们是把源码放在了samba指定的test路径下,现在通过windows进到samba指定的 test路径下,然后复制这个路径,设置好之后点击OK,如下图所示。

这里点击Add,因为test目录下是没有文件的,所以他会提示我们没有文件,然后点击 close ,这样我们的工程就创建好了。

然后我们在这个工程里面创建一些文件,来体验下 Source Insight这个软件。

我们先创建一个.c文件,我们可以点击 file->new ,我们创建一个main.c ,然后点击 OK,点击保存

我们把它放到samba 指定的 test 这个目录下,提示我们要不要把它添加到当前目录,我们选择是。

然后我们来看下 test目录下有没有多出来一个 main.c 的 .c 文件,ubuntu上就可以看到了,如下图所示。

然后按住ctrl然后按鼠标滚轮就可以放大代码,改一下格式,保存。

打开main.c文件以后,我们在编辑区输入如下代码:

#include <stdio.h>                                                                    

#include "calc.h"                                                                     

                                                                                      

int main(int argc, char *argv[])                                                      

{                                                                                     

        int a = 3, b = 7, sum;                                                        

                                                                                      

        sum = calc(a, b);                                                             

                                                                                      

        printf("%d + %d = %d\n", a, b, sum);                                          

                                                                                      

        return 0;                                                                     

}                                                                                     

编辑完以后保存后的界面如下图所示。

然后我们在当前路径下创建并打开calc.h文件,写入以下内容

#ifndef _CALC_H                                                                         

#define _CALC_H                                                                         

                                                                                        

int calc(int a, int b);                                                                 

#endif

编辑完保存后,如下图所示。

在当前路径下创建并打开calc.c,写入以下内容

编辑完保存后,如下图所示。

#include "calc.h"                                                                       

                                                                                        

int calc(int a, int b)                                                                  

{                                                                                       

        return (a+b);                                                                   

}

然后我们创建一个 makefile 文件,因为我们有makefile才可以使用 make 工具来编译我们的代码,起名为 makefile,写入以下内容:

main:main.o calc.o

gcc -o main main.o calc.o

main.o:main.c

gcc -c main.c

calc.o:calc.c

gcc -c calc.c

clean:

rm -rf *.o

rm -rf main

按Tab键缩进,这里冒号是中文的,所以他没有识别出来,我这里把冒号改成英文的,就会变颜色,

然后点击保存,保存在同样的路径下,这样我们的工程就创建好了,我们也在这工程里添加了 .c 和 .h 文件。

编译工程

我们可以打开 ubuntu ,我们先来看一下在 /home/samba/test 这个路径下有哪些文件,因为我们创建了两个.c ,一个 .h 和一个 makefile ,所以在/home/samba/test这个路径下也有这三个文件,如下图所示。

我们有makefile 也有源文件,我们可以直接输入make来编译,使用管理员的身份来运行,如下图所示。

我们得到了 main这个可执行文件,也成功输出了结果,因为我们a=3 ,b=7,相加值为10,那么我如果想改下这个代码呢,我这里在下面再添加”hello”代码,如下图所示。

然后我在打开ubuntu,我们可以直接在源码所在的路径输入 make 就可以编译我们修改过后的代码了,我们来试一下,看看我们得到的可执行文件能不能打印我们添加的 hello 呢,我们输入make ,然后我们运行下main可执行文件,他这里打印了hello。如下图所示。

所以我们使用source insight 加 samba 极大的提高了我们的开发效率,因为我们不用把修改过后的代码再通过ssh软件传到ubuntu了,可以直接利用samba 指定的文件夹来编译我们的代码,

Sourc Insight 窗口简介

如下图所示是主界面,主界面显示的是代码,选择main.c就会显示main.c的代码,选择makefile 就会显示makefile的代码.

左边显示都有哪些函数,哪些宏定义,比如说 main.c 里选择 include “calc.h” ,在 main.c 就会选中include这个头文件,双击 main 它同样会选中 main 函数,我们也可以搜索,假如说我这个 .c文件很长,我只记得名字的一部分比如说 ma ,那么他就会自动匹配,同样光标就会移动到 main 函数这里,如下图所示双击 main.c 主界面显示了 main.c 的代码。

右边这个窗口是我们工程文件的列表,我们在这里选中 main.c或者makefile ,直接通过这个来选也是可以的,上边也是可以搜索的,比如说搜索 cal ,他同样会帮我们自动匹配,然后我们敲回车就会进到 calc.c这个文件了。如下图所示。

下边是我们代码实现的一个显示窗口,比如说我现在进到了 main.c里面,我想看一下 calc 这个函数里都写了什么,在下边的这个函数中就显示了 calc 具体的实现方法。如下图所示。

我们能不能跳转呢,比如说我想直接跳转到 calc 这个函数定义的地方,就可以按住键盘上的 ctrl ,我现在的鼠标就变成了一个小手,然后我点击下 calc 就跳转到了这个定义的地方,点击左箭头就跳回去了,点击右箭头就返回来了。如下图所示。

有的同学安装 source insight 之后,它的工程文件列表可能没有,那我要怎么把它调出来呢,点击标题栏的 view 选择 Panels  选择Project File List 就可以了。

下边实现函数的对话框怎么把它关闭和打开呢,使用如下图所示这个快捷键,点击一下没有了,再点击一下就回来了。

把外部文件导入 source insight 。假如我们想要添加外部已经存在的 .c 文件,我们可以点击工程文件列表的 P+,如下图所示。

这样就弹出了一个对话框,左边这个地方选择要添加的文件所在的路径,右边选择要添加的文件,添加好之后选择 Add ,就可以把这个文件添加进来了,如下图所示。

添加完成之后,我们要同步一下,点击Project 选择Synchronize Files 弹出一个对话框,勾选Database Updates下的这两个选项,点击 start ,就可以同步了,如下图所示。

source insight 软件是支持中文显示的,不过我们要先设置下它的编码格式,点击菜单栏 Options 选项,选择下边的小齿轮,然后找到 Files 这个选项卡,把它下边的编码格式设置成GB2312,点击确定,这样就可以在source insight 里边输入中文了。如下图所示。

比如我这里输入求和函数,中文显示如下图所示。

source insight 软件还有很多强大的功能,这里就不给大家一一的演示了。大家也可以试一下 source insight 软件配合我们的 samba 来使用,开发体验会大大地提高。

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

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

相关文章

智慧景区建设方案PPT(54页)

智慧景区建设方案摘要 背景简述智慧景区建设旨在通过信息技术改进和创新传统旅游景区&#xff0c;整合旅游资源和产业链&#xff0c;实现精准网络营销&#xff0c;提升旅游品牌价值&#xff0c;改善信息共享和业务协同&#xff0c;提高旅游产业链效率。基础设施包括高速光纤网络…

FunAudioLLM SenseVoice语音转录(ASR)与CosyVoice语音合成(TTS)及语音克隆使用案例;webui可视化页面操作使用

参考: https://fun-audio-llm.github.io/ 1、SenseVoice语音转录 在线体验:https://modelscope.cn/studios/iic/CosyVoice-300M 参考:https://github.com/FunAudioLLM/SenseVoice 下载: pip install -U funasr使用: from funasr import AutoModelmodel_dir = "…

Nature Climate Change | 气候暖化使土壤碳库易受微生物快速降解影响

本文首发于“生态学者”微信公众号&#xff01; 整个北半球土壤有机碳总量的一半富集在北极地区&#xff0c;其原因是气温较低导致微生物对永久冻土带土壤有机碳的分解缓慢&#xff0c;有利于有机碳的积累。但由于人类活动的影响&#xff0c;近几十年来北极出现了明显的升温&am…

第三方软件测试报告内容详解,如何获取专业软件测试报告?

在现代社会中&#xff0c;软件已经渗透到了各个行业的方方面面&#xff0c;而软件的质量也成为了企业成功的重要因素之一。然而&#xff0c;在软件开发过程中&#xff0c;由于人力、物力、时间等各种因素的限制&#xff0c;难免会出现一些问题和bug&#xff0c;而这些问题又可能…

【Linux系统】信号量(初次理解)

五个概念 多个执行流&#xff08;进程&#xff09;&#xff0c;能看到的一份资源&#xff1a;共享资源被保护起来的资源可以叫临界资源&#xff08;同步和互斥&#xff09; --- 用互斥的方式保护共享资源就叫临界资源互斥&#xff1a;任何时刻只能有一个进程在访问共享资源资源…

【待补充】【来可USB-CAN】个人使用总结

文章目录 EVN简介10. 环境搭建20. 环境测试 EVN windows7 LIKE USB-CAN简介 官网介绍、资料下载 https://www.njlike.com/product/CAN-interfaces/USBCAN/01121.html 10. 环境搭建 USB-CAN 驱动 下载地址&#xff1a;https://www.njlike.com/uploads/soft/190625/1_1425474881…

Redis实践经验

优雅的Key结构 Key实践约定&#xff1a; 遵循基本格式&#xff1a;[业务名称]:[数据名]:id例&#xff1a;login:user:10长度步超过44字节&#xff08;版本不同&#xff0c;上限不同&#xff09;不包含特殊字符 优点&#xff1a; 可读性强避免key冲突方便管理节省内存&#x…

Pandas基础03:数据排序与增删

上一节我们介绍了通过按行索引和按列索引找出相关数据的方法。本章节将进一步介绍如何筛选数据&#xff0c;并对数据进行排序、增删的方法。 示例表格和上一节相同。 1.数据筛选 Python中可以通过区域筛选&#xff0c;即获取某几行某几列的方法得到数据。例如&#xff0c;我要…

2024年了还在学pytestday1

1、按照博主的说法&#xff0c;提出疑问&#xff1a;应该在电脑本地终端安装还是在pythoncharm终端安装&#xff1f; ------在pythoncharm终端安装就行 避免老是忘记&#xff0c;还是记下来比较好。 2、在公司安装不成功&#xff0c;换豆瓣源也不行&#xff0c;连接手机热点尝…

MYSQL审批流程判断同一层级审批人是否全部通过审批

在做流程审批的时候&#xff0c;通常会出现某一层有多个审批人的情况&#xff0c;这个时候需要所有人都通过才会进入到下一步 数据结构如下图表格所示 每一个审批申请对应一个apply_id serial_no相同的代表是同一层级审批人 approval_status是审核状态 下面我们可以用一个SQL来…

Day50:单调栈 LeedCode 739. 每日温度 496.下一个更大元素 I 503. 下一个更大元素 II

739. 每日温度 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 示例 1: 输…

携程租车宝滑块和token 1002

声明(lianxi a15018601872) 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 前言(lianxi a…

6款文案生成器,自动生成文案告别创作烦恼

大家都知道&#xff0c;优质的文案都能为品牌和个人带来巨大的价值。但是对于许多人来说&#xff0c;要创作出优质的文案并非易事&#xff0c;有的人会因为创作灵感枯竭&#xff0c;而出现创作文案的烦恼&#xff0c;有的人会因为创作的文案需要重复修改&#xff0c;而出现文案…

STM32串口工作原理

STM32的串口是相当丰富的&#xff0c;功能也很强劲。最多可提供5 路串口&#xff0c;有分数波特率发生器、支持单线光通信和半双工单线通讯、支持LIN、智能卡协议和IrDA SIRENDEC 规范(仅串口3支持)、具有DMA等。 串口最基本的设置&#xff0c;就是波特率的设置。STM32的串口使…

太速科技-3U VPX飞腾处理器刀片计算机

3U VPX飞腾处理器刀片计算机 一 、产品概述 该产品是一款基于国产飞腾FT2000 4核或腾锐D2000 8核的高性能3U VPX刀片式计算机。产品提供了4个x4 PCIe 3.0总线接口&#xff0c;同时可配置为1个x16或2个x8 PCIe3.0接口&#xff0c;因此具有很强的扩展性&#xff0c;极大…

pwn入门--格式化字符串

pwn入门–格式化字符串 确定偏移&#xff1a; 32位&#xff1a; gdb中格式化字符串在栈上的位置的&#xff0c;左边序号值 就是偏移。 先到printf函数的调用位置&#xff1a; 观查栈上的数据&#xff1a; 64位&#xff1a; gdb中格式化字符串在栈上的位置的&#xff0c…

AI虚拟医生重塑医患关系

如今&#xff0c;越来越多的企业开始选择用AI虚拟数字人播报员替代真人出镜&#xff0c;这不仅有助于企业实现降本增效的目标&#xff0c;更能让广告传播趋向多样化和个性化。对于普通人而言&#xff0c;也摆脱了真人出镜的种种烦恼&#xff0c;让表达更加自由与便捷。AI虚拟数…

Bytebase 2.21.0 - 不同数据库引擎可配置不同 SQL 审核规则

&#x1f680; 新功能 支持不同数据库引擎配置不同 SQL 审核规则。 支持为工单事件配置企业微信私聊通知。 支持连接到 Redis 哨兵架构和原生集群。 在项目级别&#xff0c;支持设置&#xff1a; 是否允许在工单创建后修改 SQL 语句。是否自动完成已发布的工单。 &#x1f51…

ensp防火墙实验

实验拓扑图 实验要求 1&#xff0c;DMZ区内的服务器&#xff0c;办公区仅能在办公时间内(9:00-18:00)可以访问&#xff0c;生产区的设备全天可以访问。 2&#xff0c;生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网 3&#xff0c;办公区设备10.0.2.10不允…

CSS选择器:基本选择器、复合选择器、伪类选择器、伪元素选择器

CSS选择器包含&#xff1a;基本选择器、复合选择器、伪类选择器、伪元素选择器。 选择器是选择标签的一种方式&#xff0c;例如 ID 选择器就是通过 ID 选择标签的&#xff0c;类选择器就是通过类名选择标签的。 在 CSS3 中有很多类型的选择器&#xff0c;如下是《W3school》提…