mrfioc2  2.3.0
Classes | Functions
evrdump.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <epicsTypes.h>
#include <errlog.h>
#include <devLibPCI.h>
#include "mrmpci.h"
Include dependency graph for evrdump.c:

Go to the source code of this file.

Classes

struct  args
 

Functions

epicsShareFunc void devLibPCIRegisterBaseDefault (void)
 
int printevr (void *raw, const epicsPCIDevice *dev)
 
int main (int argc, char *argv[])
 

Function Documentation

◆ devLibPCIRegisterBaseDefault()

epicsShareFunc void devLibPCIRegisterBaseDefault ( void  )

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 68 of file evrdump.c.

69 {
70  args a = {0,0x80,0};
71 
72 #ifndef _WIN32
74 #endif
75 
76  fprintf(stderr,"Usage: evrdump [BAR#] [Length] [offset]\n");
77 
78  if (argc>=2) a.bar=atoi(argv[1]);
79  if (argc>=3) a.len=atoi(argv[2]);
80  if (argc>=4) a.offset=atoi(argv[3]);
81 
82  devPCIFindCB(mrmevrs, &printevr, &a, 0);
83 
84  return 0;
85 }
Definition: evrdump.c:37
int bar
Definition: evrdump.c:38
epicsShareFunc void devLibPCIRegisterBaseDefault(void)
int len
Definition: evrdump.c:38
int offset
Definition: evrdump.c:38
int printevr(void *raw, const epicsPCIDevice *dev)
Definition: evrdump.c:41

◆ printevr()

int printevr ( void *  raw,
const epicsPCIDevice *  dev 
)

Definition at line 41 of file evrdump.c.

42 {
43  epicsUInt32 i, offset, length;
44  args *a=raw;
45  volatile epicsUInt32 *base;
46 
47  devPCIShowDevice(2,dev);
48 
49  if (devPCIToLocalAddr(dev, a->bar, (volatile void**)(void *)&base, DEVLIB_MAP_UIO1TO1)) {
50  fprintf(stderr,"Failed to map bar 0x%x\n", a->bar);
51  return 0;
52  }
53 
54  offset = (epicsUInt32)a->offset;
55  length = (epicsUInt32)a->len;
56 
57  for (i=offset/4; i < (offset + length)/4; i++) {
58  if(i%4==0)
59  printf("\n%08x : ", 4*i);
60 
61  printf("%08x ",base[i]);
62 
63  }
64  printf("\n");
65  return 0;
66 }
Definition: evrdump.c:37
int bar
Definition: evrdump.c:38
int len
Definition: evrdump.c:38
int offset
Definition: evrdump.c:38