Arm Community
Site
Search
User
Site
Search
User
Support forums
Arm Development Studio forum
Serial Wire Debug AP access
Jump...
Cancel
Locked
Locked
Replies
4 replies
Subscribers
118 subscribers
Views
4468 views
Users
0 members are here
Options
Share
More actions
Cancel
Related
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
Yogatheesan Varatharajah
over 12 years ago
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
Yogatheesan Varatharajah
over 12 years ago
Note: This was originally posted on 18th March 2011 at
http://forums.arm.com
Hello! nobody there?
Okay! May be that question doesn't explain the problem understandably.
For example, the sequence was like this for the first case
Write AP SELECT register-(10001101,100,000011110000000000000000000000000)
Read IDR(AP) - 'OK' response,but no reading-(11111001,100,0000000000000000000000000000000000)
Read CTRL/STAT-(10110001,100,100000100000000000000000000000000)
(The last bits are parity bits in all cases)
And for the second case
Write AP SELECT Register-(10001101,100,000000000000000000000000000000000)
Write CSW(AP) -'OK' response-(11011101,100,1000101000000000000000000000000001)
Read CTRL/STAT -STKERR flag set-(10110001,100,100001100000000000000000000000000)
And I have driven the clock signal continuously without driving the clock low when accessing AP registers after writing the AP SELECT register.
Cancel
Vote up
0
Vote down
Cancel
Reply
Yogatheesan Varatharajah
over 12 years ago
Note: This was originally posted on 18th March 2011 at
http://forums.arm.com
Hello! nobody there?
Okay! May be that question doesn't explain the problem understandably.
For example, the sequence was like this for the first case
Write AP SELECT register-(10001101,100,000011110000000000000000000000000)
Read IDR(AP) - 'OK' response,but no reading-(11111001,100,0000000000000000000000000000000000)
Read CTRL/STAT-(10110001,100,100000100000000000000000000000000)
(The last bits are parity bits in all cases)
And for the second case
Write AP SELECT Register-(10001101,100,000000000000000000000000000000000)
Write CSW(AP) -'OK' response-(11011101,100,1000101000000000000000000000000001)
Read CTRL/STAT -STKERR flag set-(10110001,100,100001100000000000000000000000000)
And I have driven the clock signal continuously without driving the clock low when accessing AP registers after writing the AP SELECT register.
Cancel
Vote up
0
Vote down
Cancel
Children
No data