- 论坛徽章:
- 0
|
本帖最后由 LYZC11 于 2013-01-22 14:02 编辑
想通过一个MCU对另一块目标芯片通过SWD接口进行代码下载,目前遇到一点问题
现在已经可以通过DPACC读取目标芯片中的IDCODE寄存器,读取值也正确,这样应该表示时序是没有问题的。
但此时,想访问APACC中的CSW,TAR,DRW和IDR寄存器,却遇到读取这些寄存器时,返回ACK正确(100),但读到的
值都是0,检测DPACC中CTRL/STAT状态寄存器发现当一访问APACC中的寄存器时,CTRL/STAT中的STICKYEER
标志就被置1了,表示有问题,但为什么会这样呢?
麻烦有这方面经验的兄弟帮忙回答一下吧!
我访问IDR顺序是这样的,但读不到值,不知道哪里出问题了????????????????
1:通过DPACC先读取IDCODE(可以读到正确的IDCODE)
2:通过DPACC设置SELECT寄存器,通过这个寄存器选中之后要访问APACC中的BANK号
3:再通过APACC读取IDR寄存器(此时返回的32位值都为0,理论上是不可能为0的)
4:此时再通过DPACC读取CTRL/STAT状态寄存器,发现STICKYERR标志被置1了,不知道为什么当读取IDR后此位就被置1,
|
|