]> rtime.felk.cvut.cz Git - arc.git/commitdiff
Cleanup of some drivers. Re-generated examples for mpc551xsim
authormahi <devnull@localhost>
Wed, 25 May 2011 09:25:02 +0000 (11:25 +0200)
committermahi <devnull@localhost>
Wed, 25 May 2011 09:25:02 +0000 (11:25 +0200)
14 files changed:
arch/ppc/mpc55xx/drivers/Can.c
arch/ppc/mpc55xx/drivers/Mcu.c
arch/ppc/mpc55xx/drivers/sys_tick.c
boards/mpc551xsim/examples/kernel_extra/Os_Cfg.c
boards/mpc551xsim/examples/kernel_extra/Os_Cfg.h
boards/mpc551xsim/examples/kernel_extra/kernel_extra.arxml
boards/mpc551xsim/examples/schedule_table/Os_Cfg.c
boards/mpc551xsim/examples/schedule_table/Os_Cfg.h
boards/mpc551xsim/examples/schedule_table/schedule_table.arxml
boards/mpc551xsim/examples/simple/Os_Cfg.c
boards/mpc551xsim/examples/simple/Os_Cfg.h
boards/mpc551xsim/examples/simple/simple_ppc.arxml
examples/build_example.mk
system/kernel/init.c

index 1b3d7350fd8435f0a60239c6e48f36ef1d47e988..f0a75b6a12e5499d4c4aefbc083bb8085913916e 100644 (file)
  * -------------------------------- Arctic Core ------------------------------*/\r
 \r
 \r
-\r
-\r
-\r
-\r
-\r
-\r
 #include "Can.h"\r
-\r
-#ifndef USE_CAN_STUB\r
 #include "mpc55xx.h"\r
 #include "Cpu.h"\r
 #include "Mcu.h"\r
 #include <assert.h>\r
 #include <stdlib.h>\r
 #include <string.h>\r
-#if defined(USE_KERNEL)\r
 #include "Os.h"\r
+#include "isr.h"\r
 #include "irq.h"\r
 #include "arc.h"\r
