【ARM Coresight 系列文章 10.3 - ARM Coresight STM 寄存器介绍 及STM DMA 传输介绍】

news2024/10/9 7:53:44

文章目录

    • STM Register summary
      • STM DMA 相关的寄存器
      • DMA Transfer
        • Burst request
        • Single and burst request

STM Register summary

STM 的寄存器主要可以分为以下几类:

  • STM DMA 相关的;
  • STM HW Trigger 相关的;
  • 系统控制及状态寄存器;
  • 只读寄存器。

STM DMA 相关的寄存器

在这里插入图片描述
STM 处理数据的方式有两种:

  • 使用 CPU 往对应的 channels(stimulus port) 中写数据;
  • 使用 DMA 向 对应的channels(stimulus port) 中搬运数据。

其中 STM 对DMA的使用方式又可以分为两种:

  • 调用软件 DMA Driver 的接口,STM destination address 直接填写 STM Stimulus port的地址;
  • 在 DMA 中配置好 STM destination address 地址和source address 之后,通过配置 STM DMA相关的寄存器来将memory中的数据搬运到STM 的 stimulus port中。

STMDMASTARTR: 发起DMA 传输;
STMDMASTOPR:结束DMA传输;
STMDMACTLR:控制DMA发起请求的水位寄存器;

在这里插入图片描述

图 1-1 STM 功能框图

在这里插入图片描述

图 1-2 Request and acknowledge buses on the peripheral request interface

  • dr: 外设 request bus.
  • da: DMAC acknowledge bus

外设 STM 可以通过 drtype[1:0] 对 DMAC 发起两种请求和一种响应:

  • 发起一次 single transfer 请求,drtype[1:0]=0b00
  • 发起一次 burst transfer 请求;drtype[1:0]=0b01
  • 响应一次 flush 请求。

外设 STM 通过使用 drlast 信号告诉 DMAC 哪次是最后一次 transfer request在当前的 series 中,drlast 可以和 drtype[1:0] 同时传输。

DMAC 可以使用 datype[1:0] 做两种响应和一种请求:

  • 当DMAC 完成一次 single transfer时,datype[1:0]=1
  • 当 DMAC 完成一次 burst transfer时,datype[1:0]=1
  • DMAC 发起一次flush request。

DMA Transfer

Burst request

在这里插入图片描述

图 1-3 Burst request signaling

  • T1 The DMAC detects a request for a burst transfer.
  • T3 - T6 The DMAC performs a burst transfer.
  • T7 The DMAC sets davalid HIGH and sets datype[1:0] to indicate that the burst
    transfer is complete.

当配置STM 寄存器 STMDMASTART.START bit 为 1 的时候, STM 就会将 其 DMA peripheral request interface 中连接到 DMAC 中的 drtype[1:0] 两信号设置为 0b01, 这样DMAC 就会检测到外设 STM 发起了一次 burst transfer 请求。

当DMAC 完成了外设 STM 发起的一次 burst transfer时就会将DATYPE[1:0]两个信号设置为 0b01 来告知 STM 发起的一次 burst transfer 传输已经完成。

STM 不仅可以通过 DMA peripheral request interface 触发 DMAC 从 Memory 中向 STM中搬运数据,可以触发Memory 向 memory中的数据搬运

Single and burst request

TODO

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

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

相关文章

CSS布局定位+装饰

一、定位 1.1 网页常见布局方式 1. 标准流 1. 块级元素独占一行 → 垂直布局 2. 行内元素/行内块元素一行显示多个 → 水平布局 2. 浮动 1. 可以让原本垂直布局的 块级元素变成水平布局 3. 定位 1. 可以让元素自由的摆放在网页的任意位置 2. 一般用于 盒子之间的层叠情…

Java的运行时数据区域

Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有些区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。 根据《Jav…

OpenAI宣布安卓版ChatGPT正式上线;一站式 LLM底层技术原理入门指南

🦉 AI新闻 🚀 OpenAI宣布安卓版ChatGPT正式上线 摘要:OpenAI今日宣布,安卓版ChatGPT已正式上线,目前美国、印度、孟加拉国和巴西四国的安卓用户已可在谷歌Play商店下载,并计划在下周拓展到更多地区。Chat…

VMware Network Adapter VMnet1和VMnet8 未识别的网络问题

在安装虚拟机的时候使用的网络类型未NAT模式,但是却无法和外部网络ping通,并且使用Xshell进行连接反应也非常慢;于是在我查询半天问题之后,这个问题得到了解决,具体如下: 在使用NAT网络模式的时候需要进行…

【portswigger】第二专题-XSS(二)

portswigger 靶场(第二章节)XSS 视频同步更新至bilibili bibi地址欢迎关注微信公众号:微光安全团队 这是官方备忘录: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet总体目录 我这里简单总结一下每个…

nodejs+vue+elementui高校科研队伍管理系统_2byeq

系统阐述的是使用科研管理系统,对于nodejs、B/S结构、MySql进行了较为深入的学习与应用。主要针对系统的设计,描述,实现和分析与测试方面来表明开发的过程。开发中使用了vue框架和MySql数据库技术搭建系统的整体架构。利用这些技术结合实际需…

【Haclon】Liunx每个月过期了怎么使用

