4.6. MCU Module

4.6.1. Acronyms and Definitions

Abbreviation/Term

Explanation

AUTOSAR

Automotive Open System Architecture

RTE

Runtime Environment

BSW

Basic Software

MCU

Micro-Controller Unit

MCAL

Micro-Controller Abstraction Layer

API

Application Programming Interface

DET

Default Error Tracer

HW

Hardware

SW

Software

I/O

Input/Output

4.6.2. Introduction

The MCU module initializes, configures and controls the internal hardware to realize MCU driver as detailed in AUTOSAR BSW MCU Driver Specification. The MCU functionality is realized through the CLOCK IP available on the device. Following sections highlight key aspects of this implementation which would be of interest to an integrator.

MCU MCAL AUTOSAR

Fig. 4.20 MCU MCAL AUTOSAR

This document details AUTOSAR BSW MCU module implementation

Supported AUTOSAR Release

4.3.1

Supported Configuration Variants

Pre-Compile & Post Build

Vendor ID

MCU_VENDOR_ID (44)

Module ID

MCU_MODULE_ID (101)

4.6.3. Functional Overview

The MCU driver provides services for basic micro-controller initialization, reduced power modes, clock initialization, reset and micro-controller specific functions required by other MCAL software modules. The MCU Driver abstracts the access to the micro-controller’s hardware pins.

  • Initialization of MCU clock, PLL, Clock pre-scalers and MCU clock distribution.

  • Initialization of MCU RAM sections.

  • Activation of MCU reduced power modes.

  • Activation of a MCU reset.

  • Provides a service to get the reset reason from hardware.

  • Support of External clock output (XCLKOUT) feature to observe a clock directly for debug and testing purposes

4.6.4. Hardware Features

4.6.4.1. Hardware Features supported

The main features includes Clocking, Low Power Modes, Resets functionality and Ram initialization. Details are explained in below sections.

4.6.4.1.1. Clocking functionality

The below figure provides an overview of the device clocking system.

MCU CLOCKING

Fig. 4.21 MCU CLOCKING

Note

The diagram shown above may vary depending on the specific device being used. For accurate and up-to-date information, please consult the device’s TRM.

4.6.4.1.1.1. Primary Internal Oscillator (INTOSC2)

At power-up, the device is clocked from an on-chip 10 MHz oscillator (INTOSC2). INTOSC2 is the primary internal clock source, and is the default system clock at reset.

4.6.4.1.1.2. Backup Internal Oscillator (INTOSC1)

The device also includes a redundant on-chip 10 MHz oscillator (INTOSC1). INTOSC1 is a backup clock source that normally only clocks the watchdog timers and missing clock detection circuit (MCD).

4.6.4.1.1.3. External Oscillator (XTAL)

The dedicated X1 and X2 pins support an external clock source (XTAL), which can be used as the main system

The clock sources discussed above can be multiplied (via PLL) and divided down to produce the desired clock frequencies for the application

4.6.4.1.1.4. Oscillator Clock (OSCCLK)

One of INTOSC2, XTAL, or INTOSC1 must be chosen to be the controller reference clock (OSCCLK) for the CPU and most of the peripherals. OSCCLK can be used directly or applied through the system PLL to reach a higher frequency. At reset, OSCCLK is the default system clock and is connected to INTOSC2.

4.6.4.1.1.5. System PLL Output Clock (PLLRAWCLK)

The system PLL allows the device to run at the maximum rated operating frequency, and in most applications generates the main system clock. This PLL uses OSCCLK as a reference, and features a fractional multiplier and slip detection

4.6.4.1.1.6. PLL

The PLL is responsible for synthesizing an output frequency from the input clock (from the oscillator). The PLL divides the reference input for a lower frequency input into the PLL by (reference divider + 1). Then multiplies this internal frequency by Integer multiplier to get the VCO output clock. The PLL output is divided by (output divider + 1) to generate PLLRAWCLK that is further divided by system clock divider to generate PLLSYSCLK.

The generated system clock should not exceed more than the maximum supported frequency 200 MHZ.

4.6.4.1.1.7. MCAN Bit Clock

The bit clock can also be connected to PLLCLK or AUXCLKIN via the CLKSRCCTL2 register. There is an independent selection for each MCAN bit clock source.

4.6.4.1.1.8. CPU Timer2 Clock (TIMER2CLK)

Timer 2 is connected to CPUx.SYSCLK by default, but can also be connected to INTOSC1, INTOSC2, XTAL TMR2CLKCTL register. This register also provides a separate prescale divider for timer 2.

4.6.4.1.1.9. External Clock Output (XCLKOUT)

It is sometimes necessary to observe a clock directly for debug and testing purposes. The external clock output (XCLKOUT) feature supports this by connecting a clock to external pins GPIO73. The available clock sources are PLLSYSCLK, PLLRAWCLK, XTAL, INTOSC1 and INTOSC2.

