|
From: Ø. H. <oyv...@zy...> - 2008-09-05 08:52:21
|
I've committed this change/workaround/comment:
Index: C:/workspace/openocd/src/target/cortex_swjdp.c
===================================================================
--- C:/workspace/openocd/src/target/cortex_swjdp.c (revision 978)
+++ C:/workspace/openocd/src/target/cortex_swjdp.c (working copy)
@@ -177,7 +177,17 @@
keep_alive();
+ /* Danger!!!! BROKEN!!!! */
scan_inout_check_u32(swjdp, SWJDP_IR_DPACC, DP_CTRL_STAT, DPAP_READ,
0, &ctrlstat);
+ /* Danger!!!! BROKEN!!!! Why will jtag_execute_queue() fail here????
+ R956 introduced the check on return value here and now Michael
Schwingen reports
+ that this code no longer works....
+ */
+ if ((retval=jtag_execute_queue())!=ERROR_OK)
+ {
+ LOG_ERROR("BUG: Why does this fail the first time????");
+ }
+ /* Why??? second time it works??? */
scan_inout_check_u32(swjdp, SWJDP_IR_DPACC, DP_CTRL_STAT, DPAP_READ,
0, &ctrlstat);
if ((retval=jtag_execute_queue())!=ERROR_OK)
return retval;
--
Øyvind Harboe
http://www.zylin.com/zy1000.html
ARM7 ARM9 XScale Cortex
JTAG debugger and flash programmer
|