source: soft/giet_vm/apps/numsplit/main.c @ 160

Last change on this file since 160 was 160, checked in by karaoui, 12 years ago

giet-vm new version

File size: 1.2 KB
Line 
1#include "consumer_proto.h"
2
3FUNC(cons_func)
4{
5    srl_mwmr_t input = GET_MWMR(mwmr);
6    char buf[32];
7    srl_mwmr_read(input, (unsigned *)buf, 8);//8*4
8    srl_log_printf (NONE, "Consumer : %s\n\n", buf);
9}
10#include "producer_proto.h"
11
12static inline char *sprintf (char *dest, int val)
13{
14   char buf[20];
15   char *pbuf;
16   unsigned int len = 0;
17   static const char HexaTab[] = "0123456789ABCDEF";
18   unsigned int i;
19
20   if (val < 0)
21   {
22      val = -val;
23      memcpy (dest, "-", 1);
24      dest += 1;
25   }
26   for (i = 0; i < 10; i++)
27   {
28      buf[9 - i] = HexaTab[val % 10];
29      if (!(val /= 10))
30         break;
31   }
32   len = i + 1;
33   pbuf = &buf[9 - i];
34   memcpy (dest, pbuf, len);
35   dest += len;
36
37   return dest;
38
39}                               // end sprintf()
40
41FUNC (prod_func)
42{
43   srl_mwmr_t output = GET_MWMR(mwmr);
44   char buf[32];
45   char print[30] = "Producer : \n";
46   int i;
47   char *end;
48   for (i = 0; i < (9999999); i++)
49   {
50      end = sprintf (buf, i);
51      *end = '\0';
52
53      end = sprintf (print + 11, i);
54      *end = '\n';
55      *++end = '\0';
56
57      srl_log_printf (NONE, print);
58      srl_mwmr_write (output,(unsigned*) buf, 8);//8*4
59   }
60}
Note: See TracBrowser for help on using the repository browser.