]> rtime.felk.cvut.cz Git - arc.git/commitdiff
EcuM/Mcu integration fixes
authormahi <devnull@localhost>
Thu, 13 Sep 2012 06:12:16 +0000 (08:12 +0200)
committermahi <devnull@localhost>
Thu, 13 Sep 2012 06:12:16 +0000 (08:12 +0200)
arch/generic/linux/drivers/Mcu.c
boards/board_common.mk
boards/generic/EcuM_Callout_Stubs.c
boards/linux/examples/os_simple/config/Mcu_Cfg.h
include/generic/Cpu.h
system/EcuM/EcuM_Generated_Types.h [new file with mode: 0644]
system/EcuM/EcuM_Main.c

index 90017fc802f143ca77fb493ca14e5a65e21d7144..8606538774a6ec728e5e48df64283ce020c1adfa 100644 (file)
@@ -36,6 +36,9 @@ void Mcu_Init(const Mcu_ConfigType *configPtr)
 \r
 }\r
 \r
+void Mcu_SetMode( Mcu_ModeType McuMode ) {\r
+       (void)McuMode;\r
+}\r
 \r
 /**\r
  * Get the system clock in Hz. It calculates the clock from the\r
index f52e4e793d708b77874967b6041c576e47330339..76e7e6ddb3c07fb288980ed158301591cd97e0bc 100644 (file)
@@ -37,7 +37,7 @@ endif
 obj-$(USE_ECUM) += EcuM.o\r
 obj-$(USE_ECUM) += EcuM_Main.o\r
 obj-$(USE_ECUM) += EcuM_PBcfg.o\r
-ifneq ($(filter EcuM_Callout_Stubs.o,$(obj-y)),)\r
+ifeq ($(filter EcuM_Callout_Stubs.o,$(obj-y)),)\r
 obj-$(USE_ECUM) += EcuM_Callout_Stubs.o\r
 endif\r
 obj-$(USE_ECUM)-$(CFG_ECUM_USE_SERVICE_COMPONENT) += EcuM_ServiceComponent.o\r
@@ -61,7 +61,7 @@ inc-$(USE_DMA) += $(ROOTDIR)/$(ARCH_PATH-y)/drivers
 # Mcu\r
 obj-$(USE_MCU) += Mcu.o\r
 obj-$(USE_MCU) += Mcu_Cfg.o\r
-obj-$(USE_MCU) += Mcu_Sleep.o\r
+obj-$(USE_MCU)-$(CFG_PPC) += Mcu_Sleep.o\r
 #obj-$(CFG_MPC55XX)-$(USE_MCU) += Mcu_Exceptions.o\r
 \r
 # Flash\r
index a56f1f289bc7e9b2b03a0dd6fff62c76da6c2409..30680323096ab21ef65ce5219d0a07877361b77f 100644 (file)
 #include "WdgM.h"\r
 #endif\r
 \r
+#define VALIDATE_STATE(_state) \\r
+       do { \\r
+               EcuM_StateType ecuMState;  \\r
+               EcuM_GetState(&ecuMState); \\r
+               assert(ecuMState == (_state) ); \\r
+       } while(0)\r
+\r
+\r
 void EcuM_AL_DriverInitZero(void)\r
 {\r
        Det_Init();/** @req EcuM2783 */\r
@@ -330,3 +338,71 @@ void EcuM_AL_SwitchOff(void)
 {\r
 \r
 }\r
