OpenCores
URL https://opencores.org/ocsvn/ftdi_wb_bridge/ftdi_wb_bridge/trunk

Subversion Repositories ftdi_wb_bridge

[/] [ftdi_wb_bridge/] [trunk/] [sw/] [poke.c] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 ultra_embe
#include <stdio.h>
2
#include <string.h>
3
#include <stdlib.h>
4
#include <unistd.h>
5
#include "ftdi_hw.h"
6
 
7
//-----------------------------------------------------------------
8
// Defines:
9
//-----------------------------------------------------------------
10
#define DEFAULT_FTDI_IFACE  1
11
 
12
//-----------------------------------------------------------------
13
// main:
14
//-----------------------------------------------------------------
15
int main(int argc, char *argv[])
16
{
17
    int err = 0;
18
    int c;
19
    int help = 0;
20
    int ftdi_iface = DEFAULT_FTDI_IFACE;
21
    uint32_t addr = 0xFFFFFFFF;
22
    uint32_t value = 0;
23
    int quiet = 0;
24
 
25
    while ((c = getopt (argc, argv, "a:v:i:q")) != -1)
26
    {
27
        switch(c)
28
        {
29
            case 'a':
30
                 addr = (uint32_t)strtoul(optarg, NULL, 0);
31
                 break;
32
            case 'v':
33
                 value = (uint32_t)strtoul(optarg, NULL, 0);
34
                 break;
35
            case 'i':
36
                 ftdi_iface = (int)strtol(optarg, NULL, 0);
37
                 break;
38
            case 'q':
39
                quiet = 1;
40
                break;
41
            default:
42
                help = 1;
43
                break;
44
        }
45
    }
46
 
47
    if (help || addr == 0xFFFFFFFF)
48
    {
49
        fprintf (stderr,"Usage:\n");
50
        fprintf (stderr,"-a 0xNNNNNNNN     = Address to write\n");
51
        fprintf (stderr,"-v 0xNNNNNNNN     = Data to write\n");
52
        fprintf (stderr,"-i id             = FTDI interface ID (0 = A, 1 = B)\n");
53
        fprintf (stderr,"-q                = Quiet mode\n");
54
 
55
        exit(-1);
56
    }
57
 
58
    // Try and communicate with FTDI interface
59
    if (ftdi_hw_init(ftdi_iface) != 0)
60
    {
61
        fprintf(stderr, "ERROR: Could not open FTDI interface, try SUDOing / check connection\n");
62
        exit(-2);
63
    }
64
 
65
    if (!quiet)
66
        printf("Write 0x%x to 0x%x\n", value, addr);
67
 
68
    if (ftdi_hw_mem_write_word(addr, value) != sizeof(value))
69
    {
70
        fprintf(stderr, "ERROR: Could not write to device\n");
71
        err = 1;
72
    }
73
 
74
    ftdi_hw_close();
75
 
76
    return err;
77
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.