]>
Commit | Line | Data |
---|---|---|
1 | #define LIBNEXYS_INTERNAL | |
2 | #include "libnexys.h" | |
3 | #include <stdio.h> | |
4 | ||
5 | nexys2_t nexys2_init(void) { | |
6 | int device; | |
7 | char devname[32]; | |
8 | HANDLE hand; | |
9 | ERC erc; | |
10 | ||
11 | if (!DpcInit(&erc)) | |
12 | { | |
13 | printf("DpcInit failed\n"); | |
14 | return NULL; | |
15 | } | |
16 | ||
17 | if ((device = DvmgGetDefaultDev(&erc)) == -1) | |
18 | { | |
19 | printf("We appear to lack a default device. Sadface :(\n"); | |
20 | return NULL; | |
21 | } | |
22 | ||
23 | DvmgGetDevName(device, devname, &erc); | |
24 | printf("Interacting with device %d (%s)\n", device, devname); | |
25 | ||
26 | if (!DpcOpenJtag(&hand, devname, &erc, NULL)) | |
27 | { | |
28 | printf("JTAG open failed\n"); | |
29 | return NULL; | |
30 | } | |
31 | return hand; | |
32 | } | |
33 | ||
34 | int nexys2_jtag_enable(HANDLE hand) | |
35 | { | |
36 | ERC erc; | |
37 | return DpcEnableJtag(hand, &erc, NULL) ? 0 : -1; | |
38 | } | |
39 | ||
40 | int nexys2_jtag_disable(HANDLE hand) | |
41 | { | |
42 | ERC erc; | |
43 | return DpcDisableJtag(hand, &erc, NULL) ? 0 : -1; | |
44 | } | |
45 | ||
46 | int nexys2_jtag_setbits(HANDLE hand, int tms, int tdi, int tck) | |
47 | { | |
48 | ERC erc; | |
49 | return DpcSetTmsTdiTck(hand, tms, tdi, tck, &erc, NULL) ? 0 : -1; | |
50 | } | |
51 | ||
52 | int nexys2_jtag_puttdi(HANDLE hand, int tms, int nbits, unsigned char *bits, unsigned char *obits) | |
53 | { | |
54 | ERC erc; | |
55 | return DpcPutTdiBits(hand, nbits, bits, tms, obits ? 1 : 0, obits, &erc, NULL) ? 0 : -1; | |
56 | } | |
57 | ||
58 | int nexys2_jtag_puttmstdi(HANDLE hand, int nbits, unsigned char *bits, unsigned char *obits) | |
59 | { | |
60 | ERC erc; | |
61 | return DpcPutTmsTdiBits(hand, nbits, bits, obits ? 1 : 0, obits, &erc, NULL) ? 0 : -1; | |
62 | } | |
63 | ||
64 | int nexys2_jtag_gettdo(HANDLE hand, int tdi, int tms, int nbits, unsigned char *obits) | |
65 | { | |
66 | ERC erc; | |
67 | return DpcGetTdoBits(hand, nbits, tdi, tms, obits, &erc, NULL) ? 0 : -1; | |
68 | } |