Liunx每个月过期怎么使用 1.去gitHub进行下载2. 下载最新的Halcon_licenses3.进行替换 1.去gitHub进行下载 https://github.com/lovelyyoshino/Halcon_licenses 2. 下载最新的Halcon_licenses sudo vim ~/.bashrc找到/opt/halcon 3.进行替换 /opt/halcon/license 将这个目…

百万数据分页查询优化方案

分页问题 分页列表查询是项目中的热点需求,这种需求的特点是:字段多、数据量大、访问频繁、使用率高的特点,这个功能是给用户最直观的展示系统的信息,针对于多、大、频、热这几个特点,会引申出一个问题:列…

swmm模型城市内涝一维二维耦合;海绵城市+SWMM完整版教程

随着计算机的广泛应用和各类模型软件的发展,将排水系统模型作为城市洪灾评价与防治的技术手段已经成为防洪防灾的重要技术途径。本次将聚焦于综合利用GIS及CAD等工具高效地进行大规模城市排水系统水力模型的建立,利用SWMM实现排水系统水力模拟。讲解SWMM…

el-table 表格头部合并

<el-table v-loading"listLoading" :key"tableKey" :data"list" stripe border fit highlight-current-rowstyle"width: 100%;" size"mini"><el-table-column label"第一行" align"center">…

Windows 安装 Redis5

Windows 安装 Redis5 安装包 Redis for Windows 5.0.14.1 https://github.com/tporadowski/redis/releases/tag/v5.0.14.1 安装教程 选择安装路径&#xff0c;并勾选下方&#xff0c;将 Redis 添加到系统环境变量 这个是 Redis 默认的端口号&#xff0c;无特殊需求不用改 设置…

ES6 模块编程(新思路方便复习笔记)

文章目录 ES6 模块编程(新思路方便复习笔记)介绍需求说明思路分析/图解代码实现创建common.js创建use_common.js 其它导出形式--直接导出创建common2.js创建use_common2.js 其它导出形式--默认导出创建common3.js创建use_common3.js--导入默认导出模块/数据注意事项和使用细节导…

毓恬冠佳冲刺上市:打破汽车天窗外商垄断,长安汽车为其主要客户

撰稿|行星 来源|贝多财经 7月23日&#xff0c;上海毓恬冠佳科技股份有限公司&#xff08;以下简称“毓恬冠佳”&#xff09;在深圳证券交易所的审核状态变更为“已问询”。据贝多财经了解&#xff0c;毓恬冠佳于2023年6月27日递交招股书&#xff0c;准备在创业板上市。 本次冲…

十一、数据结构——树(Tree)的基本概念

数据结构之树(Tree) 目录 树的基本概念树的分类树的基本操作树的应用结语 树的基本概念 树是一种重要的数据结构&#xff0c;它在计算机科学中被广泛应用。树的特点是以分层的方式存储数据&#xff0c;具有层次结构&#xff0c;类似于现实生活中的树状结构。在树中&#xff…

环境变量初始化与对应文件的生效顺序

正常登陆情况下&#xff08;不是系统启动过程而是输入用户名和密码登录时&#xff0c;或者注销用户重新登录&#xff09;&#xff0c;环境变量配置文件的调用过程&#xff1a; // 正常登陆时环境变量配置文件的调用过程 /etc/profile|--/etc/profile.d/*|--/etc/profile.d/lan…

设计模式---综合应用-自定义Spring框架-自定义Spring IOC-定义解析器、IOC容器相关类

3 定义解析器相关类 3.1 BeanDefinitionReader接口 BeanDefinitionReader是用来解析配置文件并在注册表中注册bean的信息。定义了两个规范&#xff1a; 获取注册表的功能&#xff0c;让外界可以通过该对象获取注册表对象。 加载配置文件&#xff0c;并注册bean数据。 /*** …

提示工程101|与 AI 交谈的技巧和艺术

随着 ChatGPT 的问世&#xff0c;人工智能&#xff08;AI&#xff09;新时代也正式开启。ChatGPT 是一种语言模型。它与用户进行对话交互&#xff0c;以便用户输入问题或提示&#xff0c;模型响应&#xff0c;然后对话可以继续来回进行&#xff0c;类似于在消息传递应用程序上向…

docker容器日志大小限制

docker的日志随着时间推移越来越大&#xff0c;我们可以做出一些限制。 docker的日志驱动设置有两种方式&#xff0c;一种是全局配置&#xff0c;一种是特定容器的限制。 这里我选择特定容器限制更加的符合生产环境。全局配置下&#xff0c;需要重启docker。 参考官方文档&am…

在Chrome(谷歌浏览器)中安装Vue.js devtools开发者工具及解决Vue.js not detected报错

文章目录 一、Vue.js devtools开发者工具安装1.打开谷歌浏览器——点击扩展程序——选择管理扩展程序2.先下载添加一个谷歌助手到扩展程序中&#xff08;根据提示进行永久激活&#xff09;3.点击谷歌浏览器的应用商店4.输入Vue.js devtools——搜索——选择下载 二、解决Vue.js…

10.python设计模式【代理模式】

内容&#xff1a;为其他对象提供一种代理一控制对这个对象的访问 应用场景&#xff1a; 远程代理&#xff1a; 为远程的对象提供代理虚代理&#xff1a;根据需要创建很大的对象保护代理&#xff1a;控制对原始对象的访问&#xff0c;用于对象有不同访问权限时 UML图 举个例…