SystemView 应用笔记

2023-11-04

一 .什么是Systemview?

SystemView 是一个可以在线调试嵌入式系统的工具,它可以分析有哪些中断、任务执行了,以及这些中断、任务执行的先后关系。还可以查看一些内核对象持有和释放的时间点,比如信号量、互斥量、事件、消息队列等。这在开发和处理具有多个线程和事件的复杂系统时尤其有效。

说白了就是我们可以通过这个软件实时监控我们实时系统的任务切换及调度情况,并且这个软件支持多种实时系统,包括RT-thread FreeRTOS uSCIII等。

 

二.怎么将他应用到freeRTOS实时系统上

想用到RT-thread上可以参考RT-thread文档中心

https://www.rt-thread.org/document/site/application-note/debug/systemview/an0009-systemview/#

刚开始弄这东西的时候也是一头雾水,这么牛逼的软件,怎么开始用到自己的项目中呢,百度一下吧,各种文档也是看的自己迷迷糊糊。那么怎么开始用呢。

2.1肯定是下载system view这个软件呗,从哪下载,首选当然是官网。

https://www.segger.com/downloads/systemview/

目前这个软件已经更新到了v3.10,虽然这个软件是免费的但是需要配合J-link才能使用,但是正版的j-link才有授权,但是这东西很贵的,果然下载了最新版本是不能用的,查看网上有大神和谐了V2.52a,按照方法确实也破解成功了,但是该版本只能用M3的,我的板卡是M4的,不知道是不是破解的不对,最后也没有弄成功。

最后在硬汉论坛,找到了一个版本V3.07的版本

http://www.armbbs.cn/forum.php?mod=viewthread&tid=95949&fromuid=58

下载后亲测可用。

2.2当你下载完了,你就认为可以用了?这里一般还是要更新你的j-link驱动的。我开始用的J-link V8最后也没更新成功,最后还是花了100块钱买了个v9的下载器,虽然肯定没正版好用,也算是能用吧。

 

 

提示有版权问题,我直接点的continue也是能用的,不过肯定有功能限制,不过新的版本V3.10版本已经支持TCP和串口来监测了,避免了J-link的尴尬。

 

安装成功了,他会自动加载一个测试的程序。

2.3软件安装完了,就可以开心的用到自己的项目了??当然不是

他是一个监控软件,你的项目中肯定也要添加相关带来来和这个软件来配合,不过不用担心,添加代码的步骤不复杂,占用的内存也不是很多。

软件安装完之后,在他的安装路径下可以找到以下文件夹,这些就是对不同实时系统的支持文件。不同版本位置稍有差异,不过肯定都有啦。

 

2.3.1添加相关文件到你的工程中(不管你是keil还是IAR添加文件的操作就不说了)

 

\TargetSrc\Config 目录下的文件。

\TargetSrc\SEGGER 目录下的文件。

与下位机使用的操作系统相关的文件。 本人使用系统的是 FreeRTOS 9.00,用到的是这几个文件:

\TargetSrc\Sample\Config 目录下的 SEGGER_SYSVIEW_Config_FreeRTOS.c 文件。

\TargetSrc\Sample\OS 目录下的 SEGGER_SYSVIEW_FreeRTOS.c 和

SEGGER_SYSVIEW_FreeRTOS.h 文件

文件位置可能会稍有不同,文件就是这几个文件。

2.3.2修改相关配置

(1)添加头文件在main.c 中    #include "SEGGER_SYSVIEW.h"

    在系统运行之间初始化 SystemView,具体来说就是在系统运行之前增加以下语句:SEGGER_SYSVIEW_Conf();

(2)在 FreeRTOS.h 文件的头部包含 #include "SEGGER_SYSVIEW_FreeRTOS.h"

(3)在 FreeRTOSConfig.h  中添加两个宏定义

#define INCLUDE_xTaskGetIdleTaskHandle  1

#define INCLUDE_pxTaskGetStackStart     1

这样修改就基本完成了,添加过程不复杂。

 

2.4通过jlink 连接目标板    运行  system view , 左侧 三角 

如果此时在Target Device 中找不到你的片子, 重装下jlink 驱动

然后选择你的片子类型,我用的是st的STM32L476RE。

 

此时就可以对你的系统进行分析了。(可以先保存,省的软件崩掉)

三.他有什么功能

监控是成功了,但是这个通过这个软件能获得哪些信息呢?

 

这是截图别的版本的,基本都差不多。

 