-#endif\r
+\r
 \r
 \r
 /* CONFIGURATION NOTES\r
@@ -283,47 +275,30 @@ typedef struct {
 \r
 } Can_UnitType;\r
 \r
-#if defined(CFG_MPC5567)\r
+\r
 Can_UnitType CanUnit[CAN_CONTROLLER_CNT] =\r
 {\r
   {\r
     .state = CANIF_CS_UNINIT,\r
   },{\r
     .state = CANIF_CS_UNINIT,\r
-  },{\r
-    .state = CANIF_CS_UNINIT,\r
-  },{\r
-    .state = CANIF_CS_UNINIT,\r
-  },{\r
-    .state = CANIF_CS_UNINIT,\r
   },\r
-};\r
-#elif defined(CFG_MPC5606S)\r
-Can_UnitType CanUnit[CAN_CONTROLLER_CNT] ={\r
-  {\r
-       .state = CANIF_CS_UNINIT,\r
-  },{\r
-       .state = CANIF_CS_UNINIT,\r
-  }\r
-};\r
-#else\r
-Can_UnitType CanUnit[CAN_CONTROLLER_CNT] =\r
-{\r
+#if defined(MPC5516) || defined(MPC5517) ||  defined(CFG_MPC5567)\r
   {\r
     .state = CANIF_CS_UNINIT,\r
   },{\r
     .state = CANIF_CS_UNINIT,\r
   },{\r
     .state = CANIF_CS_UNINIT,\r
-  },{\r
-    .state = CANIF_CS_UNINIT,\r
-  },{\r
-    .state = CANIF_CS_UNINIT,\r
-  },{\r
+  },\r
+#endif\r
+#if defined(MPC5516) || defined(MPC5517)\r
+  {\r
     .state = CANIF_CS_UNINIT,\r
   }\r
-};\r
 #endif\r
+};\r
+\r
 \r
 //-------------------------------------------------------------------\r
 \r
@@ -373,38 +348,35 @@ static void Can_BusOff( int unit );
 \r
 void Can_A_Isr( void  ) {      Can_Isr(CAN_CTRL_A); }\r
 void Can_B_Isr( void  ) {      Can_Isr(CAN_CTRL_B); }\r
-#if !defined(CFG_MPC5606S)\r
+#if defined(MPC5516) || defined(MPC5517) || defined(MPC5567)\r
 void Can_C_Isr( void  ) {      Can_Isr(CAN_CTRL_C); }\r
 void Can_D_Isr( void  ) {      Can_Isr(CAN_CTRL_D); }\r
 void Can_E_Isr( void  ) {      Can_Isr(CAN_CTRL_E); }\r
-#if defined(CFG_MPC5567)\r
-#else\r
-void Can_F_Isr( void  ) {      Can_Isr(CAN_CTRL_F); }\r
 #endif\r
+#if defined(MPC5516) || defined(MPC5517)\r
+void Can_F_Isr( void  ) {      Can_Isr(CAN_CTRL_F); }\r
 #endif\r
 \r
 void Can_A_Err( void  ) {      Can_Err(CAN_CTRL_A); }\r
 void Can_B_Err( void  ) {      Can_Err(CAN_CTRL_B); }\r
-#if !defined(CFG_MPC5606S)\r
+#if defined(MPC5516) || defined(MPC5517) || defined(MPC5567)\r
 void Can_C_Err( void  ) {      Can_Err(CAN_CTRL_C); }\r
 void Can_D_Err( void  ) {      Can_Err(CAN_CTRL_D); }\r
 void Can_E_Err( void  ) {      Can_Err(CAN_CTRL_E); }\r
-#if defined(CFG_MPC5567)\r
-#else\r
-void Can_F_Err( void  ) {      Can_Err(CAN_CTRL_F); }\r
 #endif\r
+#if defined(MPC5516) || defined(MPC5517)\r
+void Can_F_Err( void  ) {      Can_Err(CAN_CTRL_F); }\r
 #endif\r
 \r
 void Can_A_BusOff( void  ) {   Can_BusOff(CAN_CTRL_A); }\r
 void Can_B_BusOff( void  ) {   Can_BusOff(CAN_CTRL_B); }\r
-#if !defined(CFG_MPC5606S)\r
+#if defined(MPC5516) || defined(MPC5517) || defined(MPC5567)\r
 void Can_C_BusOff( void  ) {   Can_BusOff(CAN_CTRL_C); }\r
 void Can_D_BusOff( void  ) {   Can_BusOff(CAN_CTRL_D); }\r
 void Can_E_BusOff( void  ) {   Can_BusOff(CAN_CTRL_E); }\r
-#if defined(CFG_MPC5567)\r
-#else\r
-void Can_F_BusOff( void  ) {   Can_BusOff(CAN_CTRL_F); }\r
 #endif\r
+#if defined(MPC5516) || defined(MPC5517)\r
+void Can_F_BusOff( void  ) {   Can_BusOff(CAN_CTRL_F); }\r
 #endif\r
 //-------------------------------------------------------------------\r
 \r
@@ -573,8 +545,10 @@ static void Can_Isr(int unit) {
         // Clear the interrupt\r
         canHw->IFRL.B.BUF05I = 1;\r
       }\r
-    } else {\r
+    } else\r
 #endif\r
+    {\r
+\r
       // No FIFO used\r
       const Can_HardwareObjectType *hohObj;\r
       uint32 mbMask;\r
@@ -657,9 +631,7 @@ static void Can_Isr(int unit) {
           }\r
         }\r
       } while ( !hohObj->Can_Arc_EOL);\r
-#if defined(CFG_MPC5516) || defined(CFG_MPC5517) || defined(CFG_MPC5606S)\r
     } // FIFO code\r
-#endif\r
   } else {\r
     // Note! Over 32 boxes is not implemented\r
     // Other reasons that we end up here\r
@@ -694,33 +666,22 @@ static void Can_Isr(int unit) {
 \r
 //-------------------------------------------------------------------\r
 \r
-#if defined(USE_KERNEL)\r
-#define INSTALL_HANDLERS( _can_name,_boff,_err,_start,_stop) \\r
-  do { \\r
-    TaskType tid; \\r
-    tid = Os_Arc_CreateIsr(_can_name ## _BusOff,2/*prio*/,"Can"); \\r
-    Irq_AttachIsr2(tid, NULL, (IrqType) _boff); \\r
-    tid = Os_Arc_CreateIsr(_can_name ## _Err,2/*prio*/,"Can"); \\r
-    Irq_AttachIsr2(tid, NULL, (IrqType) _err); \\r
-    for(i=_start;i<=_stop;i++) {  \\r
-      tid = Os_Arc_CreateIsr(_can_name ## _Isr,2/*prio*/,"Can"); \\r
-                       Irq_AttachIsr2(tid, NULL, (IrqType) i); \\r
-    } \\r
-  } while(0);\r
-#else\r
-#define INSTALL_HANDLERS( _can_name,_boff,_err,_start,_stop) \\r
-  Irq_InstallVector(_can_name ## _BusOff, _boff, 1, CPU_Z1); \\r
-  Irq_InstallVector(_can_name ## _Err, _err, 1, CPU_Z1);    \\r
-  for(i=_start;i<=_stop;i++) {                                                                                                                         \\r
-    Irq_InstallVector(_can_name ## _Isr, i, 1, CPU_Z1); \\r
-  }\r
-#endif\r
+#define INSTALL_HANDLER4(_name,_can_entry, _vector,_priority,_app)\\r
+               ISR_INSTALL_ISR2(_name,_can_entry, _vector+0,_priority,_app) \\r
+               ISR_INSTALL_ISR2(_name,_can_entry, _vector+1,_priority,_app) \\r
+               ISR_INSTALL_ISR2(_name,_can_entry, _vector+2,_priority,_app) \\r
+               ISR_INSTALL_ISR2(_name,_can_entry, _vector+3,_priority,_app)\r
+\r
+#define INSTALL_HANDLER16(_name,_can_entry, _vector,_priority,_app)\\r
+               INSTALL_HANDLER4(_name,_can_entry, _vector+0,_priority,_app) \\r
+               INSTALL_HANDLER4(_name,_can_entry, _vector+4,_priority,_app) \\r
+               INSTALL_HANDLER4(_name,_can_entry, _vector+8,_priority,_app) \\r
+               INSTALL_HANDLER4(_name,_can_entry, _vector+12,_priority,_app)\r
 \r
 // This initiates ALL can controllers\r
 void Can_Init( const Can_ConfigType *config ) {\r
   Can_UnitType *canUnit;\r
   const Can_ControllerConfigType *canHwConfig;\r
-  int i;\r
   uint32 ctlrId;\r
 \r
   VALIDATE_NO_RV( (Can_Global.initRun == CAN_UNINIT), 0x0, CAN_E_TRANSITION );\r
@@ -768,51 +729,50 @@ void Can_Init( const Can_ConfigType *config ) {
     // Note!\r
     // Could install handlers depending on HW objects to trap more errors\r
     // in configuration\r
-#if defined(CFG_MPC5567)\r
-    switch( canHwConfig->CanControllerId ) {\r
-    case CAN_CTRL_A:\r
-        INSTALL_HANDLERS(Can_A, FLEXCAN_A_ESR_BOFF_INT, FLEXCAN_A_ESR_ERR_INT, FLEXCAN_A_IFLAG1_BUF0I, FLEXCAN_A_IFLAG1_BUF31_16I);    break;\r
-    case CAN_CTRL_B:\r
-        INSTALL_HANDLERS(Can_B, FLEXCAN_B_ESR_BOFF_INT, FLEXCAN_B_ESR_ERR_INT, FLEXCAN_B_IFLAG1_BUF0I, FLEXCAN_B_IFLAG1_BUF31_16I);    break;\r
-    case CAN_CTRL_C:\r
-        INSTALL_HANDLERS(Can_C, FLEXCAN_C_ESR_BOFF_INT, FLEXCAN_C_ESR_ERR_INT, FLEXCAN_C_IFLAG1_BUF0I, FLEXCAN_C_IFLAG1_BUF31_16I);    break;\r
-    case CAN_CTRL_D:\r
-        INSTALL_HANDLERS(Can_D, FLEXCAN_D_ESR_BOFF_INT, FLEXCAN_D_ESR_ERR_INT, FLEXCAN_D_IFLAG1_BUF0I, FLEXCAN_D_IFLAG1_BUF31_16I);    break;\r
-    case CAN_CTRL_E:\r
-        INSTALL_HANDLERS(Can_E, FLEXCAN_E_ESR_BOFF_INT, FLEXCAN_E_ESR_ERR_INT, FLEXCAN_E_IFLAG1_BUF0I, FLEXCAN_E_IFLAG1_BUF31_16I);    break;\r
-    default:\r
-        assert(0);\r
-    }\r
-#elif defined(CFG_MPC5606S)\r
-    switch( canHwConfig->CanControllerId )\r
-    {\r
-        case CAN_CTRL_A:\r
-            INSTALL_HANDLERS(Can_A, FLEXCAN_0_ESR_BOFF_INT, FLEXCAN_0_ESR_ERR_INT, FLEXCAN_0_BUF_00_03, FLEXCAN_0_BUF_32_63);\r
-            break;\r
-        case CAN_CTRL_B:\r
-            INSTALL_HANDLERS(Can_B, FLEXCAN_1_ESR_BOFF_INT, FLEXCAN_1_ESR_ERR_INT, FLEXCAN_1_BUF_00_03, FLEXCAN_1_BUF_32_63);\r
-            break;\r
-        default:\r
-            assert(0);\r
-    }\r
-#else\r
     switch( canHwConfig->CanControllerId ) {\r
-    case CAN_CTRL_A:\r
-        INSTALL_HANDLERS(Can_A, FLEXCAN_A_ESR_BOFF_INT, FLEXCAN_A_ESR_ERR_INT, FLEXCAN_A_IFLAG1_BUF0I, FLEXCAN_A_IFLAG1_BUF31_16I);    break;\r
-    case CAN_CTRL_B:\r
-        INSTALL_HANDLERS(Can_B, FLEXCAN_B_ESR_BOFF_INT, FLEXCAN_B_ESR_ERR_INT, FLEXCAN_B_IFLAG1_BUF0I, FLEXCAN_B_IFLAG1_BUF31_16I);    break;\r
-    case CAN_CTRL_C:\r
-        INSTALL_HANDLERS(Can_C, FLEXCAN_C_ESR_BOFF_INT, FLEXCAN_C_ESR_ERR_INT, FLEXCAN_C_IFLAG1_BUF0I, FLEXCAN_C_IFLAG1_BUF31_16I);    break;\r
-    case CAN_CTRL_D:\r
-        INSTALL_HANDLERS(Can_D, FLEXCAN_D_ESR_BOFF_INT, FLEXCAN_D_ESR_ERR_INT, FLEXCAN_D_IFLAG1_BUF0I, FLEXCAN_D_IFLAG1_BUF31_16I);    break;\r
-    case CAN_CTRL_E:\r
-        INSTALL_HANDLERS(Can_E, FLEXCAN_E_ESR_BOFF_INT, FLEXCAN_E_ESR_ERR_INT, FLEXCAN_E_IFLAG1_BUF0I, FLEXCAN_E_IFLAG1_BUF31_16I);    break;\r
-    case CAN_CTRL_F:\r
-        INSTALL_HANDLERS(Can_F, FLEXCAN_F_ESR_BOFF_INT, FLEXCAN_F_ESR_ERR_INT, FLEXCAN_F_IFLAG1_BUF0I, FLEXCAN_F_IFLAG1_BUF31_16I);    break;\r
-    default:\r
-        assert(0);\r
-    }\r
+     case CAN_CTRL_A:\r
+       ISR_INSTALL_ISR2(  "Can", Can_A_BusOff, FLEXCAN_A_ESR_BOFF_INT,     2, 0);\r
+       ISR_INSTALL_ISR2(  "Can", Can_A_Err,    FLEXCAN_A_ESR_ERR_INT,      2, 0 );\r
+       INSTALL_HANDLER16( "Can", Can_A_Isr,    FLEXCAN_A_IFLAG1_BUF0I,     2, 0 );\r
+       ISR_INSTALL_ISR2(  "Can", Can_A_Isr,    FLEXCAN_A_IFLAG1_BUF31_16I, 2, 0 );\r
+       break;\r
+     case CAN_CTRL_B:\r
+       ISR_INSTALL_ISR2(  "Can", Can_B_BusOff, FLEXCAN_B_ESR_BOFF_INT,     2, 0 );\r
+       ISR_INSTALL_ISR2(  "Can", Can_B_Err,    FLEXCAN_B_ESR_ERR_INT,      2, 0 );\r
+       INSTALL_HANDLER16( "Can", Can_B_Isr,    FLEXCAN_B_IFLAG1_BUF0I,     2, 0 );\r
+       ISR_INSTALL_ISR2(  "Can", Can_B_Isr,    FLEXCAN_B_IFLAG1_BUF31_16I, 2, 0 );\r
+       break;\r
+#if defined(CFG_MPC5516) || defined(CFG_MPC5517) || defined(MPC5567)\r
+     case CAN_CTRL_C:\r
+       ISR_INSTALL_ISR2(  "Can", Can_C_BusOff, FLEXCAN_C_ESR_BOFF_INT,     2, 0 );\r
+       ISR_INSTALL_ISR2(  "Can", Can_C_Err,    FLEXCAN_C_ESR_ERR_INT,      2, 0 );\r
+       INSTALL_HANDLER16( "Can", Can_C_Isr,    FLEXCAN_C_IFLAG1_BUF0I,     2, 0 );\r
+       ISR_INSTALL_ISR2(  "Can", Can_C_Isr,    FLEXCAN_C_IFLAG1_BUF31_16I, 2, 0 );\r
+       break;\r
+     case CAN_CTRL_D:\r
+       ISR_INSTALL_ISR2(  "Can", Can_D_BusOff, FLEXCAN_D_ESR_BOFF_INT,     2, 0 );\r
+       ISR_INSTALL_ISR2(  "Can", Can_D_Err,    FLEXCAN_D_ESR_ERR_INT,      2, 0 );\r
+       INSTALL_HANDLER16( "Can", Can_D_Isr,    FLEXCAN_D_IFLAG1_BUF0I,     2, 0 );\r
+       ISR_INSTALL_ISR2(  "Can", Can_D_Isr,    FLEXCAN_D_IFLAG1_BUF31_16I, 2, 0 );\r
+       break;\r
+     case CAN_CTRL_E:\r
+       ISR_INSTALL_ISR2(  "Can", Can_E_BusOff, FLEXCAN_E_ESR_BOFF_INT,     2, 0 );\r
+       ISR_INSTALL_ISR2(  "Can", Can_E_Err,    FLEXCAN_E_ESR_ERR_INT,      2, 0 );\r
+       INSTALL_HANDLER16( "Can", Can_E_Isr,    FLEXCAN_E_IFLAG1_BUF0I,     2, 0 );\r
+       ISR_INSTALL_ISR2(  "Can", Can_E_Isr,    FLEXCAN_E_IFLAG1_BUF31_16I, 2, 0 );\r
+       break;\r
 #endif\r
+#if defined(CFG_MPC5516) || defined(CFG_MPC5517)\r
+     case CAN_CTRL_F:\r
+       ISR_INSTALL_ISR2(  "Can", Can_F_BusOff, FLEXCAN_F_ESR_BOFF_INT,     2, 0 );\r
+       ISR_INSTALL_ISR2(  "Can", Can_F_Err,    FLEXCAN_F_ESR_ERR_INT,      2, 0 );\r
+       INSTALL_HANDLER16( "Can", Can_F_Isr,    FLEXCAN_F_IFLAG1_BUF0I,     2, 0 );\r
+       ISR_INSTALL_ISR2(  "Can", Can_F_Isr,    FLEXCAN_F_IFLAG1_BUF31_16I, 2, 0 );\r
+       break;\r
+ #endif\r
+     default:\r
+         assert(0);\r
+     }\r
   }\r
   return;\r
 }\r
@@ -1284,68 +1244,3 @@ void Can_Arc_GetStatistics( uint8 controller, Can_Arc_StatisticsType *stats)
 \r
 \r
 \r
-#else // Stub all functions for use in simulator environment\r
-\r
-#include "debug.h"\r
-\r
-void Can_Init( const Can_ConfigType *Config )\r
-{\r
-  // Do initial configuration of layer here\r
-}\r
-\r
-void Can_InitController( uint8 controller, const Can_ControllerConfigType *config)\r
-{\r
-       // Do initialisation of controller here.\r
-}\r
-\r
-Can_ReturnType Can_SetControllerMode( uint8 Controller, Can_StateTransitionType transition )\r
-{\r
-       // Turn on off controller here depending on transition\r
-       return E_OK;\r
-}\r
-\r
-Can_ReturnType Can_Write( Can_Arc_HTHType hth, Can_PduType *pduInfo )\r
-{\r
-       // Write to mailbox on controller here.\r
-       DEBUG(DEBUG_MEDIUM, "Can_Write(stub): Received data ");\r
-       for (int i = 0; i < pduInfo->length; i++) {\r
-               DEBUG(DEBUG_MEDIUM, "%d ", pduInfo->sdu[i]);\r
-       }\r
-       DEBUG(DEBUG_MEDIUM, "\n");\r
-\r
-       return E_OK;\r
-}\r
-\r
-extern void CanIf_RxIndication(uint8 Hrh, Can_IdType CanId, uint8 CanDlc, const uint8 *CanSduPtr);\r
-Can_ReturnType Can_ReceiveAFrame()\r
-{\r
-       // This function is not part of autosar but needed to feed the stack with data\r
-       // from the mailboxes. Normally this is an interrup but probably not in the PCAN case.\r
-       uint8 CanSduData[] = {1,2,1,0,0,0,0,0};\r
-       CanIf_RxIndication(CAN_HRH_A_1, 3, 8, CanSduData);\r
-\r
-       return E_OK;\r
-}\r
-\r
-void Can_DisableControllerInterrupts( uint8 controller )\r
-{\r
-}\r
-\r
-void Can_EnableControllerInterrupts( uint8 controller )\r
-{\r
-}\r
-\r
-\r
-// Hth - for Flexcan, the hardware message box number... .We don't care\r
-void Can_Cbk_CheckWakeup( uint8 controller ){}\r
-\r
-void Can_MainFunction_Write( void ){}\r
-void Can_MainFunction_Read( void ){}\r
-void Can_MainFunction_BusOff( void ){}\r
-void Can_MainFunction_Wakeup( void ){}\r
-\r
-void Can_Arc_GetStatistics( uint8 controller, Can_Arc_StatisticsType * stat){}\r
-\r
-#endif\r
-\r
-\r
index f914eedba43e6af6493ea0ea7c9f7c1da881ea7f..8b0fcd487bfe3e47992964c5ea0d91eba3ca24e2 100644 (file)
@@ -102,7 +102,6 @@ Mcu_GlobalType Mcu_Global =
 /* ----------------------------[private functions]---------------------------*/\r
 /* ----------------------------[public functions]----------------------------*/\r
 \r
-static void Mcu_LossOfLock( void  ){\r
 /**\r
  * ISR wh\r
  */\r
@@ -128,9 +127,7 @@ void Mcu_LossOfLock( void  ) {
 \r
 /**\r
  */\r
-void Mcu_LossOfClock( void  ) {\r
-\r
-static void Mcu_LossOfCLock( void  ){\r
+static void Mcu_LossOfClock( void  ){\r
        /* Should report MCU_E_CLOCK_FAILURE with DEM here */\r
 #if defined(CFG_MPC5606S)\r
        /*not support*/\r
@@ -304,14 +301,16 @@ void Mcu_Init(const Mcu_ConfigType *configPtr) {
 #if defined(CFG_MPC5606S)\r
        /*not support*/\r
 #else\r
-       Irq_AttachIsr1(Mcu_LossOfLock, NULL, PLL_SYNSR_LOLF,10 );\r
+       ISR_INSTALL_ISR1("LossOfLock", Mcu_LossOfLock, PLL_SYNSR_LOLF, 10 , 0 );\r
+//     Irq_AttachIsr1(Mcu_LossOfLock, NULL, PLL_SYNSR_LOLF,10 );\r
 //             Irq_AttachIsr1(Mcu_LossOfLock, NULL, PLL_SYNSR_LOLF, 10);\r
 #if defined(CFG_MPC5516)\r
        FMPLL.ESYNCR2.B.LOLIRQ = 1;\r
 #elif defined(CFG_MPC5554) || defined(CFG_MPC5567)\r
        FMPLL.SYNCR.B.LOLIRQ = 1;\r
 #endif\r
-       Irq_AttachIsr1(Mcu_LossOfCLock, NULL, PLL_SYNSR_LOCF,10 );\r
+       ISR_INSTALL_ISR1("LossOfClock", Mcu_LossOfClock, PLL_SYNSR_LOLF, 10 , 0 );\r
+//     Irq_AttachIsr1(Mcu_LossOfCLock, NULL, PLL_SYNSR_LOCF,10 );\r
 //             IRQ_ATTACH( PLL_SYNSR_LOLF );\r
 //             Irq_Attach( &IRQ_NAME(PLL_SYNSR_LOLF));\r
 //             Irq_AttachIsr1(Mcu_LossOfClock, NULL, PLL_SYNSR_LOCF, 10);\r
@@ -376,6 +375,8 @@ Std_ReturnType Mcu_InitClock(const Mcu_ClockType ClockSetting)
     assert(clockSettingsPtr->Pll2 < 16);\r
     assert(clockSettingsPtr->Pll1 <= 4);\r
     assert(clockSettingsPtr->Pll3 < 8);\r
+#else\r
+#error CPU not defined\r
 #endif\r
 \r
 #if defined(USE_LDEBUG_PRINTF)\r
@@ -449,6 +450,8 @@ Std_ReturnType Mcu_InitClock(const Mcu_ClockType ClockSetting)
     while (Mcu_GetPllStatus() != MCU_PLL_LOCKED) ;\r
 \r
     FMPLL.SYNCR.B.LOLIRQ       = 1;\r
+#else\r
+#error CPU not defined\r
 #endif\r
 \r
     return E_OK;\r
index 2e2ce6237dfc6263b8bff55133da82d2eec2cf05..684eb079c663350d51935c5b32a7a27a2e377e00 100644 (file)
 \r
 #include "Os.h"\r
 #include "internal.h"\r
+#include "isr.h"\r
 #include "irq.h"\r
 #include "arc.h"\r
 #include "irq_types.h"\r
+#include "counter_i.h"\r
 \r
 /**\r
  * Init of free running timer.\r
  */\r
-       ISR_INSTALL_ISR2( "OsTick", OsTick, INTC_SSCIR0_CLR7, 6, 0 );\r
-\r
 extern void OsTick( void );\r
 extern OsTickType OsTickFreq;\r
+\r
 void Os_SysTickInit( void ) {\r
-       TaskType tid;\r
-       tid = ISR_INSTALL_ISR2( "OsTick", OsTick, _vector, 6/*prio*/, 0 );\r
 #if defined(CFG_MPC5606S)\r
-       Irq_AttachIsr2(tid, NULL, RTC_INT);  /* Attach ISR2 to RTC interrupt */\r
+       ISR_INSTALL_ISR2("OsTick",OsTick,RTC_INT,6,0);\r
 #else\r
-       Irq_AttachIsr2(tid, NULL, 7);  /* Attach ISR2 to INTC_SSCIR0_CLR7  */\r
+       ISR_INSTALL_ISR2("OsTick",OsTick,INTC_SSCIR0_CLR7,6,0);\r
 #endif\r
 }\r
 \r
index ae357d423737c562b50598c900b8c7c248d24bf8..35611de197406b058c5b09a0bca527c46719b67e 100644 (file)
@@ -7,10 +7,10 @@
 * Configured for (MCU):    MPC551x\r
 *\r
 * Module vendor:           ArcCore\r
-* Generator version:       2.0.29\r
+* Generator version:       2.0.34\r
 *\r
 * Generated by Arctic Studio (http://arccore.com) \r
-*           on Fri Apr 15 17:18:12 CEST 2011\r
+*           on Tue May 24 22:44:40 CEST 2011\r
 */\r
 \r
        \r
@@ -59,11 +59,12 @@ GEN_COUNTER_HEAD = {
                                        1,\r
                                        0,\r
                                        APPLICATION_ID_OsApplication1,  /* Application owner */\r
-                                       0       /* Accessing application mask */\r
+                                       1       /* Accessing application mask */\r
                                ),\r
 };\r
 \r
-CounterType Os_Arc_OsTickCounter = COUNTER_ID_Counter1;\r
+       CounterType Os_Arc_OsTickCounter = COUNTER_ID_Counter1;\r
+\r
 \r
 // ##################################    ALARMS     ################################\r
 \r
@@ -77,7 +78,7 @@ GEN_ALARM_HEAD = {
                                0,\r
                                0,\r
                                APPLICATION_ID_OsApplication1,  /* Application owner */\r
-                               0       /* Accessing application mask */\r
+                               1       /* Accessing application mask */\r
                        ),\r
 };\r
 \r
@@ -88,12 +89,14 @@ GEN_RESOURCE_HEAD = {
                RESOURCE_TYPE_STANDARD,\r
                0,\r
                APPLICATION_ID_OsApplication1,  /* Application owner */\r
-               0       /* Accessing application mask */\r
+               1       /* Accessing application mask */\r
        ),\r
 };\r
 \r
 // ##############################    STACKS (TASKS)     ############################\r
+\r
 DECLARE_STACK(OsIdle,OS_OSIDLE_STACK_SIZE);\r
+\r
 DECLARE_STACK(bTask,1024);\r
 DECLARE_STACK(eTask1,1024);\r
 \r
@@ -108,7 +111,7 @@ GEN_TASK_HEAD = {
                                /* resource mask        */0,\r
                                /* activation lim.      */1,\r
                                /* App owner            */0,\r
-                               /* Accessing apps   */0 \r
+                               /* Accessing apps   */1 \r
        ),\r
        GEN_BTASK(\r
                /*                              */bTask,\r
@@ -120,7 +123,7 @@ GEN_TASK_HEAD = {
                /* resource mask        */RES_MASK_Resource1 | 0,\r
                /* activation lim.      */1,\r
                /* App owner            */APPLICATION_ID_OsApplication1,\r
-               /* Accessing apps   */0\r
+               /* Accessing apps   */1\r
        ),                      \r
        GEN_ETASK(\r
                /*                              */eTask1,\r
@@ -132,7 +135,7 @@ GEN_TASK_HEAD = {
                /* resource mask        */RES_MASK_Resource1 | 0,\r
                /* event mask           */1,\r
                /* App owner            */APPLICATION_ID_OsApplication1,\r
-               /* Accessing apps   */0\r
+               /* Accessing apps   */1\r
        ),                      \r
 };\r
 \r
index 9a398e9801e67b0b04004211c2052ff3975b03b8..57120927747a2ef6742c4977896c186ae667145b 100644 (file)
@@ -7,10 +7,10 @@
 * Configured for (MCU):    MPC551x\r
 *\r
 * Module vendor:           ArcCore\r
-* Generator version:       2.0.29\r
+* Generator version:       2.0.34\r
 *\r
 * Generated by Arctic Studio (http://arccore.com) \r
-*           on Fri Apr 15 17:18:12 CEST 2011\r
+*           on Tue May 24 22:44:40 CEST 2011\r
 */\r
 \r
 
 // Counter Id's\r
 #define COUNTER_ID_Counter1    0\r
 \r
+// System counter\r
+#define OSMAXALLOWEDVALUE              UINT_MAX// NOT CONFIGURABLE IN TOOLS\r
+#define OSTICKSPERBASE                 1       // NOT CONFIGURABLE IN TOOLS\r
+#define OSMINCYCLE                             1               // NOT CONFIGURABLE IN TOOLS\r
+#define OSTICKDURATION                 1000000    // Time between ticks in nano seconds\r
+\r
 // Counter macros\r
-#define OSMAXALLOWEDVALUE_Counter1 65535\r
+#define OSMAXALLOWEDVALUE_Counter1             OSMAXALLOWEDVALUE\r
+#define OSTICKSPERBASE_Counter1                        1 // NOT CONFIGURABLE IN TOOLS\r
+#define OSMINCYCLE_Counter1                            1\r
+#define OS_TICKS2SEC_Counter1(_ticks)          ( (OSTICKDURATION * _ticks * OSTICKSPERBASE_Counter1)/1000000000UL )\r
+#define OS_TICKS2MS_Counter1(_ticks)           ( (OSTICKDURATION * _ticks * OSTICKSPERBASE_Counter1)/1000000UL )\r
+#define OS_TICKS2US_Counter1(_ticks)           ( (OSTICKDURATION * _ticks * OSTICKSPERBASE_Counter1)/1000UL )\r
+#define OS_TICKS2NS_Counter1(_ticks)           (OSTICKDURATION * _ticks * OSTICKSPERBASE_Counter1)\r
+\r
 \r
 \r
 // Event masks\r
@@ -55,6 +68,7 @@
 \r
 // Task Id's\r
 #define TASK_ID_OsIdle 0\r
+\r
 #define TASK_ID_bTask  1\r
 #define TASK_ID_eTask1 2\r
 \r
@@ -99,5 +113,7 @@ void eTask1( void );
 \r
 #define OS_ISR_MAX_CNT         10\r
 \r
+#define OS_NUM_CORES           1\r
+\r
 \r
 #endif /*OS_CFG_H_*/\r
index 2e535c9e95e30592a6141458efd42f7422ba7c4d..7475d23e5704539b27984cb190ab0f284eb4a4d5 100644 (file)
@@ -13,7 +13,7 @@
             <SDGS>\r
               <SDG GID="Arccore::EcuOptions">\r
                 <SD GID="MCU">MPC551x</SD>\r
-                <SD GID="GENDIR">/arc_isr/boards/mpc551xsim/examples/kernel_extra</SD>\r
+                <SD GID="GENDIR">${fileDir}</SD>\r
               </SDG>\r
             </SDGS>\r
           </ADMIN-DATA>\r
                   <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsOS/ArcOsIsrMaxCount</DEFINITION-REF>\r
                   <VALUE>10</VALUE>\r
                 </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsOS/OsNumberOfCores</DEFINITION-REF>\r
+                  <VALUE>1</VALUE>\r
+                </INTEGER-VALUE>\r
               </PARAMETER-VALUES>\r
               <SUB-CONTAINERS>\r
                 <CONTAINER UUID="f0b0df2f-50ec-44b5-9a8b-810bc2e5eba4">\r
index d9ce0e16c5c78a39f85967bdc27ed56c45a5b558..a069a7ad7a1f6e544de5d235a1a71124acf31013 100644 (file)
@@ -7,10 +7,10 @@
 * Configured for (MCU):    MPC551x\r
 *\r
 * Module vendor:           ArcCore\r
-* Generator version:       2.0.29\r
+* Generator version:       2.0.34\r
 *\r
 * Generated by Arctic Studio (http://arccore.com) \r
-*           on Fri Apr 15 17:18:06 CEST 2011\r
+*           on Tue May 24 22:45:11 CEST 2011\r
 */\r
 \r
        \r
@@ -56,18 +56,21 @@ GEN_COUNTER_HEAD = {
                                        1,\r
                                        0,\r
                                        APPLICATION_ID_OsApplication1,  /* Application owner */\r
-                                       0       /* Accessing application mask */\r
+                                       1       /* Accessing application mask */\r
                                ),\r
 };\r
 \r
-CounterType Os_Arc_OsTickCounter = COUNTER_ID_Counter1;\r
+       CounterType Os_Arc_OsTickCounter = COUNTER_ID_Counter1;\r
+\r
 \r
 // ##################################    ALARMS     ################################\r
 \r
 // ################################    RESOURCES     ###############################\r
 \r
 // ##############################    STACKS (TASKS)     ############################\r
+\r
 DECLARE_STACK(OsIdle,OS_OSIDLE_STACK_SIZE);\r
+\r
 DECLARE_STACK(bTask3,2048);\r
 DECLARE_STACK(eTask1,2048);\r
 DECLARE_STACK(eTask2,2048);\r
@@ -83,7 +86,7 @@ GEN_TASK_HEAD = {
                                /* resource mask        */0,\r
                                /* activation lim.      */1,\r
                                /* App owner            */0,\r
-                               /* Accessing apps   */0 \r
+                               /* Accessing apps   */1 \r
        ),\r
        GEN_BTASK(\r
                /*                              */bTask3,\r
@@ -95,7 +98,7 @@ GEN_TASK_HEAD = {
                /* resource mask        */0,\r
                /* activation lim.      */1,\r
                /* App owner            */APPLICATION_ID_OsApplication1,\r
-               /* Accessing apps   */0\r
+               /* Accessing apps   */1\r
        ),                      \r
        GEN_ETASK(\r
                /*                              */eTask1,\r
@@ -107,7 +110,7 @@ GEN_TASK_HEAD = {
                /* resource mask        */0,\r
                /* event mask           */1,\r
                /* App owner            */APPLICATION_ID_OsApplication1,\r
-               /* Accessing apps   */0\r
+               /* Accessing apps   */1\r
        ),                      \r
        GEN_ETASK(\r
                /*                              */eTask2,\r
@@ -119,7 +122,7 @@ GEN_TASK_HEAD = {
                /* resource mask        */0,\r
                /* event mask           */1,\r
                /* App owner            */APPLICATION_ID_OsApplication1,\r
-               /* Accessing apps   */0\r
+               /* Accessing apps   */1\r
        ),                      \r
 };\r
 \r
@@ -144,32 +147,26 @@ GEN_ISR_MAP = {
 // Table data ScheduleTable_1\r
 \r
 GEN_SCHTBL_TASK_LIST_HEAD( 0, 2 ) { \r
-       \r
        TASK_ID_bTask3,\r
-       \r
 };\r
 \r
 \r
 \r
 \r
 GEN_SCHTBL_EVENT_LIST_HEAD( 0, 4 ) {\r
-       \r
        { \r
                EVENT_MASK_Event1, \r
                TASK_ID_eTask1 \r
        },\r
-       \r
 };\r
 \r
 \r
 \r
 GEN_SCHTBL_EVENT_LIST_HEAD( 0, 8 ) {\r
-       \r
        { \r
                EVENT_MASK_Event2, \r
                TASK_ID_eTask2 \r
        },\r
-       \r
 };\r
 \r
 \r
@@ -197,7 +194,7 @@ GEN_SCHTBL_HEAD = {
                10,\r
                GEN_SCHTBL_AUTOSTART_NAME(0),\r
                APPLICATION_ID_OsApplication1,  /* Application owner */\r
-               0       /* Accessing application mask */\r
+               1       /* Accessing application mask */\r
        ),\r
 };\r
 \r
index 8eb2003cc7ae50bc80d8203c72a86f0be692372c..4480bff06c8d5c94416fdb55d192879524948e9f 100644 (file)
@@ -7,10 +7,10 @@
 * Configured for (MCU):    MPC551x\r
 *\r
 * Module vendor:           ArcCore\r
-* Generator version:       2.0.29\r
+* Generator version:       2.0.34\r
 *\r
 * Generated by Arctic Studio (http://arccore.com) \r
-*           on Fri Apr 15 17:18:06 CEST 2011\r
+*           on Tue May 24 22:45:11 CEST 2011\r
 */\r
 \r
 
 // Counter Id's\r
 #define COUNTER_ID_Counter1    0\r
 \r
+// System counter\r
+#define OSMAXALLOWEDVALUE              UINT_MAX// NOT CONFIGURABLE IN TOOLS\r
+#define OSTICKSPERBASE                 1       // NOT CONFIGURABLE IN TOOLS\r
+#define OSMINCYCLE                             1               // NOT CONFIGURABLE IN TOOLS\r
+#define OSTICKDURATION                 10000000    // Time between ticks in nano seconds\r
+\r
 // Counter macros\r
-#define OSMAXALLOWEDVALUE_Counter1 65535\r
+#define OSMAXALLOWEDVALUE_Counter1             OSMAXALLOWEDVALUE\r
+#define OSTICKSPERBASE_Counter1                        1 // NOT CONFIGURABLE IN TOOLS\r
+#define OSMINCYCLE_Counter1                            1\r
+#define OS_TICKS2SEC_Counter1(_ticks)          ( (OSTICKDURATION * _ticks * OSTICKSPERBASE_Counter1)/1000000000UL )\r
+#define OS_TICKS2MS_Counter1(_ticks)           ( (OSTICKDURATION * _ticks * OSTICKSPERBASE_Counter1)/1000000UL )\r
+#define OS_TICKS2US_Counter1(_ticks)           ( (OSTICKDURATION * _ticks * OSTICKSPERBASE_Counter1)/1000UL )\r
+#define OS_TICKS2NS_Counter1(_ticks)           (OSTICKDURATION * _ticks * OSTICKSPERBASE_Counter1)\r
+\r
 \r
 \r
 // Event masks\r
@@ -49,6 +62,7 @@
 \r
 // Task Id's\r
 #define TASK_ID_OsIdle 0\r
+\r
 #define TASK_ID_bTask3 1\r
 #define TASK_ID_eTask1 2\r
 #define TASK_ID_eTask2 3\r
@@ -96,5 +110,7 @@ void eTask2( void );
 \r
 #define OS_ISR_MAX_CNT         10\r
 \r
+#define OS_NUM_CORES           1\r
+\r
 \r
 #endif /*OS_CFG_H_*/\r
index e046609b8dccca09d780c4b721da25d7d9138953..6042c537ccdb9dd4da9a479110655bc98ade3eb8 100644 (file)
@@ -13,7 +13,7 @@
             <SDGS>\r
               <SDG GID="Arccore::EcuOptions">\r
                 <SD GID="MCU">MPC551x</SD>\r
-                <SD GID="GENDIR">/arc_isr/boards/mpc551xsim/examples/schedule_table</SD>\r
+                <SD GID="GENDIR">${fileDir}</SD>\r
               </SDG>\r
             </SDGS>\r
           </ADMIN-DATA>\r
                   <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsOS/ArcOsIsrMaxCount</DEFINITION-REF>\r
                   <VALUE>10</VALUE>\r
                 </INTEGER-VALUE>\r
+                <INTEGER-VALUE>\r
+                  <DEFINITION-REF DEST="INTEGER-PARAM-DEF">/ArcCore/Os/OsOS/OsNumberOfCores</DEFINITION-REF>\r
+                  <VALUE>1</VALUE>\r
+                </INTEGER-VALUE>\r
               </PARAMETER-VALUES>\r
               <SUB-CONTAINERS>\r
                 <CONTAINER UUID="18d4afc6-04f9-4c18-885c-1cac6957ff93">\r
index dafcd8684ef77e519d5e25150ef4581a48d30776..d92682a186f2e796f0c6ed1cbe0837fb4f419c3e 100644 (file)
@@ -7,10 +7,10 @@
 * Configured for (MCU):    MPC551x\r
 *\r
 * Module vendor:           ArcCore\r
-* Generator version:       2.0.33\r
+* Generator version:       2.0.34\r
 *\r
 * Generated by Arctic Studio (http://arccore.com) \r
-*           on Mon May 02 17:03:25 CEST 2011\r
+*           on Tue May 24 22:45:30 CEST 2011\r
 */\r
 \r
        \r
@@ -84,6 +84,7 @@ GEN_ALARM_HEAD = {
 // ################################    RESOURCES     ###############################\r
 \r
 // ##############################    STACKS (TASKS)     ############################\r
+\r
 DECLARE_STACK(OsIdle,OS_OSIDLE_STACK_SIZE);\r
 \r
 DECLARE_STACK(bTask3,2048);\r
index 2a198f0b2abef9692917389c88d4da947fecbf89..9ec3bd03d72efcb693baed96bdf7c5a687981525 100644 (file)
@@ -7,10 +7,10 @@
 * Configured for (MCU):    MPC551x\r
 *\r
 * Module vendor:           ArcCore\r
-* Generator version:       2.0.33\r
+* Generator version:       2.0.34\r
 *\r
 * Generated by Arctic Studio (http://arccore.com) \r
-*           on Mon May 02 17:03:25 CEST 2011\r
+*           on Tue May 24 22:45:29 CEST 2011\r
 */\r
 \r
 
 // Counter Id's\r
 #define COUNTER_ID_Counter1    0\r
 \r
+// System counter\r
+#define OSMAXALLOWEDVALUE              UINT_MAX// NOT CONFIGURABLE IN TOOLS\r
+#define OSTICKSPERBASE                 1       // NOT CONFIGURABLE IN TOOLS\r
+#define OSMINCYCLE                             1               // NOT CONFIGURABLE IN TOOLS\r
+#define OSTICKDURATION                 1000000    // Time between ticks in nano seconds\r
+\r
 // Counter macros\r
-#define OSMAXALLOWEDVALUE_Counter1 65535\r
+#define OSMAXALLOWEDVALUE_Counter1             OSMAXALLOWEDVALUE\r
+#define OSTICKSPERBASE_Counter1                        1 // NOT CONFIGURABLE IN TOOLS\r
+#define OSMINCYCLE_Counter1                            1\r
+#define OS_TICKS2SEC_Counter1(_ticks)          ( (OSTICKDURATION * _ticks * OSTICKSPERBASE_Counter1)/1000000000UL )\r
+#define OS_TICKS2MS_Counter1(_ticks)           ( (OSTICKDURATION * _ticks * OSTICKSPERBASE_Counter1)/1000000UL )\r
+#define OS_TICKS2US_Counter1(_ticks)           ( (OSTICKDURATION * _ticks * OSTICKSPERBASE_Counter1)/1000UL )\r
+#define OS_TICKS2NS_Counter1(_ticks)           (OSTICKDURATION * _ticks * OSTICKSPERBASE_Counter1)\r
+\r
 \r
 \r
 // Event masks\r
@@ -50,6 +63,7 @@
 \r
 // Task Id's\r
 #define TASK_ID_OsIdle 0\r
+\r
 #define TASK_ID_bTask3 1\r
 #define TASK_ID_eTask1 2\r
 #define TASK_ID_eTask2 3\r
index 4d38f0c00e722b2a42038fc1e9b1441cd00e1b8f..51e16049b67025efe421268d2043dc389fdccb81 100644 (file)
@@ -13,7 +13,7 @@
             <SDGS>\r
               <SDG GID="Arccore::EcuOptions">\r
                 <SD GID="MCU">MPC551x</SD>\r
-                <SD GID="GENDIR">/arc_isr/boards/mpc551xsim/examples/simple</SD>\r
+                <SD GID="GENDIR">${fileDir}</SD>\r
               </SDG>\r
             </SDGS>\r
           </ADMIN-DATA>\r
index 33cb4a92c62bff1ceda7ad5a84b7840140fa6c79..c35843ea266a232d39ec88e695fc87163163f59e 100644 (file)
@@ -43,6 +43,7 @@ ifneq (${MAKELEVEL},0)
 \r
 VPATH += ..\r
 VPATH += $(ROOTDIR)/examples\r
+VPATH += $(ROOTDIR)/examples/$(example)\r
 inc-y += ..\r
 \r
 ldcmdfile-y = linkscript_$(COMPILER).lcf\r
index bca43bc7e345dde9a9d60105d4e8031c2fa236fa..37a88bee7b2cd0e63467b8dc99bc2a0f7cb1937b 100644 (file)
@@ -105,6 +105,9 @@ void InitOS( void ) {
 \r
        Os_ArchInit();\r
 \r
+       /* Get the numbers defined in the editor */\r
+       Os_Sys.isrCnt = OS_ISR_CNT;\r
+\r
        // Assign pcb list and init ready queue\r
        Os_Sys.pcb_list = Os_TaskVarList;\r
        TAILQ_INIT(& Os_Sys.ready_head);\r