Keil 中如何追踪运行位置轨迹追踪小车

哈工大的操作系统实验三今年咾师要求制作PPT,于是良心制作详细记录了系统调用的相关操作及实验结论,希望对有心人有用大家共同进步

}

MIPS中没有程序计数器PC的话如何跟踪程序运行到哪用什么代替?据说是由编译器自行约定,使用某一通用寄存器保存PCuboot中使用$24寄存器(t8)来保存PC。但基于此我还有两个疑问:

1、如果没有约定俗成的PC那么是否会造成其值受到其他因素影响,造成其被意外改变

2、假若t8寄存器设定为PC的话,如果在汇编级上编程咜会自动递增或者跳转吗?

一般情况不需要知道pc在什么地方需要知道的大概有:

1 中断/异常返回的时候,这时候返回的pc地址保存在CP0 EPC寄存器Φ可以通过eret进行返回。

2.函数调用返回的情况调用函数的时候,使用jump and link指令调用pc的地址会保存在RA寄存器中GPR31中,返回的时候用 jr $31,就可以返回到caller函数中

3. Debug模式,也就是JTAG工具工作的模式这时候,pc会保存在CP0 DEPC中硬件debugger可以通过这个知道pc的确切值,并通过deret返回

}

我要回帖

更多关于 位置轨迹追踪小车 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信