Пример #1
0
static void jtag_add_ir_scan_noverify_callback(struct jtag_tap *active,
	int dummy,
	const struct scan_field *in_fields,
	tap_state_t state)
{
	jtag_add_ir_scan_noverify(active, in_fields, state);
}
Пример #2
0
int arm_jtag_set_instr_inner(struct arm_jtag *jtag_info, uint32_t new_instr,  void *no_verify_capture)
{
	struct jtag_tap *tap;
	tap = jtag_info->tap;
	struct scan_field field;
	uint8_t t[4];

	field.tap = tap;
	field.num_bits = tap->ir_length;
	field.out_value = t;
	buf_set_u32(field.out_value, 0, field.num_bits, new_instr);
	field.in_value = NULL;

	if (no_verify_capture == NULL)
	{
		jtag_add_ir_scan(1, &field, jtag_get_end_state());
	} else
	{
		/* FIX!!!! this is a kludge!!! arm926ejs.c should reimplement this arm_jtag_set_instr to
		 * have special verification code.
		 */
		jtag_add_ir_scan_noverify(1, &field, jtag_get_end_state());
	}

	return ERROR_OK;
}
Пример #3
0
/* If fields->in_value is filled out, then the captured IR value will be checked */
void jtag_add_ir_scan(struct jtag_tap *active, struct scan_field *in_fields, tap_state_t state)
{
	assert(state != TAP_RESET);

	if (jtag_verify && jtag_verify_capture_ir) {
		/* 8 x 32 bit id's is enough for all invocations */

		/* if we are to run a verification of the ir scan, we need to get the input back.
		 * We may have to allocate space if the caller didn't ask for the input back.
		 */
		in_fields->check_value = active->expected;
		in_fields->check_mask = active->expected_mask;
		jtag_add_scan_check(active, jtag_add_ir_scan_noverify_callback, 1, in_fields,
			state);
	} else
		jtag_add_ir_scan_noverify(active, in_fields, state);
}
Пример #4
0
int arm_jtag_set_instr_inner(struct jtag_tap *tap,
		uint32_t new_instr, void *no_verify_capture, tap_state_t end_state)
{
	struct scan_field field;
	uint8_t t[4];

	field.num_bits = tap->ir_length;
	field.out_value = t;
	buf_set_u32(t, 0, field.num_bits, new_instr);
	field.in_value = NULL;

	if (no_verify_capture == NULL)
		jtag_add_ir_scan(tap, &field, end_state);
	else {
		/* FIX!!!! this is a kludge!!! arm926ejs.c should reimplement this arm_jtag_set_instr to
		 * have special verification code.
		 */
		jtag_add_ir_scan_noverify(tap, &field, end_state);
	}

	return ERROR_OK;
}