1 /*---------------------------------------------------------------------------*
2   Project:  NitroSDK - OS - demos - functionCost-1
3   File:     main.c
4 
5   Copyright 2003-2008 Nintendo.  All rights reserved.
6 
7   $NoKeywords: $
8  *---------------------------------------------------------------------------*/
9 #include <nitro.h>
10 
11 void    test1(void);
12 void    test2(void);
13 void    test3(void);
14 
15 #define MYCOSTBUFFER_SIZE 0x3000
16 #define MYSTATBUFFER_SIZE 0x300
17 
18 u32     myCostBuffer[MYCOSTBUFFER_SIZE / sizeof(u32)];
19 u32     myStatBuffer[MYSTATBUFFER_SIZE / sizeof(u32)];
20 //================================================================
21 
22 //----------------------------------------------------------------
23 // test1
24 //
test1(void)25 void test1(void)
26 {
27     test2();
28 }
29 
30 //----------------------------------------------------------------
31 // test2
32 //
test2(void)33 void test2(void)
34 {
35     test3();
36 }
37 
38 //----------------------------------------------------------------
39 // test3
40 //
test3(void)41 void test3(void)
42 {
43     return;
44 }
45 
46 //================================================================================
47 /*---------------------------------------------------------------------------*
48   Name:         NitroMain
49 
50   Description:  main
51 
52   Arguments:    None
53 
54   Returns:      None
55  *---------------------------------------------------------------------------*/
56 #pragma profile off
NitroMain(void)57 void NitroMain(void)
58 {
59     OS_Init();
60     OS_InitTick();
61     (void)OS_EnableIrq();
62 
63     //---- init functionCost
64     OS_InitFunctionCost(&myCostBuffer, MYCOSTBUFFER_SIZE);
65     OS_InitStatistics(&myStatBuffer, MYSTATBUFFER_SIZE);
66 
67     test2();
68     test1();
69     test2();
70     test3();
71 
72     //---- calculate cost
73     OS_CalcStatistics(&myStatBuffer);
74 
75     //---- display functionCost
76     OS_DumpStatistics(&myStatBuffer);
77 
78     OS_Printf("==== Finish sample.\n");
79     OS_Terminate();
80 }
81 
82 /*====== End of main.c ======*/
83