StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
em_nios.C
1 #include <stdio.h>
2 #include <string.h>
3 
4 #include "em_nios.h"
5 
6 int main(int argc, char *argv[])
7 {
8  // Setup a test device in linux memory
9  UINT32 nios_mem[1000];
10  for(int i=0;i<1000;i++) nios_mem[i] = i;
11 
12 
13 #ifdef LOCAL_NIOS
14  printf("Using LOCAL_NIOS settings\n\n");
15 #else
16  printf("Using REMOTE_NIOS setting\n\n");
17 #endif
18 
19  // replace with nios_device<type> nios((UINT32)nios_mem, 1000)
20  // for any type...
21  nios_device<UINT32> nios((UINT32)nios_mem, 1000);
22 
23 
24  for(int i=5;i<15;i++) {
25  printf("nios[%d] = %d\n",i,(int)nios[i]);
26  }
27 
28  nios[10] = 150;
29 
30  printf("after nios[10] = 150; nios[10] = %d\n",(int)nios[10]);
31 
32  printf("nios[5] * nios[6] : %d\n", nios[5] * nios[6]);
33 
34  printf("nios[5] = nios[5] * nios[6] : %d\n", nios[5] = nios[5] * nios[6]);
35 
36  printf("nios[5] = nios[5] * nios[5] : %d\n", nios[5] = nios[5] * nios[5]);
37 
38  printf("\n\nBe careful to cast in any varargs function: (local_nios, fine, remote fails)\n(int)nios[6] = %d nios[6] = %d\n", (int)nios[6], nios[6]);
39 
40 
41  UINT32 other[1000];
42  memset(other, 0, sizeof(other));
43 
44  nios.copyto(7*4, other, 12);
45 
46 
47  printf("\n\n1.\n\n");
48  for(int i=5;i<15;i++) {
49  printf("nios[%d] = %d\n",i,(int)nios[i]);
50  }
51 
52 
53  memset(other, 0xff, sizeof(other));
54  nios.copyto(&nios[8], other, 4);
55 
56  printf("\n\n2.\n\n");
57  for(int i=5;i<15;i++) {
58  printf("nios[%d] = %d\n",i,(int)nios[i]);
59  }
60 
61  nios.copyfrom(other, &nios[0], 20*4);
62 
63  printf("\n\n3.\n\n");
64  for(int i=0;i<20;i++) {
65  printf("other[%d] = %d\n",i,other[i]);
66  }
67 
68 }