MCUSW
Mcu.h File Reference

Introduction

This file contains interface header for MCU MCAL driver.

Go to the source code of this file.

Data Structures

struct  Mcu_ClockConfigType
 Structure for module clock setting. More...
 
struct  Mcu_ConfigType
 MCU CONFIG ROOT structure. More...
 

Macros

#define ARRAYSIZE(array)
 
#define MCU_E_MODE_FAILURE   0U
 
MCU Driver Module SW Version Info

Defines for MCU Driver version used for compatibility checks

#define MCU_SW_MAJOR_VERSION   (9U)
 Driver Implementation Major Version. More...
 
#define MCU_SW_MINOR_VERSION   (1U)
 Driver Implementation Minor Version. More...
 
#define MCU_SW_PATCH_VERSION   (1U)
 Driver Implementation Patch Version. More...
 
MCU Driver Module AUTOSAR Version Info

Defines for MCU Driver AUTOSAR version used for compatibility checks

#define MCU_AR_RELEASE_MAJOR_VERSION   (4U)
 AUTOSAR Major version specification implemented by MCU Driver. More...
 
#define MCU_AR_RELEASE_MINOR_VERSION   (3U)
 AUTOSAR Minor version specification implemented by MCU Driver. More...
 
#define MCU_AR_RELEASE_REVISION_VERSION   (1U)
 AUTOSAR Patch version specification implemented by MCU Driver. More...
 
MCU Driver ID Info
#define MCU_VENDOR_ID   ((uint16) 44U)
 Texas Instruments Vendor ID. More...
 
#define MCU_MODULE_ID   ((uint16) 101U)
 MCU Driver Module ID. More...
 
#define MCU_INSTANCE_ID   ((uint8) 0U)
 MCU Driver Instance ID. More...
 
MCU Error Codes

Error codes returned by MCU functions

#define MCU_E_PARAM_CONFIG   (0x0AU)
 ERROR Description: API service called with wrong configuration parameter. More...
 
#define MCU_E_PARAM_CLOCK   (0x0BU)
 ERROR Description: API service used with wrong clock value. More...
 
#define MCU_E_PARAM_MODE   (0x0CU)
 ERROR Description: API service used with wrong mode. More...
 
#define MCU_E_PARAM_RAMSECTION   (0x0DU)
 ERROR Description: API service called with invalid/wrong RAM section. More...
 
#define MCU_E_PLL_NOT_LOCKED   (0x0EU)
 ERROR Description: API service is called while PLL is not locked. More...
 
#define MCU_E_UNINIT   (0x0FU)
 ERROR Description: Mcu Driver API service is called before initialization of MCU Driver. More...
 
#define MCU_E_PARAM_POINTER   (0x10U)
 ERROR Description: API service is called with NULL/Wrong pointer. More...
 
#define MCU_E_INIT_FAILED   (0x11U)
 ERROR Description: Initialization of the MCU Driver Failed. More...
 
MCU Driver State Values

The MCU Driver State Values

#define MCU_STATUS_UNINIT   ((uint8)(0U))
 MCU driver Status uninitialized. More...
 
#define MCU_STATUS_INIT   ((uint8)(1U))
 MCU driver Status Initialized. More...
 
MCU Service Ids

The Service Id is one of the argument to Det_ReportError function and is used to identify the source of the error

#define MCU_SID_INIT   (0x00U)
 Mcu_Init() API Service ID. More...
 
#define MCU_SID_INIT_RAM_SECTION   (0x01U)
 Mcu_InitRamSection() API Service ID. More...
 
#define MCU_SID_INIT_CLOCK   (0x02U)
 Mcu_InitClock() API Service ID. More...
 
#define MCU_SID_DISTRIBUTE_PLL_CLOCK   (0x03U)
 Mcu_DistributePllClock() API Service ID. More...
 
#define MCU_SID_GET_PLL_STATUS   (0x04U)
 Mcu_GetPllStatus() API Service ID. More...
 
#define MCU_SID_GET_RESET_REASON   (0x05U)
 Mcu_GetResetReason() API Service ID. More...
 
#define MCU_SID_GET_RESET_RAW_VALUE   (0x06U)
 Mcu_GetResetRawValue() API Service ID. More...
 
#define MCU_SID_PERFORM_RESET   (0x07U)
 Mcu_PerformReset() API Service ID. More...
 
#define MCU_SID_SETMODE   (0x08U)
 Mcu_SetMode() API Service ID. More...
 
#define MCU_SID_GET_VERSION_INFO   (0x09U)
 Mcu_GetVersionInfo() API Service ID. More...
 
#define MCU_SID_GET_RAM_STATE   (0x0AU)
 Mcu_GetRamState() API Service ID. More...
 
MCU Reset Modes

Reset mode enum which can be used in Mcu_PerformReset()

#define MCU_PERFORM_RESET_MODE_COLD   ((uint8) 0U)
 Initiate SW COLD RESET sequence. More...
 
#define MCU_PERFORM_RESET_MODE_WARM   ((uint8) 1U)
 Initiate SW WARM RESET sequence. More...
 

