MicroBlaze  – 如何读取MicroBlaze Core中的寄存器?-Altera-Intel社区-FPGA CPLD-ChipDebug

MicroBlaze – 如何读取MicroBlaze Core中的寄存器?

问题描述

如何读取MicroBlaze Core中的寄存器?

解决/修复方法

MSR寄存器示例

1.要读取MSR,请使用MFS(从特殊位置移动)汇编指令。在C代码中插入汇编指令,如下所示:

int k;

asm(“mfs%0,rmsr”:“= d”(k));

上述指令将MSR的内容传送到“k”变量。或者,如果您知道要将MSR读入哪个寄存器,则可以直接指定它。

2.将内容移动到变量时,您应该知道编译器可能会移动指令,因为它不依赖于任何输入。为避免这种情况,您可能希望在ASM指令中提供依赖关系,如下所示:

int k;

a = b * c;

asm(“mfs%0,rmsr”:“= d”(k):“d”(a));

请登录后发表评论

    没有回复内容