To use XCLKOUT, first select the clock source via the CLKSRCCTL3 register. Next, select the desired output divider via the XCLKOUTDIVSEL register. Finally, connect either GPIO73 using the GPIO configuration registers

4.6.4.1.2. Resets

The below resets explains the types and effects of the different resets on this device.

4.6.4.1.2.1. External Reset (XRS)

The external reset (XRS) is the main chip-level reset for the device. XRS resets all CPUs, HSM , all peripherals and I/O pin configurations, and most of the system control registers.The XRSn bit in the RESC register is set whenever XRS is driven low for any reason. This bit is then cleared by the boot ROM.

4.6.4.1.2.2. Simulate External Reset

In some cases to simulate the external reset (XRS) in software, set the XRSn bit to 1 in the SIMRESET register using CPU1 software. This toggles the XRS pin; hence, the full device resets (just like an external reset). After this reset, the SIMRESET_XRSn bit in the RESC register is set. Software can read this bit to know the cause of reset and clear the status by writing a 1 into the corresponding bit in the RESCCLR register

4.6.4.1.2.3. Power-On Reset (POR)

The power-on reset (POR) circuit creates a clean reset throughout the device during power-up. A POR resets everything that XRS does, along with the register – the reset cause register (RESC). After a POR, the POR and XRSn bits in RESC are set. These bits are then cleared by the boot ROM.

4.6.4.1.2.4. Watchdog Reset (WDRS)

Each CPU has a watchdog timer that can optionally trigger a reset that lasts for 512 INTOSC1 cycles. After a watchdog reset, the WDRSn bit in the RESC register is set. Software can read this bit to know the cause of reset and clear the status by writing a 1 into the corresponding bit in the RESCCLR register

4.6.4.1.3. Low Power Modes Activation

The device has two clock-gating, low-power modes. All low-power modes are entered by setting the LPMCR register and executing the IDLE instruction.

4.6.4.1.3.1. IDLE

IDLE is a standard feature of the CPU. In this mode, the CPU clock is gated while all peripheral clocks are left running.

Any enabled interrupt wakes up the CPU from IDLE mode. To enter IDLE mode, set LPMCR.LPM to 0x0 and execute the IDLE instruction

4.6.4.1.3.2. STANDBY

STANDBY is a more aggressive low-power mode that gates both the CPU clock and any peripheral clocks derived from the CPU SYSCLK or PLLSYSCLK.

STANDBY is good for an application where the wake-up signal comes from an external system (or CPU subsystem) rather than a peripheral input.

An NMI (or optionally) any interrupt or a configured GPIO can wake the CPU from STANDBY mode. Each GPIO from GPIO0-63 can be configured to wake the CPU when the GPIO are driven active low

4.6.4.1.4. Ram Initialization

The RAM Memory sections can be filled from any base address up to the section size with the byte value specified in the default value, writing a specified number of bytes at once (1, 2, 4, or 8 bytes) as defined by the write size. The Base Address, Section Size, Default Value, and Write Size are configuration parameters for each RAM section

Note

Refer Device Data sheet for memory sections

4.6.4.2. Not supported Features

None

4.6.4.3. Non compliance

Below AUTOSAR design requirements are not supported for Mcu Driver :
SWS_Mcu_00216 : Mcu_Lcfg.c shall include Mcu_Cbk.h for a link time configuration

Rejection Reason : Callback functions are not required in Mcu module and Mcu module doesn’t have any Link Time configuration input file, it only supports Pre-Compile and Mcu-Build configurations.

SWS_Mcu_00218 : Mcu_PBcfg.c shall include Mcu_Cbk.h for post build time configuration

Rejection Reason : Callback functions are not required in Mcu module.

For more details, Refer AUTOSAR_SWS_McuDriver

4.6.5. Source files

📦f29h85x_mcal
┣ 📂build
┣ 📂docs
┣ 📂drivers
┃ ┣ 📂BSW_Stubs
┃ ┣ 📂Can
┃ ┣ 📂Dio
┃ ┣ 📂Gpt
┃ ┣ 📂hw_include
┃ ┣ 📂Mcal_Lib
┃ ┣ 📂Port
┃ ┗ 📂Mcu
┃ ┃ ┣ 📂include
┃ ┃ ┃ ┣ 📜Mcu.h : Contains the API declarations of the Mcu driver to be used by upper layers.
┃ ┃ ┃ ┗ 📜Mcu_Priv.h : Contains data structures and Internal function declarations.
┃ ┃ ┣ 📂src
┃ ┃ ┃ ┣ 📜Mcu.c : Contains the implementation of the API for Mcu driver.
┃ ┃ ┃ ┗ 📜Mcu_Priv.c : Contains Functions that support the API for Mcu driver
┃ ┃ ┗ 📜CMakeLists.txt
┣ 📂examples
┣ 📂plugins
┣ 📜CMakeLists.txt
┗ 📜CMakePresets.json

Mcu Header File Structure

Fig. 4.22 Mcu Header File Structure

4.6.6. Module requirements