在详细的内容可以查看这个人的博客

https://blog.csdn.net/bjr2016/article/details/78474154

这个软件通过使用,感觉还是非常强大的,对我们理解学习实时系统会是一个很好的工具。

 

此文档只做学习使用,如有问题可联系我进行更改。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SystemView 应用笔记 的相关文章

  • 射极跟随器实验报告数据处理_射极跟随器实验报告

    射极跟随器实验报告 由会员分享 可在线阅读 更多相关 射极跟随器实验报告 3页珍藏版 请在人人文库网上搜索 1 实验六 射极跟随器一 实验目的l 掌握射极跟随器的特性及测量方法 2 进一步学习放大器各项参数的测量方法 二 实验原理下图为射极
  • 自定义异常 raise 关键字

    目录 自定义抛出异常关键字 raise 使用raise主动引发异常 raise 关键字的用法 触发异常 自定义异常类 python从小白到总裁完整教程目录 https blog csdn net weixin 67859959 articl
  • 移动端安全通信的利器——端到端加密(E2EE)技术详解

    前言 端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在 采用端到端加密 又称脱线加密或包加密 时消息在被传输时到达终点之前不进行解密 因为消息在整个传输过程中均受到保护 所以即使有节点被损坏也不会使消息泄露 端到端加密系统与链
  • jsoncpp库使用实例

    jsoncpp与json json是什么 JSON JavaScript Object Notation 是一种轻量级的数据交换格式 它是一种文本格式 它实际上是一种独立于编程语言的数据格式 几乎所有现代编程语言都支持解析和生成JSON数据
  • C++回文子串

    回文子串 给定一个字符串 你的任务是计算这个字符串中有多少个回文子串 回文串是一个正读和反读都一样的字符串 具有不同开始位置或结束位置的回文串 即使是由相同的字符组成 也会被计为是不同的子串 输入 仅包含一个字符串 长度不会超过 1000
  • RSA私钥及公钥生成

    1 生成密钥 cmd 进入jdk的bin目录下 输入如下命令 keytool genkey alias xxxx keyalg RSA keysize 1024 storetype pkcs12 keystore D xxxx p12 会出
  • xml文件的注释展示

    xml文件的注释格式 lt 被注释的内容 gt 注释不能嵌套定义 XML可以从HTML中分离数据 即能够在HTML文件之外将数据存储在XML文档中 这样可以使开发者集中精力使用HTML做好数据的显示和布局 并确保数据改动时不会导致HTML文
  • Latex中的(左边有大括号的)方程组解决方案汇总

    CODE begin equation begin cases eq1 eq2 end cases end equation 对于不需对齐的方程组这样写比较方便 需要对齐的时候间距太大了 有时候需要对齐 这时候我用 CODE begin e

