【ARM Coresight 系列文章 10 - ARM Coresight STM 介绍及使用】

news2024/11/27 10:33:08

文章目录

    • ARM System Trace Macrocell
      • STM Features
      • STM 与 ETM/PTM的差异
      • STM Master

ARM System Trace Macrocell

ARM 对STM 的解释是其支持高带宽的"仪器化输出",仪器化输出其实也就是像 Cortex-M 系列中的 ITM 一样,通过将数据写入 STM 的 stimulus port,然后再通过STM将数据送输出,可以送到 System memory, 也可以通过TPIU送出去,之所以说是高带宽是因为 STM的输入口接入了AXI bus,所以CPU 可以通过 AXI bus 将大量数据写入STM。
在这里插入图片描述

STM 中的 stimulus port 其实一块地址空间,数据只要写入到这块地址空间就会被STM接收,从上图也可以看出,STM除了可以接收软件写入的数据,也可以接受硬件信号,比如中断信号,只要将硬件信号绑定到对应的stimulus port上,那么STM 就会接收并转换硬件发过来的信号并生成数据包。

STM Features

  • 可以为软件提供快速的 log 输出,相对于串口打印,STM的输出速度高出很多;
  • 系统性能监控及进行性能调控,大致可以理解为软件使用STM在需要加上打印时间戳的地方加上stm的log输出,从而来统计性能;
  • 跟踪内部的一些信号,如中断信号;
  • STM 可以通过DMA将CPU输出的数据搬运到STM中,这样可以减少CPU的负载;
  • 一个STM 可以被多个CPU访问,多个cpu可以共用一个STM。
    在这里插入图片描述

STM 与 ETM/PTM的差异

ETM: 如前文所述,ETM主要是用于跟踪 CPU 执行过的一些指令,通常只会统计指令有没有执行。早期的 ETM 也支持 Data trace, 由于data trace 对系统性能影响较大,后面ETM中就不再支持 Data trace了;
PTM: 功能和ETM很相似,目前很少用;用来追踪 branch instruction。

STM Master

在 STPv2 协议中一共有两个概念,一个是 master、一个是 channels。
master 可以理解为主动发出数据打印请求的,比如一个系统中存在多个cluster, 每个cluster中都有4个core, 那么一个core就是一个master;
channels:为 master 输出不同类型的数据通道。

按照 STPv2 协议 STM一共支持129个master,其中有128个用于软件打印信息输出,1个master用于观察硬件信号,每个master 有 64K 的channels 地址空间。

此外,每个channel(stimulus port) 占用连续的256 bytes,所以在STPv2 中 master一共可以支持 64K的 stimulus port,每个 master 需要的地址空间为 64K x 256 = 16M。

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

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

相关文章

(中等)LeetCode 328. 奇偶链表 Java

