在RT-Thread中使用SystemView进行调试分析


一、SystemView

SystemView is a toolkit for visual analysis of any embedded system. SystemView gives complete insight into an application, to gain a deep understanding of the runtime behavior, going far beyond what a debugger is offering. This is particularly advantageous when developing and working in complex systems with multiple tasks and events.
SystemView是一个用于可视化分析任何嵌入式系统的工具包。SystemView提供了对应用程序的完整洞察,以获得对运行时行为的深刻理解,远远超出了调试器所提供的。当在具有多个任务和事件的复杂系统中开发和工作时,这是特别有利的。

安装

进入SystemView官网进行下载
在这里插入图片描述
在这里插入图片描述
下载完成直接双击exe文件默认安装即可

进入SystemView,界面如下
在这里插入图片描述

二、RT-Thread

打开RT-Thread某例工程,添加SystemView软件包
在这里插入图片描述
在这里插入图片描述

打开SystemView通过工程地址与之联系

  • 第一步,选择开始按钮
    在这里插入图片描述
  • 第二步,在弹出的窗口中选择 J-Link
    在这里插入图片描述
  • 第三步,填写mcu型号与工程地址
    在这里插入图片描述
  • 第四步,查看各线程运行情况
    在这里插入图片描述

分析:
在此段中,线程thread1的开始运行时间为7.414s,由上方代码可知,设置的睡眠时间为100ms,也就是说经100ms的睡眠后会再次进入此线程
在这里插入图片描述
按下切换键后观察:
在这里插入图片描述
可发现,此时与理论值相吻合,分析成功

上述只是一个简单的调试分析示例,SystemView可以很好的去调试,检测任务的运行时间、查看程序卡死位置、对比不同算法的运行效率等等。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VUE实现购物商城网站前端源码

文章目录 1.设计来源1.1 登录注册页面1.2 主界面1.3 列表界面1.4 详细界面1.5 购物车界面 2.源码2.1源码目录结构2.2源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/135054910 VUE实现购物商城网站前端源码&…

thinkphp的生命周期

1.入口文件 index.php 用户通过入口文件,发起服务请求,是整个应用的入口与七点 定义常量,加载引导文件,不要放任何业务处理代码 2.引导文件 start.php; 加载常量->加载环境变量->注册自动加载->注册错误与异常->加…

在modelsim中查看断言

方法一:单纯的modelsim环境 (1)编译verilog代码时按照system verilog进行编译 vlog -sv abc.v 或者使用通配符编译所有的.v或者.sv文件 ( vlog -sv *.sv *.v) (2)仿真命令加一个-assert…

手把手教你制作微信图书小程序商城

随着微信小程序的普及和发展,越来越多的商家开始意识到微信小程序的商机。微信小程序商城成为了各行各业商家们开展线上业务的首选。那么,如何制作一款自己的微信图书小程序商城呢?下面就手把手教你一步步完成。 第一步,登录乔拓云…

前端路由模式

文章目录 一、hash 模式Hash 模式的特点window.onhashchange 事件 二、history 模式history APIwindow.onpopstate 事件解决history模式下页面刷新404问题 如何选择合适的路由模式 一、hash 模式 hash 模式是一种把前端路由的路径用 # 拼接在真实 url 后面的模式,通…

CentOS 7 制作openssh 9.6 rpm包更新修复安全漏洞 —— 筑梦之路

2023年12月18日 openssh 发布新版9.6p1,详细内容阅读OpenSSH: Release Notes 背景说明 之前也写过多篇制作openssh rpm包的文章,为何要重新来写一篇制作openssh 9.6版本的? openssh 9.6 rpm包制作和之前存在区别,对于CentOS 7来…

贝叶斯判别

参考文献: 6 判别分析 | 多元统计分析示例https://www.cnblogs.com/qizhou/p/13495598.html 一、问题描述 贝叶斯判别的本质是一类分类问题:基于若干采样样本,如何学习一个分类器对新样本数据进行分类并保证分类错误的概率最小。 假设 一…

java并发编程五 ReentrantLock,锁的活跃性