随机推荐

  • 欢迎来到 C# 9.0(Welcome to C# 9.0)

    C 9 0 已于 2020年11月10日 正式发布了 请点击链接转至 C 9 0 正式发布了 C 9 0 on the record 阅读最新版内容 https mp weixin qq com s b7yd5FoR6jDrhx8K 310
  • php 返回header,PHP header返回http头类型大全 header( Content-T

    php 代码库 定义编码 header Content Type text html charset utf 8 Atom header Content type application atom xml CSS header Conten
  • qt5.5.1 linux 64下载,[更新]Qt Enterprise v5.5.1正式发布[附下载]

    原标题 更新 Qt Enterprise v5 5 1正式发布 附下载 Qt最早诞生于1991年 长期以来一直以 linux平台下 最著名的开发平台 身份 在全世界开发者中享有盛誉 Qt Enterprise是目前最先进 最完整的跨平台C
  • 这个Chrome 插件,让你的GPT无比丝滑!

    ChatGPT的官网最近几天报错越来越频繁了 相信大家都发现了 一旦你离开页面时间比较久 再度返回跟它进行对话 就会出现如下报错 虽然这个报错信息以前也出现过 但现在的频率确实过高 对于每天需要使用 ChatGPT 处理大量任务的用户来说
  • 我们压缩了一批深度学习进阶“传送门”给小白

    编译 ShanLIU Chloe 笪洁琼 Harry 作者 Seth Weidman 阅读这篇文章的必要性 无论是作为行业内的从业者还是一个组织 在开始深度学习应用之前 都需要掌握两件事 1 知其然 掌握一个基础概念 知道深度学习的最新发展
  • Vue路由跳转到新页面之后,返回旧页面保持状态不变

    新项目中遇到了登录时点击用户协议 进入协议页面让用户阅读 然后返回登录页面时发现原来填写的手机号验证码全都没有了 解决方案 使用keep alive 在vue app中添加keep alive标签
  • MyBatis快速入门(四) MyBatis和Spring集成

    导入依赖包 前面介绍了MyBatis的相关知识 现在来介绍一下如何和Spring进行集成 MyBatis和Spring的集成工作是由MyBatis团队完成的 所以我们首先要先引入MyBatis和Spring的集成依赖包 这里我用的是Grad
  • 【渗透测试】Apache Shiro系列漏洞

    目录 Shiro 550 CVE 2016 4437 1 漏洞原理 2 影响版本 3 漏洞利用 Shiro 721 1 漏洞原理 2 影响版本 3 漏洞利用 Shiro认证绕过漏洞 CVE 2020 1957 1 漏洞原理 2 影响版本 3
  • 前端js调用方法的几种方式

    最近在做前端项目 因为没上vue还是原生的jq方法 所以遇到各种各样的问题 在这记录下几种前端触发的方法 1 onclick 在标签内直接写 nclick qz this 即可 然后js中写方法 2 fxbsbutton click 第一个
  • 变量的作用域和变量提升

    京东面试题 面试官小姐姐给出了一道题 var a 100 function test console log a a 10 console log a console log this a var a test 问我这三个会打印出来的值是什
  • 大数乘法 V2

    给出2个大整数A B 计算A B的结果 Input 第1行 大数A 第2行 大数B A B的长度 lt 100000 A B gt 0 Output 输出A B 如果用正常的大数乘法来做 会发现时间复杂度是的 显然是会TLE的 为了避免这种
  • 爬虫scrapy框架进阶-CrawlSpider, Rule

    文章适合于所有的相关人士进行学习 各位看官看完了之后不要立刻转身呀 期待三连关注小小博主加收藏 小小博主回关快 会给你意想不到的惊喜呀 文章目录 scrapy中加入CrawlSpider 创建项目 提取器和规则RULE scrapy爬虫实战
  • Inno Setup使用方法备份

    http www 360doc com content 13 0327 03 4221543 274250221 shtml
  • Java 注解计算12生肖,java Data中获取年,根据生日日期获取生肖注解,根据输入时间获取生肖,自定义注解的方式获取生肖 根据年份时间获取十二生肖

    最近 开发中需要增加生肖 但是不想增加字段 于是通过注解的方式 实现生日与生肖的转换 话不多说 直接上代码 如下 实体类中的字段 添加自定义注解 ToChineseZodiacSerializer 生肖 根据生日计算生肖 JsonSeria
  • Feign:Decoder与ErrorDecoder

    Feign在spingcloud架构中 各微服务之间的调用工具 它整合了ribbon的负载均衡 采用声明调用 使服务之间的调用更加简单 FeignClient value product configuration FeignBaseCon
  • DecimalFormat格式化显示数字

    DecimalFormat 是 NumberFormat 的一个具体子类 用于格式化十进制数字 可以实现以最快的速度将数字格式化为你需要的样子 DecimalFormat 类主要靠 和 0 两种占位符号来指定数字长度 0 表示如果位数不足则
  • 树莓派外设开发之玩传感器

    参考 用树莓派玩传感器 作者 LEO max 发布时间 2021 02 24 16 30 46 网址 https blog csdn net zouchengzhi1021 article details 114026649 spm 100
  • Linux下的USB总线驱动(一)

    Linux下的USB总线驱动 一 分类 linux驱动 子系统 总线 Mini2440 2012 11 23 11 06 516人阅读 评论 0 收藏 举报 版权所有 转载请说明转自 http my csdn net weiqing1981
  • 把Objects365制作为Tensorflow数据集

    Objects365是北京旷视科技有限公司与北京智源人工智能研究院共同发布的全球最大的目标检测数据集 该数据集总共包含63万张图像 覆盖365个类别 高达1000万框数 具有规模大 质量高 泛化能力强的特点 远超Pascal VOC COC
  • SystemView 应用笔记

    一 什么是Systemview SystemView 是一个可以在线调试嵌入式系统的工具 它可以分析有哪些中断 任务执行了 以及这些中断 任务执行的先后关系 还可以查看一些内核对象持有和释放的时间点 比如信号量 互斥量 事件 消息队列等 这