Continue to Site

[Help] ARM7TDMI JTAG debug

Status
Not open for further replies.

twentyone

Newbie level 6
Newbie level 6
Joined
Jun 7, 2004
Messages
12
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
139
arm7tdmi jtag

Hi all

I am developing a free JTAG agent for ARM7TDMI. It is almost finish. So far, everything works well.

During the development, I encounter a strange problem. When ARM7TDMI is halted and enters DEBUG state, one of the basic operations is to change the value of a register (for example R0). This can be achieved by inserting ARM instruction LDR R0, [R0] into scan chain 1. I found that every time I need to write twice. The first time clear the target register (for example R0) with 0x00000000 . The second time write the new value into the target register. Then the write operation can succeed. If I omit the first clear step, the write operation seems can't succeed. If the new value is 0x12345678, the read out is 0x34567812 or something like that. If I clear the target register before writing the new value, the write operation succeeds everytime.

I don't understand why two write operations are needed?
Is this a bug of ARM7TDMI?
Has anyone ever encountered such situation?

: (
 

Thx for your information.

Currently, I am using willger.
When I release the debug agent, I will make it support different jtag interface.

Added after 8 minutes:

Hi Dainis

THank you again. I found the documents you suggested are really useful to me.

: )
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top