4.6.6.1. Memory Mapping

Will be added in later release

4.6.6.2. Scheduling

None

4.6.6.3. Error handling

4.6.6.3.1. Development Error Reporting

Development errors are reported to the DET using the service Det_ReportError(), when enabled. The driver interface contains the MACRO declaration of the error codes to be returned.

4.6.6.3.2. Extended Production Error Reporting

Extended production errors are reported to the DEM using the service Dem_SetEventStatus(), when enabled. The driver interface contains the MACRO declaration of the error codes to be returned.

4.6.6.4. Error codes

Type of Error

Related Error code

Value (Hex)

API parameter checking: Mcu_init service called with invalid config parameter

MCU_E_PARAM_CONFIG

0x0A

API parameter checking: McuInitClock service called with invalid ClockSetting parameter

MCU_E_PARAM_CLOCK

0x0B

API parameter checking: Mcu_SetMode service called with invalid McuMode parameter

MCU_E_PARAM_MODE

0x0C

API parameter checking: Mcu_InitRamSection service called with invalid Ram Section parameter

MCU_E_PARAM_RAMSECTION

0x0D

Mcu_DistributePllClock service checks PLL lock status

MCU_E_PLL_NOT_LOCKED

0x0E

API invoked without performing Mcu_init

MCU_E_UNINIT

0x0F

API called with a NULL_PTR

MCU_E_PARAM_POINTER

0x10

4.6.7. Safety Mechanism

TI Diagnostic Unique Identifier

Summary

Description

RST2

Reset Cause Information

Reset cause information is provided by API Mcu_GetResetReason and Error detection are Reported to DET

RST9

Peripheral Soft Reset

Peripheral soft resets are performed by API Mcu_InitClock and Error detection are Reported to DET

SYS2

Lock Mechanism for Control Registers

Lock mechanism for clock & peripheral config critical registers is provided in driver code with enable/disable option

CLK5

External monitoring of clock via XCLKOUT

External monitoring of clock is provided by API Mcu_InitClock in driver code with enable/disable option

CLK14

Peripheral Clock Gating

Peripheral soft resets are performed by API Mcu_InitClock and Error detection are Reported to DET

Note

More details of Safety Mechanisms can be found in Safety Manual.

4.6.8. Used resources

4.6.8.1. Interrupt Handling

There are no Interrupts in Mcu

4.6.8.2. Instance support

CPU instances

supported

CPU 1

YES

CPU 2

NO

CPU 3

NO

4.6.8.3. Hardware-Software Mapping

Below image shows Mcu driver Hardware-Software mapping. For more information related to HW/SW mapping, refer the F29 Reference Manual.

Mcu HW/SW Mapping

Fig. 4.23 Mcu HW/SW Mapping

4.6.9. Integration description

4.6.9.1. Dependent modules

4.6.9.1.1. DET

This implementation depends on the DET in order to report development errors The detection of development errors is configurable (ON / OFF), The switch MCU_CFG_DEV_ERROR_DETECT will activate or deactivate the detection of all development errors.

4.6.9.1.2. DEM

This implementation depends on the DEM in order to report Extended production errors and can be turned OFF. The switch MCU_CFG_DEM_ENABLE will activate or deactivate the detection of all extended production errors. If clock failure notification is enabled in the configuration set and a clock source failure error occurs, the error code MCU_E_CLOCK_FAILURE shall be reported.

4.6.9.2. Multi-core and Resource allocator

Not Supported

4.6.10. Configuration

The Mcu Driver implementation supports multiple configuration variants, namely Mcu Post-Build config and Pre-Compile config. The driver expects generated Mcu_cfg.h to be present as input file. The associated Mcu driver configuration generated source files are Mcu_Cfg.c or Mcu_PBcfg.c

The generated configuration files should not be modified manually. The config tool Elektrobit Tresos should be used to modify the configuration files.

4.6.10.1. Migration Guide to v02.00.00 from v01.01.00 or any older versions

In version v02.00.00, the name of the generated configuration structure used to initialize the module has been changed to comply with AUTOSAR requirement TPS_ECUC_08011. In case of Post build variant, upper modules that call the Mcu_Init function will need to use the new configuration structure name. For example:

/* Old code (v01.01.00 or any older versions) */
Mcu_Init(&McuConf*);

/* New code (v02.00.00) */
Mcu_Init(&Mcu_Config*);

Note

The name of the configuration structures depends on the clock source being used.

This change ensures compliance with AUTOSAR naming conventions.

To successfully migrate to v02.00.00, update any upper module that references the configuration structures to use the new structure name.

4.6.10.2. McuGeneralConfiguration

This container contains the configuration (parameters) of the MCU driver.

4.6.10.2.1. McuDevErrorDetect

Item

Name

McuDevErrorDetect

Description

Switches the development error detection and notification on or off.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.6.10.2.2. McuClockConfigLockCriticalRegisters

Item

Name

McuClockConfigLockCriticalRegisters

Description

