请问为什么DSP2808在JTAG调试中寄存器没有按照我设定的值变化,比如说执行了语句SysCtrlRegs.LOSPCP.all = 0x003;之后,但是从ccs中读出的寄存器值还是LOSPCP=0x002,也就是说寄存器值没有改变,请问这是什么原因?
Forrest:
改值之前是否有先EALLOW;
请问为什么DSP2808在JTAG调试中寄存器没有按照我设定的值变化,比如说执行了语句SysCtrlRegs.LOSPCP.all = 0x003;之后,但是从ccs中读出的寄存器值还是LOSPCP=0x002,也就是说寄存器值没有改变,请问这是什么原因?
lili liao:
回复 Forrest:
并不是所有的寄存器都要EALLOW吧?
请问为什么DSP2808在JTAG调试中寄存器没有按照我设定的值变化,比如说执行了语句SysCtrlRegs.LOSPCP.all = 0x003;之后,但是从ccs中读出的寄存器值还是LOSPCP=0x002,也就是说寄存器值没有改变,请问这是什么原因?
10#:
回复 lili liao:
楼上,你说得对,并不是所有的寄存器都有EALLOW保护,不过你提到的LOSPCP寄存器倒确实是被EALLOW保护的,见下图注解1。
不过你的问题不在于EALLOW,同见下图LSPCLK位定义部分,该位是可读可写,但读取时都返回0x010也即你看到的002,所以不用担心,只要你确实按照正确的方法写入了,就是成功的,但你读不出来。
请问为什么DSP2808在JTAG调试中寄存器没有按照我设定的值变化,比如说执行了语句SysCtrlRegs.LOSPCP.all = 0x003;之后,但是从ccs中读出的寄存器值还是LOSPCP=0x002,也就是说寄存器值没有改变,请问这是什么原因?
bob iuuiy:
回复 10#:
下面写的是n-value after reset; 是复位以后的值吧,难道每次读取都是复位吗?