I've an ICnova / Grasshopper board that I'd like to get supported 
via OpenOCD. As I'm willing to contribute this back, I'm using 
OpenOCD from subversion, currently 1370.



My JTAG device is an Olimex USB-JTAG-TINY. I've started with a 
bogus "target/avr32ap7000.cfg" file which basically contains 
this:

set  _CHIPNAME avr32ap7000
set  _ENDIAN little
set _CPUTAPID 0x21e8203f
set _TARGETNAME [format "%s.cpu" $_CHIPNAME]
jtag_khz 20   # until I know how fast I can get I'll stay slow
reset_config trst_only
jtag newtap $_CHIPNAME cpu \
   -irlen 4 \
   -ircapture 0x1 \
   -irmask 0xf \
   -expected-id $_CPUTAPID
target create $_TARGETNAME arm7tdmi \
   -endian $_ENDIAN \
   -chain-position $_TARGETNAME

With that, I'm currently getting this output:

Info : JTAG tap: avr32ap7000.cpu tap/device found: 0x21e8203f 
(Manufacturer: 0x01f, Part: 0x1e82, Version: 0x2)
Info : JTAG Tap/device matched
Warn : Unexpected idcode after end of chain! 384 0x8000007f
Warn : Unexpected idcode after end of chain! 416 0x000000ff
Warn : Unexpected idcode after end of chain! 448 0x000000ff
Warn : Unexpected idcode after end of chain! 480 0x000000ff
Warn : Unexpected idcode after end of chain! 512 0x000000ff
Warn : Unexpected idcode after end of chain! 544 0x000000ff
Warn : Unexpected idcode after end of chain! 576 0x000000ff
Warn : Unexpected idcode after end of chain! 608 0x000000ff
Error: Could not validate end of JTAG scan chain, IR mismatch, 
scan returned 0x21. pos=4 expected 0x3 got 2


So, the IDCODE itself is correct, it matches the AVR32 AP7000 pdf 
manual.

Still I have some questions:

1. is there any documentation where I can determine the correct 
   parameters for "jtag newtap", e.g. where to find info about
   irlen, ircapture ...   or does the correct result of the
   IDCODE let me assume that this is all right?

2. In the mailing list archive there was one mention of the
   "Unexpected idcode after end of chain", where it was
   related to speed. I don't think that this applies to my
   case, as it will get emitted even with "jtag_khz 1".

3. Certainly my chip is not an "arm7tdmi", as I specified
   in the "target create" command. It's an avr32 chip with
   "On-Chip Debug access in compliance with IEEE-ISTO 5001-2003
   (Nexus 2.0)". So I'll need to create something in
   src/target/*.{h,c} to support that. What file there could
   I take as a template?
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to