Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[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.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top