Jtag - Thumb State


universal

Still Fresh
Joined
Jan 15, 2006
Messages
7
ok... my gp2x has been bricked for a few weeks and i've been doing everything i can to get it working again. i have a breakout board and i've been steadily narrowing down the problem. GP2XRecovery is useless to me. the problem is that my gp2x is booting in thumb state(i think). every jtag program tells me that my proc is in thumb state. whether or not the first boot instruction sets it to thumb state is still a mystery to me. if anyone knows of a jtag program (windows or linux) that'll let my send thumb commands as well as arm commands to the proc that would be a major help to me. i've already tried jtagomat, jtager, ocd, and of course GP2XRecovery. i've been trying use a few other programs too, but they're turning out to be useless. i've been halting the processor and trying to change the value of the cpsr but none of the programs well let me because my procs in thumb stage and they don't you manipulate the proc in thumb state (how annoying). if anyone knows of some good jtag docs that'll help me write a simple prog that'll let you manipulate registers in both thumb and arm state i wouldn't mind creating something to help other people who brick their gp2xs as bad as mine. I'm hoping my gp2x isn't bricked perminently.
 
I recommend OpenOCD, it's a great JTAG tool and debugger front-end. You can send it commands through gdb's "monitor" command, or telnet into it directly if you just want to do some commands without debugging anything.

It certainly allows you change memory and registers, and it allows you to change the mode between ARM and Thumb.

It does take a bit of configuring. If you're interested, let us know what OS you're running on your PC, and what JTAG hardware you've got, and we'll work through it.
 
Halting the CPU while it's in THUMB mode should not be a problem,
the JTAG software should immediately switch it back to ARM mode during
the debug session and switch back when done.


Unfortunately it's not a completely trivial matter to control an ARM core
through JTAG, but the ARM920t Users Manual (downloadable from ARM.com) has some
good information about how to operate the TAP controller and the EmbeddedICE.

But, i still think OpenOCD should be able to do the job for you, or have a look
at H-JTAG(Windows only iirc).

If that fails, i have some homebrew JTAG software that could be of help perhaps,
however it's Linux only.
 
I have a dual boot windows/linux setup. i'm gonna give this openocd a try. i'm still new to jtag but i do have a navy degree in advenced electronics (which doesn't really seem to be helping much). as for hardware, i'm using the breakout board. i have my gp2x plugged into ac, and i wired a radio shack battery pack together that i plug into my breakout board and i use rechargables to power my bob. My parallel port supports: Normal, bidirectional, ecp, epp modes. I'm downloading open ocd and I'll try to get it configured and let you guys know. hopefully i can get my gp2x up and running again so i can start coding again. If not i'll just have to use my income tax to buy me a few. Thanx for the help guys.
 
Back
Top