#ifndef MCU_H_\r
#define MCU_H_\r
\r
+#include "Modules.h"\r
+\r
#define MCU_SW_MAJOR_VERSION 2\r
#define MCU_SW_MINOR_VERSION 0\r
#define MCU_SW_PATCH_VERSION 0\r
} Mcu_PllStatusType;\r
\r
\r
-typedef enum {\r
- MCU_MODE_NORMAL=0\r
-} Mcu_ModeType;\r
-\r
//TODO\r
typedef uint8_t Mcu_RamSectionType;\r
\r
MCU_POWER_ON_RESET,\r
MCU_WATCHDOG_RESET,\r
MCU_SW_RESET,\r
- MCU_RESET_UNDEFINED\r
+ MCU_RESET_UNDEFINED,\r
+ MCU_OSC_FAILURE_RESET,\r
+ MCU_CPU_RESET,\r
+ MCU_EXT_RESET,\r
+ MCU_VSW_RESET\r
} Mcu_ResetType;\r
\r
typedef struct {\r
uint8 Pll1; // PLL setting 1\r
uint8 Pll2; // PLL setting 2\r
uint8 Pll3; // PLL setting 3\r
+ uint8 Pll4; // PLL setting 4\r
\r
} Mcu_ClockSettingConfigType;\r
\r
#define Mcu_GetVersionInfo(_vi) STD_GET_VERSION_INFO(_vi,MCU)\r
#endif\r
\r
-typedef uint32_t imask_t;\r
-\r
/* ArcCore extensions */\r
+\r
void Irq_InstallVector(void (*func)(), IrqType vector, uint8_t priority, Cpu_t cpu );\r
void Irq_GenerateSoftInt( IrqType vector );\r
uint8_t Irq_GetCurrentPriority( Cpu_t cpu);\r
uint32_t McuE_GetSystemClock( void );\r
-#if defined(CFG_MPC55XX)\r
+#if defined(CFG_MPC55XX) || defined(CFG_ARM_CR4)\r
uint32_t McuE_GetPeripheralClock( McuE_PeriperalClock_t type );\r
#endif\r
-imask_t McuE_EnterCriticalSection(void);\r
-void McuE_ExitCriticalSection(imask_t old_state);\r
-\r
\r
+void McuE_EnterLowPower( int mode );\r
+void McuE_LowPowerRecoverFlash( void );\r
\r
#endif /*MCU_H_*/\r
/** @} */\r