Switches the Lock for clock configuration critical registers on or off.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.6.10.2.3. McuCpuPeripheralConfigLockCriticalRegisters

Item

Name

McuCpuPeripheralConfigLockCriticalRegisters

Description

Switches the Lock for cpu peripheral configuration critical registers on or off.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.6.10.2.4. McuCpuSystemLockCriticalRegisters

Item

Name

McuCpuSystemLockCriticalRegisters

Description

Switches the Lock for cpu system critical registers on or off.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.6.10.2.5. McuGetRamStateApi

Item

Name

McuGetRamStateApi

Description

Pre-processor switch to enable/disable the API Mcu_GetRamState.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.2.6. McuInitClock

Item

Name

McuInitClock

Description

If this parameter is set to FALSE, the clock initialization has to be disabled from the MCU driver. This concept applies when there are some write once clock registers and a bootloader is present. If this parameter is set to TRUE, the MCU driver is responsible of the clock initialization.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.2.7. McuNoPll

Item

Name

McuNoPll

Description

This parameter shall be set True, if the H/W does not have a PLL or the PLL circuitry is enabled after the power on without S/W intervention. In this case MCU_DistributePllClock has to be disabled and MCU_GetPllStatus has to return MCU_PLL_STATUS_UNDEFINED. Otherwise this parameters has to be set False

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.2.8. McuPerformResetApi

Item

Name

McuPerformResetApi

Description

Pre-processor switch to enable / disable the use of the function Mcu_PerformReset()

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.2.9. McuVersionInfoApi

Item

Name

McuVersionInfoApi

Description

Pre-processor switch to enable / disable the API to read out the modules version information.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.6.10.3. McuModuleConfiguration

This container contains the configuration (parameters) of the MCU driver

4.6.10.3.1. McuClockSrcFailureNotification

Item

Name

McuClockSrcFailureNotification

Description

Enables/Disables clock failure notification. In case this feature is not supported by HW the setting should be disabled.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

DISABLED

Range

DISABLED
ENABLED

4.6.10.3.2. McuNumberOfMcuModes

Item

Name

McuNumberOfMcuModes

Description

This parameter shall represent the number of Modes available for the MCU.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

1

Max-value

255

Min-value

1

4.6.10.3.3. McuRamSectors

Item

Name

McuRamSectors

Description

This parameter shall represent the number of RAM sectors available for the MCU.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

4294967295

Min-value

0

4.6.10.3.4. McuResetSetting

Item

Name

McuResetSetting

Description

This parameter relates to the MCU specific reset configuration. This applies to the function Mcu_PerformReset, which performs a microcontroller reset using the hardware feature of the microcontroller.

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

1

Max-value

255

Min-value

1

4.6.10.3.5. McuClockSettingConfig

This container contains the configuration (parameters) for the Clock settings of the MCU. Please see MCU031 for more information on the MCU clock settings.

4.6.10.3.5.1. McuClockSettingId

Item

Name

McuClockSettingId

Description

The Id of this McuClockSettingConfig to be used as argument for the API call “Mcu_InitClock”.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

255

Min-value

0

4.6.10.3.6. McuClockReferencePoint

This container defines a reference point in the Mcu Clock tree. It defines the frequency which then can be used by other modules as an input value. Lower multiplicity is 1, as even in the simplest case (only one frequency is used), there is one frequency to be defined.

4.6.10.3.6.1. McuClockReferencePointFrequency

Item

Name

McuClockReferencePointFrequency

Description

This is the frequency for the specific instance of the McuClockReferencePoint container. It shall be given in Hz. This will not be autocalulated based on the configured divider. The user has to take care of calculating the value based on the clock source and divider value

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

2.0E8

Max-value

INF

Min-value

0.0

4.6.10.3.7. McuClkConfig

Device specific clock settings

4.6.10.3.7.1. McuClockSource

Item

Name

McuClockSource

Description

Configures the clock source.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

MCU_CLKSRC_XTAL

Range

MCU_CLKSRC_OSC2
MCU_CLKSRC_OSC1
MCU_CLKSRC_XTAL
MCU_CLKSRC_XTAL_SE

4.6.10.3.7.2. McuExternalClkFreq

Item

Name

McuExternalClkFreq

Description

Frequency of the external clock source (XTAL) in Hz.

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

20000000

Max-value

25000000

Min-value

10000000

4.6.10.3.7.3. McuSysClkDiv

Item

Name

McuSysClkDiv

Description

Configures the System Clock Divider. Value should be 1 or even value up to 64.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

1

Max-value

64

Min-value

1

4.6.10.3.7.4. McuHsmClkDiv

Item

Name

McuHsmClkDiv

Description

Configures the HSM Clock Divider. Value should be 1 or even value up to 16.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

MCU_HSMCLK_DIV_16

Range

MCU_HSMCLK_DIV_1
MCU_HSMCLK_DIV_2
MCU_HSMCLK_DIV_4
MCU_HSMCLK_DIV_8
MCU_HSMCLK_DIV_16

