Hello, I was looking though the code in svn and found a couple items that might warrant attention.
In src/jtag/arm-jtag-ew.c around line 428. There is a variable initialized here: uint8_t outp_en = 0; and then at 428 is this: outp_en &= ~srst_mask; Which is the same as outp_en = 0 & ~srst_mask; Which is 0. Is this the intended value? A similar problem is at 433. ------------- In src/jtag/jlink.c around line 567 is len = buf_get_u32(usb_in_buffer, 0, 16); if (len > JLINK_IN_BUFFER_SIZE) meaning that len could legally be == JLINK_IN_BUFFER_SIZE. After that is result = jlink_usb_read(jlink_jtag_handle, len); if (result != len) Which guarantees that result would be JLINK_IN_BUFFER_SIZE if len was. Therefore the code at line 581 would zero something 1 location beyond the buffer. usb_in_buffer[result] = 0; ------------ In src/target/etb.c is this code: if (!(etm_ctx->capture_status && TRACE_TRIGGERED)) Was that supposed to be '&' rather than '&&' ? ------------- Thanks, -Steve _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development