This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Serial Wire Debug AP access

Note: This was originally posted on 15th March 2011 at http://forums.arm.com

Please somebody help me with this issue.
I am trying to program the flash memory using Serial wire Debug in a  STM32L152 advanced ARM-based 32-bit MCU.
I will be almost done if this issue gets cleared. I am able to do read and write  accesses on each of the  DP registers if they actually allow to do so.And when I try to read one of the AP registers, it gives me  an 'OK' response.  But when I read the value, it gives all zeroes. After  that I tried to read the Read Buffer register. Still the same answer.  Also when I try to write one of the AP registers, it gives an 'OK'  response. Then I sent some 32 bits with a parity bit to be written. But  after that the 'STICKYERR' bit got set in the CTRL/STATUS register  with the data not being written I hope,which means some bus error has  occurred. What may be the problem? At least I should be able to do read  and write accesses in the CSW-AP register. Am I right? I thing I may not  be aware of some important issue. I would be very much grateful to you  if you could spend a little time in clarifying my doubt.

What is the importance of the Clock signal in AP access? Will it be a reason for the above issue?


Parents
  • Note: This was originally posted on 6th May 2011 at http://forums.arm.com

    Did you make sure to set the CSYSPWRUPREQ and CDBGPWRUPREQ bits in the DP first? I haven't checked the STM32L152 data sheet, but you need to make sure that the AP has a clock before performing an access, and I think that the DP will not even try the access if the power up bits are not set. It is correct that the first AP access is accepted with an OK, that indicates that the command was accepted, then the next access should return a FAULT to indicate that the command caused a problem.
Reply
  • Note: This was originally posted on 6th May 2011 at http://forums.arm.com

    Did you make sure to set the CSYSPWRUPREQ and CDBGPWRUPREQ bits in the DP first? I haven't checked the STM32L152 data sheet, but you need to make sure that the AP has a clock before performing an access, and I think that the DP will not even try the access if the power up bits are not set. It is correct that the first AP access is accepted with an OK, that indicates that the command was accepted, then the next access should return a FAULT to indicate that the command caused a problem.
Children