对于链表中有零个、一个、两个节点的情况,直接返回即可 对于链表的节点数大于两个的情况,需要讨论,看当前节点是第奇数个节点还是第偶数个节点 class Solution {public ListNode oddEvenList(ListNode head) {if (head null || head.next …

Android Glide onlyRetrieveFromCache downloadOnly submit ,kotlin

Android Glide onlyRetrieveFromCache downloadOnly submit ,kotlin Glide预加载,加载到磁盘或者内存缓存,然后加载的图片只从缓存(磁盘缓存或者内存缓存)中取。 private val imageFile File("/storage/emulated/0/DCIM/Ca…

百科创建必看攻略!人物百度百科怎么创建?5分钟教会你创建人物百度百科词条

百度人物百科是一个广受欢迎的在线百科平台,它为用户提供了一个便捷的方式来了解各种各样的人物信息。如果你有一个人物的详细资料,你可以通过创建一个百度人物百科页面来分享这些信息。 下面是分媒互动分享的创建百度人物百科页面的步骤以及需要注意的几…

ConfigMap 补充 和 Secret

对于上一篇文章我们分享了为什么要使用 ConfigMap ,我们创建 ConfigMap 的时候可以传入单个或者多个键值对,也可以传入文件,还分享了如何简单的传入 ConfigMap 里面的数据作为环境变量 我们补充一下使用 ConfigMap 一次性传递多个条目吧 一…

直击现场|Sui Builder House巴黎站倒计时0天

Sui Builder House下一站即将在法国巴黎举行,为世界各地的开发人员提供在这座被誉为“City of Light”的城市学习和交流的机会。 Sui Builder House将于7月18–19日在巴黎举行,这是展示Sui突破性技术的绝佳机会。在丹佛Builder House活动之后&#xff0c…

PCIe总线的链路训练

目录 概述 链路训练的目的 几个关键概念 Lane reveral : Polarity inversion: De-skew: link number: Lane number: Bit lock: Symbol lock: 几个特殊序列: TS1和TS2&am…

深度学习系列8——分类模型评估指标

1. 概述 1.1 分类 分类:标签为离散值。 回归:标签为连续值。 2. 混淆矩阵 二分类的混淆矩阵: TP 和 TN 为网络预测正确的部分,FP 和 FN 为网络预测错误的部分。 3. 二级指标 准确率: 针对模型的整体评估&#xf…

Java基础之复习笔记(上)

目录 一、Java是什么? 💖Java概念 💖Java运行机制 二、Java的语言基础 💖关键字 💖基本数据类型 💖运算符 三、Java逻辑控制 💖分支结构 💖循环结构 四、Java的方法 &#…

嵌入式基础知识-系统调度

系统调度是操作系统重要功能,在嵌入式开发,也要了解系统调度的基本原理。对于嵌入式Linux开发,一般使用多线程和多进程开发,对于运行RTOS的嵌入式系统,一般使用多任务开发。这些线程、进程、任务的调度,有许…

RS232转Profinet网关怎么设置

大家好,今天我要给大家带来一个很有意思的案例分享。你们猜猜,这回我们要用远创智控的一款神奇的网关YC-RSPN-002做什么呢?没错,我们要把一台扫码枪设备通过这个RS232转PROFINET网关,接入到一台西门子S7-1200PLC的Prof…

在这个高度自动化的时代,为什么自动化测试取代不了手功测试?

在这个高度自动化的时代,为什么自动化测试取代不了手功测试?06:1101自动化测试和手工测试的概念 自动化测试和手工测试都是软件测试的两种基本方法。 自动化测试是基于脚本或工具自动执行测试用例的过程。测试人员可以使用自动化测试工具来编写测试脚本…

【美团面试】软件测试面试题

一、设计登录界面测试用例 功能测试(Function test) 0. 什么都不输入,点击提交按钮,看提示信息。(非空检查) 1.输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。(正常输入&#xff0…

C语言 替换gets函数

目录 替换gets函数gets()用处gets()的危险之处gets()的几种替代方法一、用%c循环输入直到遇到换行结束二、用getchar()循环输入直到遇到换行结束三、scanf的另一种用法四、c中的getline()方法五、解决方案使用fgets代替 替换gets函数 gets()用处 gets从标准输入设备读字符串函…

noSQL的小练习

目录 Redis: 1、 string类型数据的命令操作: 2、 list类型数据的命令操作: 3、 hash类型数据的命令操作: MongoDB: 1. 创建一个数据库 名字grade 2. 数据库中创建一个集合名字 class 3. 集合中插入若…

Redis分片集群有什么作用?怎样读取和存储信息

分片集群主要解决的是,海量数据存储的问题,集群中有多个master,每个master保存不同数据,并且还可以给每个master设置多个slave节点,就可以继续增大集群的高并发能力。同时每个master之间通过ping监测彼此健康状态&…

Selenium中如何抓取网络请求响应及WebSocket信息

目录 获取Chrome性能日志 获取请求及响应信息 我们在使用Selenium测试Web或Electronjs/Cef框架应用时,有时候操作一个元素需要判断是否发送了请求以及请求的参数是否正确 我们可以通过,开启Chrome的性能日志来然后配合driver.get_log("performan…

qgis添加地理地图书签,快速定位到想要的位置

我们打开qgis软件,一般这个功能区域默认在左侧的中间位置,如图: 如果没有的话,我们需要调出来,在软件上方的菜单栏的空白处,右键显示面板调试框,勾选空间书签管理器面板,即可&…

6.3.4 利用Wireshark进行协议分析(四)----ARP协议解析

6.3.4 利用Wireshark进行协议分析(四)----ARP协议解析 我们知道对于单跳网络内部的数据传输,使用的是网络接口层的技术,比如以太网技术,以太网将报文数据封装在数据帧中进行传送,帧头指明发送方网卡的地址…

初学者必看!PLC转型C#上位机编程学习路线和方法

一.通过线上学习C#,机器视觉,运动控制卡,工程案例,我迈向工控软件开发的转型之路 大家好,我是华山编程培训中心的学员——李工,今天分享下我是如何从电气工程师成功转型上位机开发的经历,希望我…

【10】STM32·HAL库开发-MAP文件解析 | STM32启动过程

目录 1,MAP文件浅析(了解)1.1MAP文件概念和作用1.2MAP文件组成1.3MAP文件实操 2.STM32启动过程(了解)2.1STM32启动模式(F1/F4/F7/H7)(也称自举模式)2.1.1STM32启动模式&a…