4.6.10.3.7.5. McuEpwmClkDiv

Item

Name

McuEpwmClkDiv

Description

Configures the EPWM Clock Divider. Value should be 1 or 2.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

MCU_EPWMCLK_DIV_2

Range

MCU_EPWMCLK_DIV_1
MCU_EPWMCLK_DIV_2

4.6.10.3.7.6. McuEmifClkDiv

Item

Name

McuEmifClkDiv

Description

Configures the EMIF Clock Divider. Value should be 1 or 2 or 4.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

MCU_EMIFCLK_DIV_2

Range

MCU_EMIFCLK_DIV_1
MCU_EMIFCLK_DIV_2
MCU_EMIFCLK_DIV_4

4.6.10.3.8. McuLinClkConfig

Device specific Lin clock settings

4.6.10.3.8.1. McuLinInstance

Item

Name

McuLinInstance

Description

Configures the Instance ID for Lin module.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

MCU_LIN_A

Range

MCU_LIN_A
MCU_LIN_B

4.6.10.3.8.2. McuLinClkDiv

Item

Name

McuLinClkDiv

Description

Configures the Lin Clock Divider.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

MCU_LINCLK_DIV_2

Range

MCU_LINCLK_DIV_1
MCU_LINCLK_DIV_2
MCU_LINCLK_DIV_4

4.6.10.3.9. McuMCanClkConfig

Device specific MCan clock settings

4.6.10.3.9.1. McuMCanInstance

Item

Name

McuMCanInstance

Description

Configures the Instance ID for MCan module.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

MCU_MCAN_A

Range

MCU_MCAN_A
MCU_MCAN_B
MCU_MCAN_C
MCU_MCAN_D
MCU_MCAN_E
MCU_MCAN_F

4.6.10.3.9.2. McuMCanClockSource

Item

Name

McuMCanClockSource

Description

Configures the clock source for MCan module.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

MCU_MCANCLKSRC_PERxSYSCLK

Range

MCU_MCANCLKSRC_PERxSYSCLK
MCU_MCANCLKSRC_AUXCLKIN
MCU_MCANCLKSRC_PLLRAWCLK

4.6.10.3.9.3. McuMCanClkDiv

Item

Name

McuMCanClkDiv

Description

Configures the MCan Clock Divider.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

MCU_MCANCLK_DIV_20

Range

MCU_MCANCLK_DIV_1
MCU_MCANCLK_DIV_2
MCU_MCANCLK_DIV_3
MCU_MCANCLK_DIV_4
MCU_MCANCLK_DIV_5
MCU_MCANCLK_DIV_6
MCU_MCANCLK_DIV_7
MCU_MCANCLK_DIV_8
MCU_MCANCLK_DIV_9
MCU_MCANCLK_DIV_10
MCU_MCANCLK_DIV_11
MCU_MCANCLK_DIV_12
MCU_MCANCLK_DIV_13
MCU_MCANCLK_DIV_14
MCU_MCANCLK_DIV_15
MCU_MCANCLK_DIV_16
MCU_MCANCLK_DIV_17
MCU_MCANCLK_DIV_18
MCU_MCANCLK_DIV_19
MCU_MCANCLK_DIV_20

4.6.10.3.10. McuCpuTimerClkConfig

Device specific CPU Timer clock settings

4.6.10.3.10.1. McuCpuTimer2ClockSource

Item

Name

McuCpuTimer2ClockSource

Description

Configures the clock source for CpuTimer 2 module.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

MCU_CPUTIMERCLKSRC_SYSCLK

Range

MCU_CPUTIMERCLKSRC_SYSCLK
MCU_CPUTIMERCLKSRC_INTOSC1
MCU_CPUTIMERCLKSRC_INTOSC2
MCU_CPUTIMERCLKSRC_XTAL

4.6.10.3.10.2. McuCpuTimer2ClkDiv

Item

Name

McuCpuTimer2ClkDiv

Description

Configures the CpuTimer 2 prescalar.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

1

Max-value

5

Min-value

1

4.6.10.3.11. McuExternalClkOutConfig

Device specific External clock output settings

4.6.10.3.11.1. McuExternalClockOut

Item

Name

McuExternalClockOut

Description

External Clock output Enable flag.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.11.2. McuExternalClockOutSource

Item

Name

McuExternalClockOutSource

Description

Configures the clock source for External clock output module.

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

MCU_XCLKOUTSRC_PLLSYS

Range

MCU_XCLKOUTSRC_PLLSYS
MCU_XCLKOUTSRC_CPU1CLK
MCU_XCLKOUTSRC_CPU2CLK
MCU_XCLKOUTSRC_CPU3CLK
MCU_XCLKOUTSRC_INTOSC1
MCU_XCLKOUTSRC_INTOSC2
MCU_XCLKOUTSRC_XTALOSC

4.6.10.3.11.3. McuExternalClkOutDiv

Item

Name

McuExternalClkOutDiv