Typedefs

typedef uint8 Mcu_ClockType
 This type specifies the identification (ID) for a ClockType status used by Mcu_InitClock() More...
 
typedef uint32 Mcu_RawResetType
 This type specifies the identification (ID) for a RAW MCU reset status returned by Mcu_GetResetRawValue() More...
 
typedef uint8 Mcu_RamSectionType
 This type specifies the identification (ID) for a RAM section used in Mcu_InitRamSection() More...
 
typedef uint8 Mcu_ModeType
 This type specifies the identification (ID) for a MCU mode used in Mcu_SetMode() More...
 
typedef const Mcu_ClockConfigTypeMcu_ClockConfigPtrType
 Pointer to Clock Config structure. More...
 

Functions

void Mcu_Init (const Mcu_ConfigType *ConfigPtr)
 This service initializes the MCU driver. More...
 
Std_ReturnType Mcu_ClockSetSource (Mcu_ClkModuleIdType moduleId, Mcu_ClkSourceIdType clkSrcId, uint8 clkParentId)
 
Std_ReturnType Mcu_InitClock (Mcu_ClockType ClockSetting)
 This service initializes the PLL and other MCU specific clock options. More...
 
Std_ReturnType Mcu_DistributePllClock (void)
 This service activates the PLL clock to the MCU clock distribution. More...
 
void Mcu_PerformReset (void)
 The service performs a microcontroller reset. More...
 
Std_ReturnType Mcu_InitRamSection (Mcu_RamSectionType RamSection)
 This service initializes the RAM section wise. More...
 
Mcu_PllStatusType Mcu_GetPllStatus (void)
 This service provides the lock status of the PLL. More...
 
Mcu_ResetType Mcu_GetResetReason (void)
 The service reads the reset type from the hardware, if supported. More...
 
Mcu_RawResetType Mcu_GetResetRawValue (void)
 The service reads the reset type from the hardware register, if supported. More...
 
void Mcu_ClearResetReason (void)
 Clear the Mcu Reset reason by clearing the reset reason register. More...
 
Mcu_RamStateType Mcu_GetRamState (void)
 This service provides the actual status of the microcontroller Ram. (if supported) More...
 
void Mcu_GetVersionInfo (Std_VersionInfoType *versioninfo)
 This service returns the version information of this module. More...
 
void Mcu_SetMode (const Mcu_ModeType *McuMode)
 This service activates the MCU power modes. More...
 

Variables

const struct Mcu_ConfigType_s McuModuleConfiguration_0
 MCU Configuration struct declaration. More...
 

Function Documentation

◆ Mcu_Init()

void Mcu_Init ( const Mcu_ConfigType ConfigPtr)

This service initializes the MCU driver.

*  Service name      : Mcu_Init
*  Syntax            : void Mcu_Init( const Mcu_ConfigType* ConfigPtr )
*  Service ID[hex]   : 0x0
*  Sync/Async        : Synchronous
*  Reentrancy        : Non Reentrant
*  Parameters (in)   : ConfigPtr - Pointer to MCU driver configuration set.
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : None
*  Description       : This service initializes the MCU driver
*  

◆ Mcu_ClockSetSource()

Std_ReturnType Mcu_ClockSetSource ( Mcu_ClkModuleIdType  moduleId,
Mcu_ClkSourceIdType  clkSrcId,
uint8  clkParentId 
)

◆ Mcu_InitClock()

Std_ReturnType Mcu_InitClock ( Mcu_ClockType  ClockSetting)

This service initializes the PLL and other MCU specific clock options.

*  Service name      : Mcu_InitClock
*  Syntax            : Std_ReturnType Mcu_InitClock(
*                           Mcu_ClockType ClockSetting )
*  Service ID[hex]   : 0x02
*  Sync/Async        : Synchronous
*  Reentrancy        : Non Reentrant
*  Parameters (in)   : ClockSetting - Clock setting
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : Std_ReturnType
*                    - E_OK: Command has been accepted
*                    - E_NOT_OK: Command has not been accepted
*  Description       : This service initializes the PLL and other MCU specific
*                      clock options
* 

◆ Mcu_DistributePllClock()

Std_ReturnType Mcu_DistributePllClock ( void  )

This service activates the PLL clock to the MCU clock distribution.

*  Service name      : Mcu_DistributePllClock
*  Syntax            : Std_ReturnType Mcu_DistributePllClock(void)
*  Service ID[hex]   : 0x03
*  Sync/Async        : Synchronous
*  Reentrancy        : Reentrant
*  Parameters (in)   : None
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : Std_ReturnType : E_OK: Command has been accepted
*                       E_NOT_OK: Command has not been accepted
*  Description       : This service activates the PLL clock to the MCU clock distribution.
*  

◆ Mcu_PerformReset()

void Mcu_PerformReset ( void  )

The service performs a microcontroller reset.

