Hello,
i try to connect the j100i with the latest openocd (git) but there is always something wrong with the embedded ice module. My configuration script is based on openocd_calypso.cfg and the calypso_magic.svf. The main difference i can see is the idcode and the irlen. My changes in the script looks like this:
set _CPUTAPID 0xf9001807
jtag newtap $_CHIPNAME dsp -expected-id 0x00000000 -irlen 5 jtag newtap $_CHIPNAME arm -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
This changes are based on some appended svf scripts that simple scan the jtag chain to get more informations. The jtag_idcodes.svf returns the shifted idcodes like this:
SDR 32 TDI(ffffffff); length = 32 TDI = 0xFFFFFFFF TDO read = 0xF200300E SDR 32 TDI(ffffffff); length = 32 TDI = 0xFFFFFFFF TDO read = 0xFFFFFFFF
The jtag_devices.svf told me the device count and the possible ir register count/length:
SIR 32 TDI(ffffffff); length = 32 TDI = 0xFFFFFFFF TDO read = 0xFFFFFE25
TDO: 11...11000100101 Looks like 3 ir registers with 4,3 and 2 bit length
SDR 32 TDI(ffffffff); length = 32 TDI = 0xFFFFFFFF TDO read = 0xFFFFFFFC
TDO: 11...1100 Looks like 2 devices
But every access to the embedded ice registers (they are located in the internal scan chain 2) result in random (most time zero) values for the comms ctrl register and a cpu halt state. Is there anything wrong? Is there a different "magic" 0x0b jtag command or argument for this kind of cpu?
Thanks & Regards,
Mathias