SparkFun Forums 

Where electronics enthusiasts find answers.

Open source ARM Debugger
By Hogehoge
#194932
At OpenOCD 0.10.0, Amontec JTAGKey is unable to use it is troubled.
At 0.9.0, it was usable.

For 0.9.0, I used the 'ft2232' interface (interface/jtagkey.cfg),
same 0.9.0 uses the 'ftdi' interface (interface/ftdi/jtagkey.cfg).
For 0.10.0 it is necessary to use the 'ftdi' interface.

The target is Raspberry Pi (Zero / 1).

bcm2835.cfg
Code: Select all
# BCM2835

if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
} else {
set _CHIPNAME bcm2835
}

if { [info exists CPU_TAPID ] } {
set _CPU_TAPID $CPU_TAPID
} else {
set _CPU_TAPID 0x07b7617F
}

jtag_ntrst_delay 400
reset_config trst_only
adapter_khz 1000

jtag newtap $_CHIPNAME arm -irlen 5 -expected-id $_CPU_TAPID

target create $_CHIPNAME.arm arm11 -chain-position $_CHIPNAME.arm
$_CHIPNAME.arm configure -event gdb-attach { halt }
Result of using 'ft2232' interface at 0.9.0 (success)
Code: Select all
Open On-Chip Debugger 0.9.0 (2017-05-18-19:16)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
jtag_ntrst_delay: 400
trst_only separate trst_push_pull
adapter speed: 1000 kHz
Started by GNU ARM Eclipse
Warn : Using DEPRECATED interface driver 'ft2232'
Info : Consider using the 'ftdi' interface driver, with configuration files in interface/ftdi/...
Info : clock speed 1000 kHz
Info : JTAG tap: bcm2835.arm tap/device found: 0x07b7617f (mfg: 0x0bf, part: 0x7b76, ver: 0x0)
Info : found ARM1176
Info : bcm2835.arm: hardware has 6 breakpoints, 2 watchpoints
Info : accepting 'gdb' connection on tcp/3333
target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x600001d3 pc: 0x0000810c
Info : JTAG tap: bcm2835.arm tap/device found: 0x07b7617f (mfg: 0x0bf, part: 0x7b76, ver: 0x0)
Info : found ARM1176
Error: bcm2835.arm: how to reset?
in procedure 'reset' 
in procedure 'ocd_bouncer'


semihosting not supported for current target

Info : JTAG tap: bcm2835.arm tap/device found: 0x07b7617f (mfg: 0x0bf, part: 0x7b76, ver: 0x0)
Info : found ARM1176
Error: bcm2835.arm: how to reset?
in procedure 'reset' 
in procedure 'ocd_bouncer'


===== ARM registers
(0) r0 (/32): 0x00000000 (dirty)
(1) r1 (/32): 0x00000000
(2) r2 (/32): 0x20200098
(3) r3 (/32): 0x20000000
(4) r4 (/32): 0xF2D9140B
(5) r5 (/32): 0xF31F210A
(6) r6 (/32): 0xF289CB9D
(7) r7 (/32): 0xEC54633C
(8) r8 (/32): 0x23C8C888
(9) r9 (/32): 0xAF0B6FAF
(10) r10 (/32): 0x6FEDD2FA
(11) r11 (/32): 0x6B654918
(12) r12 (/32): 0x7D8AE82B
(13) sp_usr (/32)
(14) lr_usr (/32)
(15) pc (/32): 0x00008000 (dirty)
(16) r8_fiq (/32)
(17) r9_fiq (/32)
(18) r10_fiq (/32)
(19) r11_fiq (/32)
(20) r12_fiq (/32)
(21) sp_fiq (/32)
(22) lr_fiq (/32)
(23) sp_irq (/32)
(24) lr_irq (/32)
(25) sp_svc (/32): 0xE025F53B
(26) lr_svc (/32): 0x1AFA8977
(27) sp_abt (/32)
(28) lr_abt (/32)
(29) sp_und (/32)
(30) lr_und (/32)
(31) cpsr (/32): 0x600001D3
(32) spsr_fiq (/32)
(33) spsr_irq (/32)
(34) spsr_svc (/32)
(35) spsr_abt (/32)
(36) spsr_und (/32)
(37) sp (/32)
(38) lr (/32)
(39) sp_mon (/32)
(40) lr_mon (/32)
(41) spsr_mon (/32)
Result of using 'ftdi' interface at 0.9.0 (fail)
Code: Select all
Open On-Chip Debugger 0.9.0 (2017-05-18-19:16)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
jtag_ntrst_delay: 400
trst_only separate trst_push_pull
adapter speed: 1000 kHz
Started by GNU ARM Eclipse
Info : clock speed 1000 kHz
Info : JTAG tap: bcm2835.arm tap/device found: 0x07b7617f (mfg: 0x0bf, part: 0x7b76, ver: 0x0)
Info : found ARM1176
Info : bcm2835.arm: hardware has 6 breakpoints, 2 watchpoints
Info : accepting 'gdb' connection on tcp/3333
Info : JTAG tap: bcm2835.arm tap/device found: 0x07b7617f (mfg: 0x0bf, part: 0x7b76, ver: 0x0)
Info : found ARM1176
Error: bcm2835.arm: how to reset?
in procedure 'reset' 
in procedure 'ocd_bouncer'


semihosting not supported for current target

Error: 30 words out of 1024 not transferred
Error: 30 words out of 854 not transferred
Info : dropped 'gdb' connection

I don't think 'ft2232' and 'ftdi' are compatible.
Can you still use the ft2232 interface at 0.10.0?

Thanks.