*  Service name      : Mcu_PerformReset
*  Syntax            : void Mcu_PerformReset( void )
*  Service ID[hex]   : 0x07
*  Sync/Async        : Synchronous
*  Reentrancy        : Non Reentrant
*  Parameters (in)   : None
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : None
*  Description       : The service performs a microcontroller reset
*  

◆ Mcu_InitRamSection()

Std_ReturnType Mcu_InitRamSection ( Mcu_RamSectionType  RamSection)

This service initializes the RAM section wise.

*  Service name      : Mcu_InitRamSection
*  Syntax            : Std_ReturnType Mcu_InitRamSection(
*                                  Mcu_RamSectionType RamSection )
*  Service ID[hex]   : 0x01
*  Sync/Async        : Synchronous
*  Reentrancy        : Non Reentrant
*  Parameters (in)   : RamSection - Selects RAM memory section provided
*                      in configuration set
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : Std_ReturnType
*                    - E_OK: command has been accepted
*                    - E_NOT_OK: command has not been accepted e.g. due to
*                      parameter error
*  Description       : This service initializes the RAM section wise
*  

◆ Mcu_GetPllStatus()

Mcu_PllStatusType Mcu_GetPllStatus ( void  )

This service provides the lock status of the PLL.

*  Service name      : Mcu_GetPllStatus
*  Syntax            : Mcu_PllStatusType Mcu_GetPllStatus( void )
*  Service ID[hex]   : 0x04
*  Sync/Async        : Synchronous
*  Reentrancy        : Reentrant
*  Parameters (in)   : None
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : Mcu_PllStatusType - PLL Status
*  Description       : This service provides the lock status of the PLL.
*  

◆ Mcu_GetResetReason()

Mcu_ResetType Mcu_GetResetReason ( void  )

The service reads the reset type from the hardware, if supported.

*  Service name      : Mcu_GetResetReason
*  Syntax            : Mcu_ResetType Mcu_GetResetReason( void )
*  Service ID[hex]   : 0x05
*  Sync/Async        : Synchronous
*  Reentrancy        : Reentrant
*  Parameters (in)   : None
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : Mcu_ResetType
*  Description       : The service reads the reset type from the hardware, if
*                      supported
*  

◆ Mcu_GetResetRawValue()

Mcu_RawResetType Mcu_GetResetRawValue ( void  )

The service reads the reset type from the hardware register, if supported.

*  Service name      : Mcu_GetResetRawValue
*  Syntax            : Mcu_RawResetType Mcu_GetResetRawValue( void )
*  Service ID[hex]   : 0x06
*  Sync/Async        : Synchronous
*  Reentrancy        : Reentrant
*  Parameters (in)   : nONE
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : Mcu_RawResetType - Reset raw value
*  Description       : The service reads the reset type from the hardware
*                      register, if supported
*  

◆ Mcu_ClearResetReason()

void Mcu_ClearResetReason ( void  )

Clear the Mcu Reset reason by clearing the reset reason register.

*  Service name      : Mcu_ClearResetReason
*  Syntax            : void Mcu_ClearResetReason(void)
*  Service ID[hex]   : N/A
*  Sync/Async        : Synchronous
*  Reentrancy        : Reentrant
*  Parameters (in)   : None
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : None
*  Description       : Clear the Mcu Reset reason by clearing the reset reason
*                      register
*  

◆ Mcu_GetRamState()

Mcu_RamStateType Mcu_GetRamState ( void  )

This service provides the actual status of the microcontroller Ram. (if supported)

*  Service name      : Mcu_GetRamState
*  Syntax            : Mcu_RamStateType Mcu_GetRamState(void)
*  Service ID[hex]   : 0x0a
*  Sync/Async        : Synchronous
*  Reentrancy        : Reentrant
*  Parameters (in)   : None
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : Mcu_RamStateType - Status of the Ram Content
*  Description       : This service provides the actual status of the
*                      microcontroller Ram. (if supported)
*  

◆ Mcu_GetVersionInfo()

void Mcu_GetVersionInfo ( Std_VersionInfoType *  versioninfo)

This service returns the version information of this module.

*  Service name      : Mcu_GetVersionInfo
*  Syntax            : void Mcu_GetVersionInfo(Std_VersionInfoType*
*                              versioninfo)
*  Service ID[hex]   : 0x09
*  Sync/Async        : Synchronous
*  Reentrancy        : Reentrant
*  Parameters (in)   : None
*  Parameters (inout): None
*  Parameters (out)  : versioninfo - Pointer to where to store the
*                      version information of this module.
*  Return value      : None
*  Description       : This service returns the version information of this
*                      module
*  

◆ Mcu_SetMode()

void Mcu_SetMode ( const Mcu_ModeType McuMode)

This service activates the MCU power modes.

*  Service name      : Mcu_SetMode
*  Syntax            : void Mcu_SetMode(Mcu_ModeType McuMode)
*  Service ID[hex]   : 0x08
*  Sync/Async        : Synchronous
*  Reentrancy        : Reentrant
*  Parameters (in)   : McuMode : Set different MCU power modes configured in the configuration set
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : None
*  Description       : This service activates the MCU power modes.
*