Description

Configures the External clock output divider.

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

MCU_XCLKOUT_DIV_8

Range

MCU_XCLKOUT_DIV_1
MCU_XCLKOUT_DIV_2
MCU_XCLKOUT_DIV_4
MCU_XCLKOUT_DIV_8

4.6.10.3.12. McuEthercatClkConfig

Device specific Ethercat clock settings

4.6.10.3.12.1. McuEthercatPhyClkEnable

Item

Name

McuEthercatPhyClkEnable

Description

Ethercat Clock Enable value.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

MCU_ECAT_PHYCLK_ENABLE

Range

MCU_ECAT_PHYCLK_ENABLE
MCU_ECAT_PHYCLK_DISABLE

4.6.10.3.12.2. McuEthercatClkDiv

Item

Name

McuEthercatClkDiv

Description

Configures the Ethercat clock divider.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

MCU_ECATCLKOUT_DIV_8

Range

MCU_ECATCLKOUT_DIV_1
MCU_ECATCLKOUT_DIV_2
MCU_ECATCLKOUT_DIV_3
MCU_ECATCLKOUT_DIV_4
MCU_ECATCLKOUT_DIV_5
MCU_ECATCLKOUT_DIV_6
MCU_ECATCLKOUT_DIV_7
MCU_ECATCLKOUT_DIV_8

4.6.10.3.13. McuPllConfig

Device specific PLL settings

4.6.10.3.13.1. McuPLLRefDiv

Item

Name

McuPLLRefDiv

Description

Configures Reference Clock Divider.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

1

Max-value

32

Min-value

1

4.6.10.3.13.2. McuPLLIntMult

Item

Name

McuPLLIntMult

Description

Configures Integer Multiplier.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

30

Max-value

255

Min-value

4

4.6.10.3.13.3. McuPLLOutDiv

Item

Name

McuPLLOutDiv

Description

Configures Output Clock Divider.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

3

Max-value

32

Min-value

1

4.6.10.3.14. McuPeripheralClock0

Item

Name

McuPeripheralClock0

Description

DLT Clock Enable Bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.15. McuPeripheralClock1

Item

Name

McuPeripheralClock1

Description

EMIF1 Clock Enable bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.16. McuPeripheralClock2

Item

Name

McuPeripheralClock2

Description

EPWM18 Clock Enable bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.17. McuPeripheralClock3

Item

Name

McuPeripheralClock3

Description

ECAP6 Clock Enable bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.18. McuPeripheralClock4

Item

Name

McuPeripheralClock4

Description

EQEP6 Clock Enable bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.19. McuPeripheralClock6

Item

Name

McuPeripheralClock6

Description

SD4 Clock Enable bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.20. McuPeripheralClock7

Item

Name

McuPeripheralClock7

Description

UART F Module Clock Enable bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.21. McuPeripheralClock8

Item

Name

McuPeripheralClock8

Description

SPI_E Clock Enable bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.22. McuPeripheralClock9

Item

Name

McuPeripheralClock9

Description

I2C_B Clock Enable bit:.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.23. McuPeripheralClock10

Item

Name

McuPeripheralClock10

Description

MCAN_F Clock Enable bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.24. McuPeripheralClock13

Item

Name

McuPeripheralClock13

Description

ADC_E Clock Enable bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.25. McuPeripheralClock14

Item

Name

McuPeripheralClock14

Description

CMPSS12 Clock Enable bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.26. McuPeripheralClock16

Item

Name

McuPeripheralClock16

Description

Buffered_DAC_B Clock Enable Bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.27. McuPeripheralClock17

Item

Name

McuPeripheralClock17

Description

CLB6 Clock Enable bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.28. McuPeripheralClock18

Item

Name

McuPeripheralClock18

Description

FSIRX_D Clock Enable bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.29. McuPeripheralClock19

Item

Name

McuPeripheralClock19

Description

LIN_B Clock Enable bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.30. McuPeripheralClock20

Item

Name

McuPeripheralClock20

Description

PMBUS_A Clock Enable bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.31. McuPeripheralClock21

Item

Name

McuPeripheralClock21

Description

DCC3 Clock Enable Bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.32. McuPeripheralClock23

Item

Name

McuPeripheralClock23

Description

ETHERCAT Clock Enable Bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.33. McuPeripheralClock25

Item

Name

McuPeripheralClock25

Description

HRCAL2 Clock Enable Bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.34. McuPeripheralClock27

Item

Name

McuPeripheralClock27

Description

EPG1 Clock Enable Bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.35. McuPeripheralClock28

Item

Name

McuPeripheralClock28

Description

Clock Enable Bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.36. McuPeripheralClock30

Item

Name

McuPeripheralClock30

Description

SENT6 Clock Enable Bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.37. McuPeripheralClock32

Item

Name

McuPeripheralClock32

Description

WADI2 Clock Enable Bit.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.6.10.3.38. McuDemEventParameterRefs

Item

Name

McuDemEventParameterRefs

Description

