OS_VALIDATE(OS_RESOURCE_CNT,ARRAY_SIZE(resource_list));\r
#endif\r
OS_VALIDATE(OS_TASK_CNT ,ARRAY_SIZE( Os_TaskConstList));\r
-#if (OS_RESOURCE_CNT!=0)\r
+#if (OS_ALARM_CNT!=0)\r
OS_VALIDATE(OS_ALARM_CNT,ARRAY_SIZE(alarm_list));\r
#endif\r
#if (OS_SCHTBL_CNT!=0)\r
/* ----------------------------[public functions]----------------------------*/\r
\r
extern uint32_t McuE_GetSystemClock( void );\r
-extern OsTickType OsTickFreq;\r
\r
\r
/**\r
}\r
#endif\r
\r
-#define TEST_DATA 12345\r
-int test_data = TEST_DATA;\r
-int test_bss = 0;\r
+#define TEST_DATA 0x12345\r
+#define TEST_SDATA2 0x3344\r
+volatile uint32_t test_data = TEST_DATA;\r
+volatile uint32_t test_bss = 0;\r
+/* Define if compiler is set to use small data section */\r
+/* #define CC_USE_SMALL_DATA */\r
\r
+#if defined(CFG_PPC) && defined(__CWCC__)\r
+/* Note! It does not matter if the data is initialized to 0,\r
+ * it still sbss2.
+ */\r
+#if defined(CC_USE_SMALL_DATA)\r
+volatile const int test_sbss2;\r
+#endif\r
+/* Initialized small data */\r
+volatile const int test_sdata2 = TEST_SDATA2;\r
\r
-void noooo( void ) {\r
- while(1);\r
-}\r
+#endif\r
+\r
+\r
+#define BAD_LINK_FILE() while(1) {}\r
\r
extern void EcuM_Init();\r
int main( void )\r
{\r
+ /* Check link file */\r
+ if (TEST_DATA != test_data) {\r
+ BAD_LINK_FILE();\r
+ }\r
+\r
+ if (test_bss != 0) {\r
+ BAD_LINK_FILE();\r
+ }\r
+\r
+#if defined(CFG_PPC) && defined(__CWCC__)\r
+ /* check sdata2 */\r
+ if (test_sdata2 != TEST_SDATA2) {\r
+ BAD_LINK_FILE();\r
+ }\r
+#endif\r
+\r
+#if defined(CC_USE_SMALL_DATA) && defined(CFG_PPC) && defined(__CWCC__)\r
+ /* check sdata2 */\r
+ if (test_sbss2 != 0) {\r
+ BAD_LINK_FILE();\r
+ }\r
+#endif\r
+\r
EcuM_Init();\r
\r
}\r
*/\r
void StartOS(AppModeType Mode) {\r
\r
- /* Check link file */\r
- if (TEST_DATA != test_data) {\r
- noooo();\r
- }\r
-\r
- if (test_bss != 0) {\r
- noooo();\r
- }\r
-\r
Os_Sys.appMode = Mode;\r
\r
Os_CfgValidate();\r