+\r
+void EcuM_CheckWakeup(EcuM_WakeupSourceType source) {\r
+}\r
+\r
+void EcuM_EnableWakeupSources( EcuM_WakeupSourceType source ) {\r
+}\r
+\r
+void EcuM_DisableWakeupSources(EcuM_WakeupSourceType wakeupSource) {\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ *\r
+ *\r
+ * @param wakeupSource\r
+ */\r
+void EcuM_StartWakeupSources(EcuM_WakeupSourceType wakeupSource) {\r
+       VALIDATE_STATE( ECUM_STATE_WAKEUP_VALIDATION );\r
+\r
+}\r
+\r
+\r
+/**\r
+ * Restart drivers..\r
+ */\r
+void EcuM_AL_DriverRestart( void ) {\r
+\r
+       VALIDATE_STATE( ECUM_STATE_WAKEUP_VALIDATION );\r
+\r
+}\r
+\r
+\r
+/**\r
+ *\r
+ * @param wact\r
+ * @return\r
+ */\r
+EcuM_WakeupReactionType EcuM_OnWakeupReaction( EcuM_WakeupReactionType wact ) {\r
+\r
+       VALIDATE_STATE( ECUM_STATE_WAKEUP_REACTION );\r
+\r
+       return wact;\r
+}\r
+\r
+/**\r
+ * Generate RAM hash.\r
+ * We are in ECUM_STATE_SLEEP here.\r
+ *\r
+ */\r
+void EcuM_GenerateRamHash( void ) {\r
+       VALIDATE_STATE( ECUM_STATE_SLEEP );\r
+}\r
+\r
+/**\r
+ * Check RAM hash.\r
+ * We are still in ECUM_STATE_SLEEP here.\r
+ *\r
+ * @return\r
+ */\r
+uint8 EcuM_CheckRamHash( void ) {\r
+       VALIDATE_STATE( ECUM_STATE_SLEEP );\r
+\r
+       return 0;\r
+}\r
+\r
+\r
+\r
index 7379328e9e29685493904106e91ab6de2ad77f83..839ccc8fe520e5990cd6426262e85d1f18b5e6c1 100644 (file)
@@ -22,7 +22,6 @@
 #ifndef MCU_CFG_H_\r
 #define MCU_CFG_H_\r
 \r
-\r
 #define MCU_DEV_ERROR_DETECT   STD_ON \r
 #define MCU_PERFORM_RESET_API  STD_ON\r
 #define MCU_VERSION_INFO_API   STD_ON\r
index 96f358598bca40c268becde8f7253cbdde78a8ae..02ee398a8668e58b0e36e6815f837929735da829 100644 (file)
@@ -33,4 +33,6 @@ typedef uint32_t imask_t;
 #define Irq_SuspendOs()        Irq_Disable()\r
 #define Irq_ResumeOs()                 Irq_Enable()\r
 \r
+#define ilog2(_x)                      __builtin_ffs(_x)\r
+\r
 #endif /* CPU_H */\r
diff --git a/system/EcuM/EcuM_Generated_Types.h b/system/EcuM/EcuM_Generated_Types.h
new file mode 100644 (file)
index 0000000..77f283d
--- /dev/null
@@ -0,0 +1,182 @@
+/*\r
+* Configuration of module: EcuM (EcuM_Generated_Types.h)\r
+*\r
+* Created by:              \r
+* Copyright:               \r
+*\r
+* Configured for (MCU):    MPC551x\r
+*\r
+* Module vendor:           ArcCore\r
+* Generator version:       2.1.9\r
+*\r
+* Generated by Arctic Studio (http://arccore.com) \r
+*/\r
+\r
+
+#if !(((ECUM_SW_MAJOR_VERSION == 2) && (ECUM_SW_MINOR_VERSION == 0)) )
+#error EcuM: Configuration file expected BSW module version to be 2.0.*
+#endif
+
+\r
+#ifndef _ECUM_GENERATED_TYPES_H_\r
+#define _ECUM_GENERATED_TYPES_H_\r
+\r
+#ifdef CFG_ECUM_USE_SERVICE_COMPONENT\r
+#include "Rte_EcuM.h"\r
+#endif\r
+\r
+#include "EcuM_Types.h"\r
+\r
+#if defined(USE_MCU)\r
+#include "Mcu.h"\r
+#endif\r
+#if defined(USE_PORT)\r
+#include "Port.h"\r
+#endif\r
+#if defined(USE_CAN)\r
+#include "Can.h"\r
+#endif\r
+#if defined(USE_CANIF)\r
+#include "CanIf.h"\r
+#endif\r
+#if defined(USE_PWM)\r
+#include "Pwm.h"\r
+#endif\r
+#if defined(USE_COM)\r
+#include "Com.h"\r
+#endif\r
+#if defined(USE_PDUR)\r
+#include "PduR.h"\r
+#endif\r
+#if defined(USE_DMA)\r
+#include "Dma.h"\r
+#endif\r
+#if defined(USE_ADC)\r
+#include "Adc.h"\r
+#endif\r
+#if defined(USE_GPT)\r
+#include "Gpt.h"\r
+#endif\r
+#if defined(USE_COMM)\r
+#include "ComM.h"\r
+#endif\r
+#if defined(USE_NM)\r
+#include "Nm.h"\r
+#endif\r
+#if defined(USE_CANNM)\r
+#include "CanNm.h"\r
+#endif\r
+#if defined(USE_CANSM)\r
+#include "CanSM.h"\r
+#endif\r
+#if defined(USE_J1939TP)\r
+#include "J1939Tp.h"\r
+#endif\r
+#if defined(USE_UDPNM)\r
+#include "UdpNm.h"\r
+#endif\r
+#if defined(USE_LINSM)\r
+#include "LinSM.h"\r
+#endif\r
+#if defined(USE_FLS)\r
+#include "Fls.h"\r
+#endif\r
+#if defined(USE_EEP)\r
+#include "Eep.h"\r
+#endif\r
+#if defined(USE_SPI)\r
+#include "Spi.h"\r
+#endif\r
+#if defined(USE_WDG)\r
+#include "Wdg.h"\r
+#endif\r
+#if defined(USE_WDGM)\r
+#include "WdgM.h"\r
+#endif\r
+#if defined(USE_WDGIF)\r
+#include "WdgIf.h"\r
+#endif\r
+\r
+\r
+typedef struct\r
+{\r
+       EcuM_StateType EcuMDefaultShutdownTarget;\r
+       uint8 EcuMDefaultSleepMode;\r
+       AppModeType EcuMDefaultAppMode;\r
+       uint32 EcuMRunMinimumDuration;\r
+       uint32 EcuMNvramReadAllTimeout;\r
+       uint32 EcuMNvramWriteAllTimeout;\r
+#if defined(USE_WDGM)\r
+       const EcuM_WdgMType *EcuMWdgMConfig;\r
+#endif   \r
+       const EcuM_SleepModeType *EcuMSleepModeConfig;  \r
+\r
+#if defined(USE_MCU)\r
+        const Mcu_ConfigType* McuConfig;\r
+#endif\r
+#if defined(USE_PORT)\r
+        const Port_ConfigType* PortConfig;\r
+#endif\r
+#if defined(USE_CAN)\r
+        const Can_ConfigType* CanConfig;\r
+#endif\r
+#if defined(USE_CANIF)\r
+        const CanIf_ConfigType* CanIfConfig;\r
+#endif\r
+#if defined(USE_CANSM)\r
+        const CanSM_ConfigType* CanSMConfig;\r
+#endif\r
+#if defined(USE_NM)\r
+        const Nm_ConfigType* NmConfig;\r
+#endif\r
+#if defined(USE_CANNM)\r
+        const CanNm_ConfigType* CanNmConfig;\r
+#endif\r
+#if defined(USE_UDPNM)\r
+        const UdpNm_ConfigType* UdpNmConfig;\r
+#endif\r
+#if defined(USE_COMM)\r
+        const ComM_ConfigType* ComMConfig;\r
+#endif\r
+#if defined(USE_COM)\r
+        const Com_ConfigType* ComConfig;\r
+#endif\r
+#if defined(USE_J1939TP)\r
+        const J1939Tp_ConfigType* J1939TpConfig;\r
+#endif\r
+#if defined(USE_PDUR)\r
+        const PduR_PBConfigType* PduRConfig;\r
+#endif\r
+#if defined(USE_PWM)\r
+        const Pwm_ConfigType* PwmConfig;\r
+#endif\r
+#if defined(USE_DMA)\r
+        const Dma_ConfigType* DmaConfig;\r
+#endif\r
+#if defined(USE_ADC)\r
+    const Adc_ConfigType* AdcConfig;\r
+#endif\r
+#if defined(USE_GPT)\r
+    const Gpt_ConfigType* GptConfig;\r
+#endif\r
+#if defined(USE_FLS)\r
+       const Fls_ConfigType* FlashConfig;\r
+#endif\r
+#if defined(USE_EEP)\r
+       const Eep_ConfigType* EepConfig;\r
+#endif\r
+#if defined(USE_SPI)\r
+       const Spi_ConfigType* SpiConfig;\r
+#endif\r
+#if defined(USE_WDG)\r
+    const Wdg_ConfigType* WdgConfig;\r
+#endif\r
+#if defined(USE_WDGIF)\r
+    const WdgIf_ConfigType* WdgIfConfig;\r
+#endif\r
+#if defined(USE_WDGM)\r
+    const WdgM_ConfigType* WdgMConfig;\r
+#endif\r
+} EcuM_ConfigType;\r
+\r
+#endif /*_ECUM_GENERATED_TYPES_H_*/\r
index 128a871d0cc1cc00d8cb5ef03e165e356d7e3212..10a9aef2098742a94defd3b56fb3b5b8a444738e 100644 (file)
@@ -27,6 +27,7 @@
 #include "NvM.h"\r
 #endif\r
 \r
+\r
 static uint32 internal_data_run_state_timeout = 0;\r
 #if defined(USE_NVM)\r
 static uint32 internal_data_go_off_one_state_timeout = 0;\r