I have an XDS220 (PN 516300-0001, serial X2D_1401037) that I managed to brick by trying to perform a firmware update on OSX. Same symptoms as shown in this thread, but I can't seem to get CCS (on Linux or Windows) to connect to it with an XDS100v2. I have connected (and verified) TDI, TDO, TMS, TCK, RTCK, TRST, GND and 3.3V, but when I test the connection with CCS, it says there's a far-end break detected. If I use OpenOCD it actually connects and I can stop/step/etc. the processor, but loading the fw1009.bin to location 0x80010000 and trying to resume execution at the same address doesn't appear to work.
By "doesn't appear to work" what I mean is that the processor seems to run, but I don't see the USB device appear and if I halt the processor, it seems to be at the same endless loop instruction that it was at when I first connected. I’ve also played with TCK clock speeds, using RTCK or ignoring it… nothing seems to help.
> reset halt JTAG tap: omapl138.jrc tap/device found: 0x1b7d102f (mfg: 0x017 (Texas Instruments), part: 0xb7d1, ver: 0x1) JTAG tap: omapl138.etb enabled JTAG tap: omapl138.arm enabled target halted in ARM state due to debug-request, current mode: System cpsr: 0xa00000df pc: 0x800016c8 MMU: disabled, D-Cache: disabled, I-Cache: disabled NOTE! DCC downloads have not been enabled, defaulting to slow memory writes. Type 'help dcc'. > omapl138.arm curstate halted > reg ===== ARM registers (0) r0 (/32): 0xa00000df (dirty) (1) r1 (/32): 0xe1500001 (dirty) (2) r2 (/32): 0xdafffffc (dirty) (3) r3 (/32): 0xe59f0044 (dirty) (4) r4 (/32): 0xe59f1044 (dirty) (5) r5 (/32): 0xe2400c05 (dirty) (6) r6 (/32): 0xe321f0d3 (dirty) (7) r7 (/32): 0xe1a0d000 (dirty) (8) r8 (/32): 0xe2400008 (dirty) (9) r9 (/32): 0xe321f0df (dirty) (10) r10 (/32): 0xe1a0d000 (dirty) (11) r11 (/32): 0xe59f0054 (dirty) (12) r12 (/32): 0xe59f1054 (dirty) (13) sp_usr (/32): 0xe3a02000 (dirty) (14) lr_usr (/32): 0xe4802004 (dirty) (15) pc (/32): 0x800016c8 (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) (26) lr_svc (/32) (27) sp_abt (/32) (28) lr_abt (/32) (29) sp_und (/32) (30) lr_und (/32) (31) cpsr (/32): 0xa00000df (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) ===== EmbeddedICE registers ===== etm registers ===== etb registers > load_image /home/andrew/ti/ccs1230/ccs/ccs_base/common/uscif/xds2xx/xds220_firload_image /home/andrew/ti/ccs1230/ccs/ccs_base/common/uscif/xds2xx/xds220_firmware_v1009.bin 0x80010000 bin 92814 bytes written at address 0x80010000 downloaded 92814 bytes in 2.201913s (41.164 KiB/s) > mdw 0x80010000 0x20 0x80010000: ea000004 40000000 4000033c 4000033c 40016a90 4004c3c8 e59f0098 e321f0db 0x80010020: e1a0d000 e2400008 e321f0d7 e1a0d000 e2400008 e321f0d1 e1a0d000 e2400008 0x80010040: e321f0d2 e1a0d000 e2400c05 e321f0d3 e1a0d000 e2400008 e321f0df e1a0d000 0x80010060: e59f0054 e59f1054 e3a02000 e4802004 e1500001 dafffffc e59f0044 e59f1044 > resume 0x80010000 ... wait, nothing showing up on USB ... > halt target halted in ARM state due to debug-request, current mode: System cpsr: 0xa00000df pc: 0x800015fc MMU: disabled, D-Cache: disabled, I-Cache: disabled > reg ===== ARM registers (0) r0 (/32): 0xffffffff (dirty) (1) r1 (/32): 0x00000004 (2) r2 (/32): 0xffffffff (3) r3 (/32): 0xffffffff (4) r4 (/32): 0x80000000 (5) r5 (/32): 0xe2400c05 (6) r6 (/32): 0xe321f0d3 (7) r7 (/32): 0x00000000 (8) r8 (/32): 0xe2400008 (9) r9 (/32): 0xe321f0df (10) r10 (/32): 0x80000aa0 (11) r11 (/32): 0x80003100 (12) r12 (/32): 0x00000001 (13) sp_usr (/32): 0x800030ec (14) lr_usr (/32): 0x8000157c (15) pc (/32): 0x800015fc (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) (26) lr_svc (/32) (27) sp_abt (/32) (28) lr_abt (/32) (29) sp_und (/32) (30) lr_und (/32) (31) cpsr (/32): 0xa00000df (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) ===== EmbeddedICE registers ===== etm registers ===== etb registers
I have also tried manually setting PC and SP to 0x80010018 and 0x40000000 respectively and resuming that way, but with the same results.
I'm quite sure I could recover this if I could only get the AM1802 to execute the code I've loaded. I have two questions:
1) How do I troubleshoot/resolve the "SC_ERR_CTL_CBL_BREAK_FAR" (-183) error in CCS? There isn't much info online and what is there is generic. I know the connections are good because OpenOCD can talk to the device.
2) What am I missing which is preventing me from getting the AM1082 from doing what I need via OpenOCD?