多把锁 一间大屋子有两个功能:睡觉、学习,互不相干。 现在小南要学习,小女要睡觉,但如果只用一间屋子(一个对象锁)的话,那么并发度很低 解决方法是准备多个房间(多个对象锁&#xf…

Windows 11 系统下JDK17的下载与配置

一般地,在做Java项目的时候,我一般喜欢用 Idea 软件来写代码,idea是代码编辑器,JDK是用来翻译写好的代码,两者缺一不可!!! 下面我就来讲一下如何进行JDK17的下载与配置 JDK17的下载…

鸿蒙ArkTS语言介绍与TS基础语法

1、ArkTS介绍 ArkTS是HarmonyOS主力应用开发语言,它在TS基础上,匹配ArkUI框架,扩展了声明式UI、状态管理等响应的能力,让开发者以更简洁、更自然的方式开发跨端应用。 JS 是一种属于网络的高级脚本语言,已经被广泛用…

联盟 | Shoplazza X HelpLook,AI技术助推商业效能增长

随着人工智能(AI)技术的快速发展,其在各个领域的影响力日益增强。特别是近几年,无论是独立站还是电商平台,都在积极探索利用AI来分析数据以及提升运营效率的方式。 在这场AI技术的浪潮中,Shoplazza 与 Hel…

Jmeter关联操作

1.首先右键添加一个线程选择线程组,命名为线程组-1,添加取样器选择HTTP请求--城市天气 2.线程组-1右键,添加取样器选择后置处理器中的JSON提取器 3.线程组-1右键,添加取样器选择后置处理器中的BeanShell 后置处理程序(必须平级) 4.首先右键添加一个线程选…

JVM启动流程(JDK8)

JVM启动流程(JDK8) JVM的启动入口是位于jdk/src/share/bin/java.c的JLI_Launch函数,其定义如下: int JLI_Launch(int argc, char ** argv, /* main argc, argc */int jargc, const char** jargv, /* java args */int appclassc, const char** appclass…

贵金属入门知识有哪些?

贵金属作为国际知名的理财产品之一,市场人气居高不下,当前由于社会上的不确定分享增加,出于保值避险需求的推动,贵金属迎来了新一波发展高峰。对于刚刚接触贵金属市场的交易者来说,了解贵金属入门知识,做好…

安卓开发学习---kotlin版---笔记(三)

网络 安卓主页的网络框架&#xff1a;OkHttp 在OkHttp的基础上进行封装的&#xff1a;Retrofit框架&#xff0c;更常使用 OkHttp学习 在使用网络请求的时候&#xff0c;先添加网络访问权限&#xff1a; <uses-permission android:name"android.permission.INTERNET&…

vue2 组件传递数据

向子组件传递数据通过Props 1.创建子组件 详细步骤&#xff1a; 1.在components创建子组件 2.等父组件接受到参数后通过Props来接受父组件传递过来的数据 <template><div id"app"><h2>title:{{ title }}</h2><p>tips:{{ tips }}<…

【力扣】148.排序链表

148.排序链表 怎么说&#xff0c;这道题看上去挺简单的&#xff0c;但是要搞清楚的知识点那还真不少&#xff0c;刷题好痛苦&#xff0c;但是要刷&#xff01;嘿嘿~ 首先&#xff0c;要搞懂归并排序&#xff0c;然后是递归。这道题我刚开始想的是递归&#xff0c;但是题友说时…

2023/12/21作业

思维导图 代码 .text .global _start _start: 灯1 gpio时钟使能 [4]->1 0x5000A28 LDR R0,0x50000A28 指定寄存器地址 LDR R1,[R0]将寄存器取出放到R1 ORR R1,R1,#(0x1<<4)将第四位设置为1 STR R1,[R0]读取R0寄存器到R1 PE…

【开源软件】最好的开源软件-2023-第二名: Podman

自我介绍 做一个简单介绍&#xff0c;酒架年近48 &#xff0c;有20多年IT工作经历&#xff0c;目前在一家500强做企业架构&#xff0e;因为工作需要&#xff0c;另外也因为兴趣涉猎比较广&#xff0c;为了自己学习建立了三个博客&#xff0c;分别是【全球IT瞭望】&#xff0c;【…

vue3 在vite.config中无法使用import.meta.env.*的解决办法

第一种,优先使用第一种方法,其中参数mode就是自定义--mode的值,如果没写,就是production或development import { loadEnv } from vite export default ({ mode }) > {return defineConfig({plugins: [vue()],base:loadEnv(mode, process.cwd()).VITE_APP_NAME}) } 第二种 …