Rocket - debug - TLDebugModuleInner - COMMAND
https://mp.weixin.qq.com/s/Lz_D43YdhbRhiGiyoCBxDg
简单介绍TLDebugModuleInner中COMMAND寄存器的实现。
1. COMMANDReset
寄存器复位时使用的值:
当dmactive为假时,存入寄存器中:
2. COMMANDReg
带结构的寄存器:
3. 写
不带结构的32位写入值:
转换为带结构的写入值:
寄存器写入逻辑:
其中:COMMANDWrEnMaybe标志是否正在写入。
COMMANDWrEnLegal标志写入的数据是否合法:
COMMANDWrEn标志是否正在写入合法数据:
当存在合法写入时,把写入值存入寄存器中:
4. 读
COMMANDRdData是读取寄存器时使用的数据源:
COMMANDRdEn标志着是否正在读取寄存器:
寄存器读取逻辑:
5. 附录
略