STM(System Trace macrocell)

STM是coresight system中的一个trace source,可以提供high-bandwidth的trace data。

STM优于Instrumentation Trace Macrocell(ITM):

1)       dedicated AXI slave for receiving instrumentation----software writes to its stimulus ports;

2)       multiple processor can share and directly access the STM without being aware of each other;

通过分配不同的pages在STM stimulus space中。

3)       optionally stall the axi when its fifo becomes full;

4)       Timestamping can be requested for each write independently;

5)       Timestamps are automatically correlated with other timestamping trace sources in coresight system;

6)       Provides a hardware event interface, STM traces when rising edges occur on signals;

STM模块的集成:

STM的AXI slave连接到system interconnect来关注到所有的system master,如processors和DMA controller;

STM的debug APB连接到off-chip或on-chip的debug agent(DAP);

STM的trace stream通过ATB bus输出到ETB或TPIU或pad;

STM trace到的data会按MIPI System Trace Protocol(STPv2)进行package

STM内部的block diagram:

STM内的interface:

1)       AXI slave,连接STM到system bus;

2)       Hardware event observation interface,共32个signals连接到system various signals(Interrupt lines,DMA request lines,CTI trigger outputs);

3)       DMA peripheral request interface,连接到一个DMA Controller;

4)       Debug APB slave interface;

5)       ATB master interface;

6)       Timestamp port interfa

7)       Cross-trigger interface,连接到coresight system CTI接口,indicate trigger events;

在Real_time trace中,source会比较多,包括trace components monitoring processor instruction and data flow,

instrumentation in the software running on a processor,trace components monitoring activities outside the processor。

STPv2定义了所有的message types和message sequences。

ce;

STM的更多相关文章

  1. LDM和STM指令

    LDM批量加载/STM批量存储指令可以实现一组寄存器和一块连续的内存单元之间传输数据. 允许一条指令传送16个寄存器的任意子集和所有寄存器,指令格式如下: LDM{cond}  mode  Rn{!} ...

  2. arm汇编:ldr,str,ldm,stm,伪指令ldr

    ldr,str,ldm,stm的命名规律: 这几个指令命名看起来不易记住,现在找找规律. 指令 样本 效果 归纳名称解释 ldr Rd,addressing ldr r1,[r0] addressin ...

  3. stm.go

    package) ].ModRevision } func,, ,, ].ModRevision ].Value) }

  4. LDM与STM指令详解

    title: LDM与STM指令详解 date: 2019/2/26 17:58:00 toc: true --- LDM与STM指令详解 指令形式如下,这里的存储方向是针对寄存器的 Load Mul ...

  5. STM新建项目

    STM新建项目,为以后开发提供更好的平台,项目代码分级分类管理,便于查看. 1.新建一个文件夹,在里面分别新建固件库.内核.用户文件夹. 在网上下载STM32F10x_StdPeriph_Lib_V3 ...

  6. 汇编指令:ldr和str,ldm和stm的区别

    (1)LDR:L表示LOAD,LOAD的含义应该理解为:Load from memory into register.下面这条语句就说明的很清楚: LDR   R1,     [R2] R1<— ...

  7. STM FLASH在线编程 升级

    注意字节到 stm flash 顺序是反的 例如 12 34 56 78 世纪写入内存 应该是 78 56 34 12

  8. ARM LDR/STR, LDM/STM 指令

    这里比较下容易混淆的四条指令,已经在这4条指令的混淆上花费了很多精力,现在做个小结,LDR,STR,LDM,STM这四条指令, 关于LDM和STM的说明,见另外一个说明文件,说明了这两个文件用于栈操作 ...

  9. STM 软件事务内存——本质是为提高并发,通过事务来管理内存的读写访问以避免锁的使用

    对Java程序员来说,我们对面向对象的编程(OOP)自然都是烂熟于胸的,但语言也极大地影响了我们构建面向对象应用程序的方式.(现在的OOP已经和Alan Kay当初创造这个词时候的初衷大不相同了,他的 ...

随机推荐

  1. C/C++ 判断主机字节存储序列

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA0oAAADFCAIAAADltpUqAAAgAElEQVR4nOyd65XyvA6FqYASKIEWqI

  2. 用angularJS实现Bootstrap的“手风琴”

    主页面代码(发现Bootstrap官网上手风琴的实例样式有问题,在这里依然使用3.0.~版本) <!DOCTYPE html> <html ng-app="ct" ...

  3. (letcode)String to Integer (atoi)

    Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...

  4. MySQL一些常用的时间函数

    https://my.oschina.net/sallency/blog/470370

  5. TortoiseGit使用与操作

    使用 Git命令有时候确实不怎么方便,特别是每次都要输入密码,如果配置 SSH 的方式,又实在是很麻烦.(当然,必须使用 Windows 神器才有方便友好的客户端图形界面啦!!!) 1.克隆项目 打开 ...

  6. LintCode Kth Largest Element

    原题链接在这里:http://www.lintcode.com/en/problem/kth-largest-element/# 在LeetCode上也有一道,采用了标准的quickSelect 方法 ...

  7. typedef 和 const

    1. typedef 允许你为各种数据类型定义新名字 #include <stdio.h>typedef char *ptr_to_char; //这让我看起来,好奇怪,不好读void m ...

  8. Linux 技巧:让进程在后台可靠运行的几种方法

    我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络断开 ...

  9. android PopupWindow实现从底部弹出或滑出选择菜单或窗口

    本实例弹出窗口主要是继承PopupWindow类来实现的弹出窗体,布局可以根据自己定义设计.弹出效果主要使用了translate和alpha样式实现,具体实习如下: 第一步:设计弹出窗口xml: &l ...

  10. system执行shell命令

    system - execute a shell command #include <stdlib.h> int system (const char *command); 描述 syst ...