Reference to configured DEM event to report “Clock source failure”.

Post-build-variant-multiplicity

false

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.6.10.3.39. McuModeSettingConf

This container contains the configuration (parameters) for the Mode setting of the MCU. Please see MCU035 for more information on the MCU mode settings.

4.6.10.3.39.1. McuMode

Item

Name

McuMode

Description

The parameter represents the MCU Mode settings. IDLE Mode :0, STANDBY mode :1

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

1

Min-value

0

4.6.10.3.39.2. McuQualPeriod

Item

Name

McuQualPeriod

Description

The number of OSCCLK clock cycles used to qualify the selected inputs when waking from STANDBY mode.

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

2

Max-value

65

Min-value

2

4.6.10.3.39.3. McuEnableWDWakeup

Item

Name

McuEnableWDWakeup

Description

Enable/Disable using watchdog to wakeup from standby or halt mode

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.6.10.3.40. McuRamSectorSettingConf

This container contains the configuration (parameters) for the RAM Sector setting. Please see MCU030 for more information on RAM sec-tor settings.

4.6.10.3.40.1. McuRamDefaultValue

Item

Name

McuRamDefaultValue

Description

This parameter shall represent the Data pre-setting to be initialized

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

255

Min-value

0

4.6.10.3.40.2. McuRamSectionBaseAddress

Item

Name

McuRamSectionBaseAddress

Description

This parameter shall represent the MCU RAM section base address

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

4294967295

Min-value

0

4.6.10.3.40.3. McuRamSectionSize

Item

Name

McuRamSectionSize

Description

This parameter represents the MCU RAM Section size in bytes.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

4294967295

Min-value

0

4.6.10.3.40.4. McuRamSectionWriteSize

Item

Name

McuRamSectionWriteSize

Description

This parameter shall define the size in bytes of data which can be written into RAM at once.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

1

Max-value

8

Min-value

1

Refer AUTOSAR_SWS_MCUDriver section: 10 Configuration specification for configuration parameters details

4.6.10.4. Steps To Configure Mcu Module

  1. Open EB Tresos configurator tool, load Mcu and Dem modules. Select the Config Variant ( Precompile/Post-Build)

  2. Open DEM module plugin and register DEM event “MCU_E_CLOCK_FAILURE” to report extended production error if there are any clock failures

  3. Open MCU module plugin and make sure that clock setting, ram sectors, power modes values are there and configurations are created with values

  4. Make sure that clock configurations like clocksource, pll settings, peripheral clock gating, MCAN, LIN and other peripherals details are provided

  5. Make sure that Low power configurations like mode type, Qualification period, Wdog wakeup flags are provided

  6. Make sure that RAM section configurations like default value, section size, write size etc are provided (to test RAM init functionality)

  7. Save the configuration and generate the configuration.

4.6.11. Examples

The example application demonstrates use of Mcu module, the list below identifies key steps performed the example.

4.6.11.1. MCU_Example_Clock

4.6.11.1.1. Overview of MCU_Example_Clock

  • Mcu_Example_Clock

    • EcuM_Init()

      • Initializes clock to 200 MHz using Mcu_Init()

      • Initializes pins as GPIO Outputs and GPIO Inputs using Port_Init()

    • Validate the clock value from register values

    • Measure the XCLKOUT hardware pin GPIO73 using Oscilloscope or logic analyzer and expected value to be 25Mhz

Mcu XCLK Output

Fig. 4.24 Mcu XCLK Output

4.6.11.1.2. Setup required to run MCU_Example_Clock

  • Install Code Composer Studio latest version

  • Install latest C29 compiler

  • Connect the hardware and power up

  • Connect the uart set up to check the log on serial console

  • Connect GPIO73 Pin to Oscilloscope or logic analyzer to trace the XCLKOUT frequency

4.6.11.1.3. How to run MCU_Example_Clock

  • Open CCS and Import Mcu Clock example

  • Build project and start debug project

4.6.11.1.4. Sample Log of MCU_Example_Clock

    Sample Application - STARTS !!!
    MCU MCAL Version Info
    ---------------------
    Vendor ID           : 44
    Module ID           : 101
    SW Major Version    : 1
    SW Minor Version    : 0
    SW Patch Version    : 0
    Generated System clock value : 200000000 
    Mcu_Example_Clock: Sample Application - Completes successfully !!!

4.6.11.2. Mcu_Example_PowerMode

4.6.11.2.1. Overview of Mcu_Example_PowerMode

  • Mcu_Example_PowerMode

    • EcuM_Init()

      • Initializes clock to 200 MHz using Mcu_Init()

      • Initializes pins as GPIO Outputs and GPIO Inputs using Port_Init()

    • Activate low power modes (standby mode)

    • Wakeup from standby mode using configured GPIO wakeup Pins

4.6.11.2.2. Setup required to run Mcu_Example_PowerMode

  • Install Code Composer Studio latest version

  • Install latest C29 compiler

  • Connect the hardware and power up

  • Connect the uart set up to check the log on serial console

