Rev 1319 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1319 | giacomo | 1 | #include <tracer.h> |
2 | |||
3 | #include <kernel/kern.h> |
||
1320 | giacomo | 4 | #include <drivers/udpip.h> |
1319 | giacomo | 5 | #include <unistd.h> |
6 | |||
7 | |||
8 | TASK finish_task() { |
||
9 | |||
10 | #ifdef __NEW_TRACER__ |
||
11 | |||
12 | extern __volatile__ unsigned int TracerEventsPresent; |
||
13 | unsigned int k; |
||
14 | |||
15 | SYS_FLAGS f; |
||
16 | |||
17 | sleep(1); |
||
18 | |||
1320 | giacomo | 19 | tracer_init_udp(0,"192.168.118.4","192.168.118.2"); |
1319 | giacomo | 20 | |
1320 | giacomo | 21 | sleep(1); |
22 | |||
1319 | giacomo | 23 | tracer_create_udp_task(NULL,80); |
24 | |||
1320 | giacomo | 25 | sleep(1); |
26 | |||
1319 | giacomo | 27 | f = kern_fsave(); |
28 | k = TracerEventsPresent; |
||
29 | kern_frestore(f); |
||
30 | while(k > 0) { |
||
31 | f = kern_fsave(); |
||
32 | printf_xy(0,5,WHITE,"REM = %08d",k); |
||
33 | k = TracerEventsPresent; |
||
34 | kern_frestore(f); |
||
35 | } |
||
36 | |||
37 | tracer_flush_sent_events(); |
||
38 | |||
39 | #endif |
||
40 | |||
41 | sys_end(); |
||
42 | |||
43 | return NULL; |
||
44 | |||
45 | } |
||
46 | |||
47 | extern void *StartTracerBuffer; // Buffer Start 0 |
||
48 | extern void *EndTracerBuffer; // Buffer End 4 |
||
49 | extern void *LastBeforeEndTracerBuffer; //8 |
||
50 | extern void *CurrentTracerBuffer; //The Actual Write Point For The Next Event 12 |
||
51 | extern void *FirstTracerBuffer; //The First Valid Event 16 |
||
52 | |||
53 | extern int TracerActive; //20 |
||
54 | extern int TracerOutputType; //24 |
||
55 | extern unsigned long long TracerEventsRecorded; //28 |
||
56 | extern unsigned int TracerEventsPresent; //36 |
||
57 | |||
58 | int main() { |
||
59 | |||
60 | NRT_TASK_MODEL nrt; |
||
61 | |||
1320 | giacomo | 62 | void *save_tracer_pointer = (void *)(40270428UL); |
63 | struct net_model m = net_base; |
||
1319 | giacomo | 64 | |
65 | #ifdef __NEW_TRACER__ |
||
66 | |||
67 | StartTracerBuffer = *(void **)(save_tracer_pointer); // Buffer Start 0 |
||
68 | EndTracerBuffer = *(void **)(save_tracer_pointer+4); // Buffer End 4 |
||
69 | LastBeforeEndTracerBuffer = *(void **)(save_tracer_pointer+8); //8 |
||
70 | CurrentTracerBuffer = *(void **)(save_tracer_pointer+12); //The Actual Write Point For The Next Event 12 |
||
71 | FirstTracerBuffer = *(void **)(save_tracer_pointer+16); //The First Valid Event 16 |
||
72 | |||
73 | TracerActive = 0; |
||
74 | |||
75 | TracerEventsRecorded = *(unsigned long long *)(save_tracer_pointer+28); //28 |
||
76 | TracerEventsPresent = *(unsigned int *)(save_tracer_pointer+36); //36 |
||
77 | |||
78 | cprintf("Total Events Present %d\n",TracerEventsPresent); |
||
79 | |||
1320 | giacomo | 80 | net_setudpip(m, "192.168.118.4", "255.255.255.255"); |
81 | |||
82 | if (net_init(&m) != 1) { |
||
83 | return -1; |
||
84 | } |
||
85 | |||
1319 | giacomo | 86 | nrt_task_default_model(nrt); |
87 | |||
88 | task_activate(task_create("Finish",finish_task,&nrt,NULL)); |
||
89 | |||
90 | #else |
||
91 | |||
92 | sys_end(); |
||
93 | |||
94 | #endif |
||
95 | |||
96 | return 0; |
||
97 | |||
98 | } |
||
99 |