Albert ARIBAUD
2009-11-24 08:40:20 UTC
Hi,
I am trying to bring-up an ED Mini V2, a feroceon-based board with no
tRST/sRST signals available, only TCLK/TMS/TDI/TDO, and an Olimex
ARM-USB-OCD.
This ED-Mini has a working U-boot flashed already (I am aiming at
replacing this U-boot with a newer version).
To begin with, I've made a basic config file, containing only the two
The UNEXPECTED line worries me, but since errata for the 88F5182-A2 SoC
says IDCODE should not be relied upon, I used the mechanism already in
default behavior for OpenOCD, but I still get the IR capture errors and
the E-ICE scan chain level, or in the board itself.
I've tried using irscan and drscan for, e.g., re-reading the IDCODE
...
But I believe jtag is not correctly reset when I try this, because jtag
arp_init and jtag arp_init-reset both scan the chain and thus may not
leave the TAP in reset mode -- by the way, a scan_chain does not reset
the board (a jtag arp_init or arp_init-reset does).
Can someone give me pointers to where I should look (in OpenOCD) in
order to progressively debug the situation?
Amicalement,
I am trying to bring-up an ED Mini V2, a feroceon-based board with no
tRST/sRST signals available, only TCLK/TMS/TDI/TDO, and an Olimex
ARM-USB-OCD.
This ED-Mini has a working U-boot flashed already (I am aiming at
replacing this U-boot with a newer version).
To begin with, I've made a basic config file, containing only the two
source [find tcl/interface/olimex-arm-usb-ocd.cfg]
source [find tcl/target/feroceon.cfg]
reset_config none
Using the latest git version of openocd, if I start it with the configsource [find tcl/target/feroceon.cfg]
reset_config none
$ src/openocd -f o.cfg
Open On-Chip Debugger 0.4.0-dev-00171-gfd2c9fd (2009-11-24-08:48)
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain
jtag_nsrst_delay: 200
jtag_ntrst_delay: 200
Info : clock speed 6000 kHz
Info : JTAG tap: feroceon.cpu tap/device found: 0x49602093 (mfg: 0x049, part: 0x9602, ver: 0x4)
Warn : JTAG tap: feroceon.cpu UNEXPECTED: 0x49602093 (mfg: 0x049, part: 0x9602, ver: 0x4)
Error: JTAG tap: feroceon.cpu expected 1 of 1: 0x20a023d3 (mfg: 0x1e9, part: 0x0a02, ver: 0x2)
Error: Trying to use configured scan chain anyway...
Error: feroceon.cpu: IR capture error; saw 0x09 not 0x01
Info : JTAG tap: feroceon.cpu tap/device found: 0x49602093 (mfg: 0x049, part: 0x9602, ver: 0x4)
Warn : JTAG tap: feroceon.cpu UNEXPECTED: 0x49602093 (mfg: 0x049, part: 0x9602, ver: 0x4)
Error: JTAG tap: feroceon.cpu expected 1 of 1: 0x20a023d3 (mfg: 0x1e9, part: 0x0a02, ver: 0x2)
Error: Trying to use configured scan chain anyway...
Error: feroceon.cpu: IR capture error; saw 0x09 not 0x01
(all jtag clock speeds give the same exact output)Open On-Chip Debugger 0.4.0-dev-00171-gfd2c9fd (2009-11-24-08:48)
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain
jtag_nsrst_delay: 200
jtag_ntrst_delay: 200
Info : clock speed 6000 kHz
Info : JTAG tap: feroceon.cpu tap/device found: 0x49602093 (mfg: 0x049, part: 0x9602, ver: 0x4)
Warn : JTAG tap: feroceon.cpu UNEXPECTED: 0x49602093 (mfg: 0x049, part: 0x9602, ver: 0x4)
Error: JTAG tap: feroceon.cpu expected 1 of 1: 0x20a023d3 (mfg: 0x1e9, part: 0x0a02, ver: 0x2)
Error: Trying to use configured scan chain anyway...
Error: feroceon.cpu: IR capture error; saw 0x09 not 0x01
Info : JTAG tap: feroceon.cpu tap/device found: 0x49602093 (mfg: 0x049, part: 0x9602, ver: 0x4)
Warn : JTAG tap: feroceon.cpu UNEXPECTED: 0x49602093 (mfg: 0x049, part: 0x9602, ver: 0x4)
Error: JTAG tap: feroceon.cpu expected 1 of 1: 0x20a023d3 (mfg: 0x1e9, part: 0x0a02, ver: 0x2)
Error: Trying to use configured scan chain anyway...
Error: feroceon.cpu: IR capture error; saw 0x09 not 0x01
The UNEXPECTED line worries me, but since errata for the 88F5182-A2 SoC
says IDCODE should not be relied upon, I used the mechanism already in
source [find tcl/interface/olimex-arm-usb-ocd.cfg]
set CPUTAPID 0x49602093
source [find tcl/target/feroceon.cfg]
reset_config none
$ src/openocd -f o.cfg
Open On-Chip Debugger 0.4.0-dev-00171-gfd2c9fd (2009-11-24-08:48)
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain
jtag_nsrst_delay: 200
jtag_ntrst_delay: 200
none separate
Info : clock speed 6000 kHz
Info : JTAG tap: feroceon.cpu tap/device found: 0x49602093 (mfg: 0x049, part: 0x9602, ver: 0x4)
Error: feroceon.cpu: IR capture error; saw 0x09 not 0x01
Info : JTAG tap: feroceon.cpu tap/device found: 0x49602093 (mfg: 0x049, part: 0x9602, ver: 0x4)
Error: feroceon.cpu: IR capture error; saw 0x09 not 0x01
The target still resets at openocd launch. I first thought this was aset CPUTAPID 0x49602093
source [find tcl/target/feroceon.cfg]
reset_config none
$ src/openocd -f o.cfg
Open On-Chip Debugger 0.4.0-dev-00171-gfd2c9fd (2009-11-24-08:48)
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain
jtag_nsrst_delay: 200
jtag_ntrst_delay: 200
none separate
Info : clock speed 6000 kHz
Info : JTAG tap: feroceon.cpu tap/device found: 0x49602093 (mfg: 0x049, part: 0x9602, ver: 0x4)
Error: feroceon.cpu: IR capture error; saw 0x09 not 0x01
Info : JTAG tap: feroceon.cpu tap/device found: 0x49602093 (mfg: 0x049, part: 0x9602, ver: 0x4)
Error: feroceon.cpu: IR capture error; saw 0x09 not 0x01
default behavior for OpenOCD, but I still get the IR capture errors and
$ telnet localhost 4444
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
Open On-Chip Debugger
-- ------------------ ---------- ------ ------------------ ------------
0* feroceon.cpu feroceon little feroceon.cpu unknown
unexpected Feroceon EICE version signature
-- ------------------ ---------- ------ ------------------ ------------
0* feroceon.cpu feroceon little feroceon.cpu running
timed out while waiting for target halted
-- ------------------ ---------- ------ ------------------ ------------
0* feroceon.cpu feroceon little feroceon.cpu running
At this point I am unsure if the issue is at the JTAG level itself or inTrying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
Open On-Chip Debugger
targets
TargetName Type Endian TapName State-- ------------------ ---------- ------ ------------------ ------------
0* feroceon.cpu feroceon little feroceon.cpu unknown
feroceon.cpu arp_examine
Embedded ICE version 0unexpected Feroceon EICE version signature
targets
TargetName Type Endian TapName State-- ------------------ ---------- ------ ------------------ ------------
0* feroceon.cpu feroceon little feroceon.cpu running
halt
Halt timed out, wake up GDB.timed out while waiting for target halted
targets
TargetName Type Endian TapName State-- ------------------ ---------- ------ ------------------ ------------
0* feroceon.cpu feroceon little feroceon.cpu running
the E-ICE scan chain level, or in the board itself.
I've tried using irscan and drscan for, e.g., re-reading the IDCODE
irscan feroceon.cpu 0xe
drscan feroceon.cpu 32 0
00000000drscan feroceon.cpu 32 0
drscan feroceon.cpu 32 0
00000000...
arp_init and jtag arp_init-reset both scan the chain and thus may not
leave the TAP in reset mode -- by the way, a scan_chain does not reset
the board (a jtag arp_init or arp_init-reset does).
Can someone give me pointers to where I should look (in OpenOCD) in
order to progressively debug the situation?
Amicalement,
--
Albert.
Albert.