4.6.11.2.3. How to run Mcu_Example_PowerMode

  • Open CCS and Import Mcu Powermode example

  • Build project and start debug project

4.6.11.2.4. Sample Log of Mcu_Example_PowerMode

    Sample Application - STARTS !!!
    MCU MCAL Version Info
    ---------------------
    Vendor ID           : 44
    Module ID           : 101
    SW Major Version    : 1
    SW Minor Version    : 0
    SW Patch Version    : 0
    Woken up from stand by mode using GPIO wakeup pins 
    Mcu_Example_PowerMode: Sample Application - Completes successfully !!!

4.6.11.3. Mcu_Example_Ram

4.6.11.3.1. Overview of Mcu_Example_Ram

  • Mcu_Example_Ram

    • EcuM_Init()

      • Initializes clock to 200 MHz using Mcu_Init()

      • Initializes pins as GPIO Outputs and GPIO Inputs using Port_Init()

    • Initializes the Ram sectors

    • Validate the Ram sectors

4.6.11.3.2. Setup required to run Mcu_Example_Ram

  • Install Code Composer Studio latest version

  • Install latest C29 compiler

  • Connect the hardware and power up

  • Connect the uart set up to check the log on serial console

4.6.11.3.3. How to run Mcu_Example_Ram

  • Open CCS and Import Mcu Ram example

  • Build project and start debug project

4.6.11.3.4. Sample Log of Mcu_Example_Ram

    Sample Application - STARTS !!!
    MCU MCAL Version Info
    ---------------------
    Vendor ID           : 44
    Module ID           : 101
    SW Major Version    : 1
    SW Minor Version    : 0
    SW Patch Version    : 0
    RAM section verified
    RAM state verified
    Mcu_Example_Ram: Sample Application - Completes successfully !!!

4.6.11.4. Mcu_Example_Reset

4.6.11.4.1. Overview of Mcu_Example_Reset

  • Mcu_Example_Reset

    • EcuM_Init()

      • Initializes clock to 200 MHz using Mcu_Init()

      • Initializes pins as GPIO Outputs and GPIO Inputs using Port_Init()

    • Get reset reason value for POR, XRS and SW Resets

    • Perform simulated external reset

4.6.11.4.2. Setup required to run Mcu_Example_Reset

  • Install Code Composer Studio latest version

  • Install latest C29 compiler

  • Connect the hardware and power up

  • Connect the uart set up to check the log on serial console

4.6.11.4.3. How to run Mcu_Example_Reset

  • Open CCS and Import Mcu Reset example

  • Build project and start debug project

4.6.11.4.4. Sample Log of Mcu_Example_Reset

    Sample Application - STARTS !!!
    MCU MCAL Version Info
    ---------------------
    Vendor ID           : 44
    Module ID           : 101
    SW Major Version    : 1
    SW Minor Version    : 0
    SW Patch Version    : 0
    Reset reason verified
    Mcu_Example_Reset: Sample Application - Completes successfully !!!

4.6.11.5. File Structure

📦f29h85x_mcal
┣ 📂build
┣ 📂docs
┣ 📂drivers
┣ 📂examples
┃ ┣ 📂AppUtils
┃ ┣ 📂Can
┃ ┣ 📂DeviceSupport
┃ ┣ 📂Dio
┃ ┣ 📂Gpt
┃ ┣ 📂Port
┃ ┣ 📂Mcu
┃ ┃ ┗ 📂 📂Mcu_Example_Clock
┃ ┃ ┃ ┣ 📂CCS
┃ ┃ ┃ ┃ ┗ 📜📜Mcu_Example_Clock.projectspec
┃ ┃ ┃ ┣ 📂Mcu_Clock_Config
┃ ┃ ┃ ┃ ┣ 📂config
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Port.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Os.xdm
┃ ┃ ┃ ┃ ┃ ┗ 📜Mcu.xdm : Generated EB Tresos config file in .xdm format
┃ ┃ ┃ ┃ ┣ 📂include
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Port_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Os_Cfg.h
┃ ┃ ┃ ┃ ┃ ┗ 📜Mcu_Cfg.h : Contains the generated pre-compiler configuration header.
┃ ┃ ┃ ┃ ┣ 📂src
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Port_PBcfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Os_Cfg.c
┃ ┃ ┃ ┃ ┃ ┗ 📜Mcu_PBcfg.c : Contains the Post build configuration parameters.
┃ ┃ ┃ ┃ ┗ 📜CMakeLists.txt
┃ ┃ ┃ ┣ 📜CMakeLists.txt
┃ ┃ ┗ ┗ 📜Mcu_Example_Clock.c : Example application for Mcu
┃ ┗ 📜CMakeLists.txt
┣ 📂plugins
┣ 📜CMakeLists.txt
┗ 📜CMakePresets.json

Note

Either Mcu_PBcfg.c OR Mcu_Cfg.c will be present based on selected config variant by user