zoukankan      html  css  js  c++  java
  • Rocket

    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的值则根据状态机确定。

     

  • 相关阅读:
    Python中的分支条件结构
    Python中常用的数据类型转换
    Python中的运算符
    Python中的输入和输出
    信息收集之zoomeye
    信息收集之censys
    linux权限管理
    linux软件安装管理
    Linux网络管理
    磁盘管理与用户管理
  • 原文地址:https://www.cnblogs.com/wjcdx/p/12492749.html
Copyright © 2011-2022 走看看