Part Number:AM3358
Hello,
I would like to know how to evaluate if a JTAG chain works correctly? Which methodologies might be used to evaluate it?
My JTAG chain is:
- BeagleBone Black revC (https://beagleboard.org/black)
- FTR-110-51-S-D-06 (uk.farnell.com/.../2856408)
- ARM20cTI20 – cTI 20-pin JTAG Adapter Board (www.tincantools.com/.../)
- ARM-USB-TINY-H(www.olimex.com/.../)
- OpenOCD 0.10.0 with -f interface/ftdi/olimex-arm-usb-tiny-h.cfg -f board/ti_beaglebone_black.cfg
To test it, I try to flash a baremetal binary from TI StarterWare (software-dl.ti.com/.../index_FDS.html) with OpenOCD.
This binary works well when it is launch with Uboot on a loadaddr 0x80000000.
But when I flash it across OpenOCD, it fails.
I don't understand why. I am newbie with OpenOCD. I don't understand how Openocd works. I do not know if my problem is due to a hardware incompatibility or if I apply a bad software configuration.
Could help me? Thank you in advance.
Logs:
Open On-Chip Debugger 0.10.0+dev-00567-gcea40152f (2018-11-03-20:42)
Licensed under GNU GPL v2
For bug reports, read
openocd.org/.../bugs.html
adapter speed: 1000 kHz
trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : clock speed 1000 kHz
Info : JTAG tap: am335x.jrc tap/device found: 0x2b94402f (mfg: 0x017 (Texas Instruments), part: 0xb944, ver: 0x2)
Info : JTAG tap: am335x.tap enabled
Info : am335x.cpu: hardware has 6 breakpoints, 2 watchpoints
Info : am335x.cpu rev 2, partnum c08, arch f, variant 3, implementor 41
Error: MPIDR not in multiprocessor format
Info : Listening on port 3333 for gdb connections
Info : Listening on port 3334 for gdb connections
Info : accepting 'telnet' connection on tcp/4444
Info : JTAG tap: am335x.jrc tap/device found: 0x2b94402f (mfg: 0x017 (Texas Instruments), part: 0xb944, ver: 0x2)
Info : JTAG tap: am335x.tap enabled
Error: Debug regions are unpowered, an unexpected reset might have happened
Error: JTAG-DP STICKY ERROR
Warn : am335x.cpu: ran after reset and before halt ...
Info : am335x.cpu rev 2, partnum c08, arch f, variant 3, implementor 41
target halted in Thumb state due to debug-request, current mode: Supervisor
cpsr: 0x400001b3 pc: 0x0002412a
MMU: disabled, D-Cache: disabled, I-Cache: disabled
Error: data abort at 0x80000000, dfsr = 0x00001808
init
reset init
halt
load_image /srv/tftp/uartEcho_ti.bin 0x80000000 bin
resume 0x80000000
I don't understand also, why after each reset:
- the CPU is in Thumb state?
- when I am in GDB interface the CPU target is am335x.m3 (cortex_m, Trust Zone, isn't it?) and when I am in telnet interface the CPU target is
am335x.cpu (cortex_a)?