jtagonizer

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 21691b0e42ee2516d167b82055a5d81816207976
parent 78b9d670e2acc9eee180607decfc0b01b9e71e0a
Author: Brian Swetland <swetland@frotz.net>
Date:   Sun, 21 Sep 2014 21:38:00 -0700

jtag: bigger stress test

Diffstat:
Mjtag.c | 36++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+), 0 deletions(-)

diff --git a/jtag.c b/jtag.c @@ -10,6 +10,9 @@ int main(int argc, char **argv) { unsigned p1 = 0x12345678; unsigned p2 = 0xaabbccdd; unsigned x0, x1, x2; + unsigned char b0[8192], b1[8192]; + unsigned n, i; + unsigned char C; JTAG *jtag; if (jtag_mpsse_open(&jtag)) { @@ -17,6 +20,12 @@ int main(int argc, char **argv) { return -1; } + jtag_goto(jtag, JTAG_RESET); + jtag_goto(jtag, JTAG_RESET); + jtag_goto(jtag, JTAG_RESET); + jtag_goto(jtag, JTAG_RESET); + jtag_commit(jtag); + ir = 9; jtag_set_dr_idle(jtag, JTAG_DRPAUSE); jtag_goto(jtag, JTAG_RESET); @@ -30,5 +39,32 @@ int main(int argc, char **argv) { fprintf(stderr,"%x %x %x %x\n", x, x0, x1, x2); +#if 1 + for (i = 0; i < 1000; i++) { + C = i; +#define XX 8000 + memset(b0,C,XX); + //for (n = 0; n < 256; n++) b0[n] = n; + jtag_goto(jtag, JTAG_RESET); + jtag_goto(jtag, JTAG_RESET); + jtag_ir_wr(jtag, 6, &ir); + jtag_dr_io(jtag, XX*8, b0, b1); + jtag_commit(jtag); + + if ((b1[0] != 0x93) || (b1[1] != 0x10) || (b1[2] != 0x63) || (b1[3] != 0x13)) { + fprintf(stderr,"OOPS\n"); + for (n = 0; n < XX; n++) printf("%02x ", b1[n]); + return -1; + } + for (n = 4; n < XX; n++) { + if (b1[n] != C) { + fprintf(stderr,"OOPS @ %d\n", n); + for (n = 0; n < XX; n++) printf("%02x ", b1[n]); + return -1; + } + } + } + fprintf(stderr,"success!\n"); +#endif return 0; }