我的环境......
我有一个我想看的字节,看看哪些例程正在读取,哪些正在写,以及何时发生
我只能在
上设置断点有没有人知道我可以在任一访问中设置断点的方法?也就是说,我想看看写什么,读什么,按什么顺序,通过哪个指令,在哪个例程中。
我所拥有的只是PICkit 3和ICD-3。这是一个双处理器系统,两个芯片通过连接的一些线路(最终通过外设引脚选择)与各自的UART进行通信
我从未使用,触摸过,甚至没有看过真正的冰。那可以让我这样做吗?即任何总线存储器访问。
这就是MpLab让我现在用ICD-3做的事情
答案 0 :(得分:0)
您可以将变量包含在下面的函数中,放入新的.c文件中。在头文件上设置define。
它可能有点重,但有替换它可能会有所帮助。 FILE 和 LINE 是编译器标志,可以让您了解源代码中的哪个文件以及调用它的哪一行。 Nop();是因为中断很少发生在指令中。
在文件和行上添加一个监视,以查看它的调用位置。
#define setvar(x) zsetvar(x, __FILE__, __LINE__)
#define getvar() zgetvar( __FILE__, __LINE__)
byte my_var;
void zsetvar(byte val, volatile char * file, volatile char * line)
{
my_var = val;// set breakpoint
Nop();
}
byte zreadvar(volatile char * file, volatile char * line)
{
Nop(); //set breakpoint
Nop();
return my_var;
}