, G& ]# H' t! z. ptypedef struct9 q* n H) l! Z# s" e6 F
{) }" g9 A/ V. v; l! t) B. H
unsigned int a;2 j( u& I* f4 G& B2 H$ C7 Q; N5 f
unsigned int b; + X. r, h5 t8 w* m% q unsigned int packet_cout;/ B k0 y: c# O# z
}RX_MSG_PROTOCOL, *pRX_MSG_PROTOCOL;) L) X7 s! [8 O* s" M, m
$ ^# t# B! w. V: u3 y' F$ Bvoid read_MSG_buffer(int *baseaddr);( P3 A t" k0 E$ k( u
unsigned int count_copy = 0; * a M) A) Z5 k4 [8 _" Y 6 J" v8 O' D& S5 B+ gint main(). _! |. @- C: H. ?& O R; J
{ ) w3 q9 E, u0 d+ g2 T int fd; 9 e, |3 X+ o J z0 s int *mem = NULL;+ b f1 V! ]. @7 `) A6 v
$ A6 X. C9 p5 S2 S6 F$ a
if((fd = open("/dev/mem", O_RDWR)) <0)) I! ?; F$ b+ T; `* z
{ # m) P2 F$ z3 [) h perror("open error");8 g J! b1 @) y* C# u Z9 |1 _
return -1;$ \ q8 w# k3 J: G! y4 B/ n: p
} . h! P8 w. t1 j+ I) W9 o . F7 Q9 }* K3 ~% p, {' f6 M! f
mem = mmap((void *)SHAER_RAM_BASE_ADDR, SHAER_RAM_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); 0 d1 Y1 [3 [. D; s" J2 C. _! y) R# v |" n+ k% h$ B" \' U) Q
while(1)3 m, U' p1 z& V. O1 t- V& ]! T
{4 z: \8 ? G9 G. H2 p9 d7 T
read_MSG_buffer(mem);: t7 O% t; k. }: ~$ A. X- b; ?% Y, K
} 5 P y/ \/ @" T7 I
}& u% [' A/ f& c" y7 L