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