TIwilliam hill官网
直播中

范逊敏

7年用户 190经验值
私信 关注
[问答]

调试过程中几个问题 Control Module寄存器写操作的问题 u***_ctrl0,vtp_ctrl等

调试硬件:AM335x CCS 5.5.0 XDS100v2

 调试过程如下:
    1 AM335x复位,串口打印CCCCCC....
   2.在CCS里,点击debug.

3 然后程序暂停,串口没有打印消息。寄存器也无法读写。(下一步点击暂停) 

4.点击暂停。

5.点击暂停后,如图:

此时在debug状态,寄存器可以读写。
6 。如下图,此时可以对相关寄存器读写,比如Control Module里的u***_ctrl0 ,vtp_ctrl等写操作,并且相关标识位有变化,说明硬件有反应。

7。然后load program到AM335x。

8。 然后如下图,下载程序后,AM335x并没有立即运行程序,而是还处于debug状态,如果点connect才运行程序。

  此处还让它处于debug的状态,还是和之前一样,可以用cpu里的寄存器读操作。
9。当然,在下载程序后,工作模式就变成了用户模式。不过,只是程序还没有开始执行。
 

最后,问题就在这里了。
   此时,Control Module里的寄存器基本不能写,但还是可以读。而其它很多寄存器依然可以正常读写来调试现象,就是Contrl Module里,如u***_ctrl ,vtp_ctrl等很多寄存器都无法写了,就保持在之前修改的状态值。
  修改工作模式也没有效果,各种工作模式也试过了,还是不改写。那个CM_WKUP_CONTROL_CLKCTRL也是设置成使能状态。
 然后运行用户程序后,也还是不对这组寄存器进行写操作,还是可以读操作。
   希望可以帮忙解决下这下问题
 谢谢

回帖(1)

王玉宁

2018-5-15 04:03:11
你好!写control module 寄存器之前,需要先进入privileged mode 
"For writing to the control module registers, the Cortex A8 MPU will need to be in privileged mode of operation and writes will not work from user mode."
举报

更多回帖

发帖
×
20
完善资料,
赚取积分