使用 OVPSim 我希望能看到(模拟的)MSR 寄存器的内容,例如
register int x asm("r19");
asm("mfs r19, msr");
printf("R19 contains %i\n", x);
这给出了错误:
Compiling application.c
/tmp/ccbSgUEu.s: Assembler messages:
/tmp/ccbSgUEu.s:59: Error: register expected, but saw 'msr'
/tmp/ccbSgUEu.s:59: Fatal error: invalid value for special purpose register
make: *** [application.o] Error 1
使用此代码时:
register int x asm("r19");
asm("mfs r19, 1 ");
printf("R19 contains %i\n", x);
给我:
/tmp/ccWZKjxi.s: Assembler messages:
/tmp/ccWZKjxi.s:59: Error: register expected, but saw '1'
/tmp/ccWZKjxi.s:59: Fatal error: invalid value for special purpose register
make: *** [application.o] Error 1
以及 Xilinx 文档(阅读 PC)中实际给出的示例:
mfs r2 0
也失败了-那么正确的方法是什么?
注意:我正在使用 CROSS 工具,例如 make -C HelloWorld/CROSS=MICROBLAZE