Rocket - debug - TLDebugModuleInner - ABSTRACTCS
https://mp.weixin.qq.com/s/dF_0sE5ZakyY569wlppVHA
简单介绍TLDebugModuleInner中ABSTRACTCS寄存器的实现。
1. ABSTRACTCSReset
寄存器复位时使用的值:
其定义如下:
其中,datacount和progbufsize的值从配置中获取。
2. ABSTRACTCSReg
带结构的寄存器:
3. 写
1) ABSTRACTCSWrDataVal
ABSTRACTCSWrDataVal是一个不带结构的32位值:
用于接收写寄存器时传入的数据:
2) ABSTRACTCSWrData
ABSTRACTCSWrData是把写入的32位值解析之后的带结构的变量:
3) ABSTRACTCSWrEnMaybe
ABSTRACTCSWrEnMaybe是一个标志位:
用于指示是否正在写入寄存器:
4) ABSTRACTCSWrEnLegal
ABSTRACTCSWrEnLegal是一个标志位:
用于表明ABSTRACTCSWrEnMaybe中的Maybe是否合法。
5) ABSTRACTCSWrEn
ABSTRACTCSWrEn标志着是否正在合法写入:
4. 读
1) ABSTRACTCSRdData
ABSTRACTCSRdData是读取寄存器时使用的数据源:
其值又来自于ABSTRACTCSReg:
2) ABSTRACTCSRdEn
用于标志是否正在读取寄存器:
其值在写入时为真:
5. cmderr
1) 设置
根据errorBusy等的值,决定abstractcs.cmderr的值:
2) 清除
写1清零:把写入值中的cmderr取反再与原值相与,即可清除写1的位,保留写0的位:
6. busy
busy位标志着是否有抽象命令正在执行,从abstractCommandBusy中取值:
而abstractCommandBusy的值则根据状态机确定。
Rocket - debug - TLDebugModuleInner - ABSTRACTCS的更多相关文章
- Rocket - debug - TLDebugModuleInner - Hart Bus Access
https://mp.weixin.qq.com/s/deNMEyJ1idJDVoZwwo0A1A 简单介绍TLDebugModuleInner中核心总线访问(Hart Bus Access). 参考 ...
- Rocket - debug - TLDebugModuleInner - DMI Register Control and Status
https://mp.weixin.qq.com/s/tI41wu0xaIQ5PRq6F82tNw 简单介绍TLDebugModuleInner中生成DMI控制和状态寄存器使用到的状态. 1. abs ...
- Rocket - debug - TLDebugModuleInner
https://mp.weixin.qq.com/s/jkiHceU0HaJbHGvHiU-QOA 简单介绍TLDebugModuleInner的实现. 1. 引入全局配置 1) cfg 引入Debu ...
- Rocket - debug - TLDebugModuleInner - Abstract Command State Machine
https://mp.weixin.qq.com/s/RcXI8uEHvZHGCvX3DoVR4Q 简单介绍TLDebugModuleInner中处理抽象命令时的状态机. 1. CtrlState 定 ...
- Rocket - debug - TLDebugModuleInner - Drive Custom Access
https://mp.weixin.qq.com/s/1bIqzDYXM36MIfSsjvvYIw 简单介绍TLDebugModuleInner中的针对Custom的访问. 1. customNode ...
- Rocket - debug - TLDebugModuleInner - ROM Generation
https://mp.weixin.qq.com/s/j_CgHU4PnY82NMwJzOqHYg 简单介绍Variable ROM Generation. 1. jalAbstract jalAbs ...
- Rocket - debug - TLDebugModuleInner - Program Buffer Access
https://mp.weixin.qq.com/s/EJVqw7JPjjaib68tENl5AQ 简单介绍TLDebugModuleInner中的Program Buffer Access. 1. ...
- Rocket - debug - TLDebugModuleInner - Program Buffer
https://mp.weixin.qq.com/s/kjhJJ3moRQzxHt6pJOXEgg 简单介绍TLDebugModuleInner中Program Buffer寄存器的实现. 1. pr ...
- Rocket - debug - TLDebugModuleInner - Abstract Data
https://mp.weixin.qq.com/s/DOLkEi-_qQt6lWOhJ2hxVQ 简单介绍TLDebugModuleInner中抽象数据寄存器的实现. 1. abstractData ...
随机推荐
- 抓住CoAP协议的“心”
摘要 The Constrained Application Protocol(CoAP)是一种专用的Web传输协议,用于受约束的节点和受约束的(例如,低功率,有损)网络. 节点通常具有带少量ROM和 ...
- springboot配置静态资源访问路径
其实在springboot中静态资源的映射文件是在resources目录下的static文件夹,springboot推荐我们将静态资源放在static文件夹下,因为默认配置就是classpath:/s ...
- java并发之线程安全问题
并发(concurrency)一个并不陌生的词,简单来说,就是cpu在同一时刻执行多个任务. 而Java并发则由多线程实现的. 在jvm的世界里,线程就像不相干的平行空间,串行在虚拟机中.(当然这是比 ...
- vue-双向响应数据底层原理分析
总所周知,vue的一个大特色就是实现了双向数据响应,数据改变,视图中引用该数据的部分也会自动更新 一.双向数据绑定基本思路 “数据改变,视图中引用该数据的部分也会自动更新“,从这句话,我们可以分析出以 ...
- spring data jpa 多对多 ManyToMany
环境搭建 源码地址:gitee:https://gitee.com/ytfs-dtx/JPA 导入依赖 <properties> <spring.version>5.2.5.R ...
- fakebook
0x01 查看robots.txt 发现user.php.bak文件 得到源码 <?php class UserInfo { public $name = ""; publi ...
- 【数论基础】素数判定和Miller Rabin算法
判断正整数p是否是素数 方法一 朴素的判定
- 【Leetcode】164. Maximum Gap 【基数排序】
Given an unsorted array, find the maximum difference between the successive elements in its sorted f ...
- react-debug
最近练习react的时候遇到一些问题: 在redux模式下,同一个api依据参数获取不同data的时候,返回的data相同 原因:多次调用该接口时,action的type相同,导致对应于该接口的每个r ...
- scrapy中间件之下载中间件使用(网易新闻爬取)
scrapy项目中的middlewarse.py中间件 爬虫中间件:目前先不介绍 下载中间件(需要在settings.py中开启) (1)请求处理函数:process_request(self, re ...