4.4. GPT Module

4.4.1. Acronyms and Definitions

Abbreviation/Term

Explanation

AUTOSAR

Automotive Open System Architecture

RTE

Runtime Environment

GPT

General Purpose Timer

BSW

Basic Software

GPIO

General Purpose Input Output

MCAL

Micro Controller Abstraction Layer

API

Application Programming Interface

DET

Default Error Tracer

HW

Hardware

SW

Software

I/O

Input/Output

4.4.2. Introduction

GPT driver is part of the Micro controller Drivers which is again part of the Basic Software. It initializes and controls the internal General Purpose Timer(s) (GPT) of the micro controller.Following sections highlight key aspects of this implementation which would be of interest to an integrator.

GPT MCAL AUTOSAR

Fig. 4.11 GPT MCAL AUTOSAR.

This document details AUTOSAR BSW Gpt module implementation

Supported AUTOSAR Release

4.3.1

Supported Configuration Variants

Pre-Compile & Post Build

Vendor ID

GPT_VENDOR_ID (44)

Module ID

GPT_MODULE_ID (100)

4.4.3. Functional Overview

The GPT driver is part of the Micro controller abstraction layer (MCAL). It initializes and controls the internal General Purpose Timer(s) (GPT) of the micro controller.

The GPT driver provides services and configuration parameters for

  • Starting and stopping hardware timers

  • Getting timer values

  • Controlling time triggered interrupt notifications

  • Controlling time triggered wake up interrupts

4.4.3.1. Timer Modes

A timer channel can be configured in “one-shot mode” or “continuous mode”.

4.4.3.1.1. Continuous Mode

If the timer has reached the value zero starting from target time, the timer shall continue running with the value “target time” at next timer tick and start decrementing again.

4.4.3.1.2. One Shot Mode

If the timer has reached the zero, starting from the target time, the timer shall stop automatically and maintain its timer value unchanged.

Note

The tick duration of a timer channel depends on channel specific settings (part of GPT driver) as well as on system clock and settings of the clock tree controlled by the MCU module.

4.4.4. Hardware Features

4.4.4.1. HW Features supported

CPU-Timer2 is reserved for real-time operating system uses (for example, TI-RTOS), but if CPU-Timer2 is not used by real-time operating systems then, CPU-Timer2 can also be used for other applications. The CPU-Timer0 and CPU-Timer1 run off of SYSCLK. The CPU-Timer2 normally runs off of SYSCLK, but can also use INTOSC1, INTOSC2 or XTAL. The CPU-Timer interrupt signals (TINT0, TINT1, TINT2) are connected to PIPE Module.

GPT CPU Timers

Fig. 4.12 GPT CPU Timers

The general operation of the CPU-Timer is as follows:

  • The 32-bit counter register, TIMH:TIM, is loaded with the value in the period register PRDH:PRD.

  • The counter decrements once every (TPR[TDDRH:TDDR]+1) SYSCLKOUT cycles, where TDDRH:TDDR is the timer divider.

  • When the counter reaches 0, a timer interrupt output signal generates an interrupt pulse.

4.4.4.2. Not supported Features

None

4.4.4.3. Non compliance

Below AUTOSAR design requirement are not supported for GPT Driver :

[SWS_Gpt_00382 ,SWS_Gpt_00383, SWS_Gpt_00384, SWS_Gpt_00385, SWS_Gpt_00386, SWS_Gpt_00390, SWS_Gpt_00391, SWS_Gpt_00395, SWS_Gpt_00396, SWS_Gpt_00397, SWS_Gpt_00402, SWS_Gpt_00398, SWS_Gpt_00399, SWS_Gpt_00400, SWS_Gpt_00401, SWS_Gpt_00403, ECUC_Gpt_00335, ECUC_Gpt_00335]

Rejection Reason : Since this device has less number of timer instances available; this functionality is not supported as it would require blocking of additional timers and would leave no instances available for regular use.

[SWS_Gpt_00127, SWS_Gpt_00258, SWS_Gpt_00339, SWS_Gpt_00151, SWS_Gpt_00255, SWS_Gpt_00152, SWS_Gpt_00153, SWS_Gpt_00164, SWS_Gpt_00165, SWS_Gpt_00341, SWS_Gpt_00231, SWS_Gpt_00201, SWS_Gpt_00392, SWS_Gpt_00393, SWS_Gpt_00159, SWS_Gpt_00157, SWS_Gpt_00155, SWS_Gpt_00202, SWS_Gpt_00215, SWS_Gpt_00229, SWS_Gpt_00160, SWS_Gpt_00158, SWS_Gpt_00156, SWS_Gpt_00203, SWS_Gpt_00230, SWS_Gpt_00216, SWS_Gpt_00321, SWS_Gpt_00322, SWS_Gpt_00323, SWS_Gpt_00324, SWS_Gpt_00325, ECUC_Gpt_00311, ECUC_Gpt_00235, ECUC_Gpt_00313, ECUC_Gpt_00320]

Rejection Reason : Even though the underlying hardware provides wakeup capability the timers are connected to same clock sources as the CPU; once we enter Low Power Mode these clocks are gated. So timers will also stop working in low power mode. Hence, this functionality is not enabled in Gpt.

4.4.5. Source files

📦f29h85x_mcal
┣ 📂build
┣ 📂docs
┣ 📂drivers
┃ ┣ 📂BSW_Stubs
┃ ┣ 📂Dio
┃ ┣ 📂Gpt
┃ ┃ ┣ 📂include
┃ ┃ ┃ ┣ 📜Gpt.h : Contains the API declarations of the Gpt driver to be used by upper layers.
┃ ┃ ┃ ┗ 📜Gpt_Priv.h : contains the private functions declarations
┃ ┃ ┣ 📂src
┃ ┃ ┃ ┣ 📜Gpt.c : contains the implementation of the API’s for GPT driver.
┃ ┃ ┃ ┣ 📜Gpt_Irq.c : contains the implementation for GPT interrupts handlers.
┃ ┃ ┃ ┗ 📜Gpt_Priv.c : contains the implementation for GPT private functions which will directly interact with hardware registers.
┃ ┃ ┗ 📜CMakeLists.txt
┃ ┣ 📂hw_include
┃ ┣ 📂Mcal_Lib
┃ ┣ 📂Mcu
┃ ┗ 📂Port
┣ 📂examples
┣ 📂plugins
┣ 📜CMakeLists.txt
┗ 📜CMakePresets.json

GPT MCAL AUTOSAR

Fig. 4.13 Gpt Header File Structure.

4.4.6. Module requirements

4.4.6.1. Memory Mapping

Will be added in later release

4.4.6.2. Scheduling

None

4.4.6.3. Error handling

4.4.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.4.6.4. Error codes

4.4.6.4.1. Development Errors

Type of Error

Related Error code

Value (Hex)

API service called without module initialization

GPT_E_UINIT

0x0A

API service for initialization called when already initialized

GPT_E_ALREADY_INITIALIZED

0x0D

API error return code: Init function failed

GPT_E_INIT_FAILED

0x0E

API parameter checking: invalid channel

GPT_E_PARAM_CHANNEL

0x14

API parameter checking: invalid value

GPT_E_PARAM_VALUE

0x15

API parameter checking: invalid pointer

GPT_E_PARAM_POINTER

0x16

API parameter checking: invalid Predef Time

GPT_E_PARAM_PREDEF_TIMER

0x17

API parameter checking: invalid mode

GPT_E_PARAM_MODE

0x1F

4.4.6.4.2. Runtime Errors

Type of Error

Related Error code

Value (Hex)

API service called when timer channel is still busy (running)

GPT_E_BUSY

0x0B

API service called when driver is in wrong mode

GPT_E_MODE

0x0C

4.4.7. Used resources

4.4.7.1. Interrupt Handling

The Driver doesn’t register any interrupts handler (ISR), it’s expected that consumer of this driver registers the required interrupt handler.

For every Gpt channel with notification enabled, an ISR requires to be registered. The Interrupt number associated with instance of the Timer is detailed in TRM (also, please refer the Example application).

GptChannelId

Timer Instance

Associated ISR (if notification is enabled)

0

Timer 0

Gpt_Ch0Isr

1

Timer 1

Gpt_Ch1Isr

2

Timer 2

Gpt_Ch2Isr

Note

Same interrupt category should be configured in Os module

4.4.7.2. Instance support

CPU instances

supported

CPU 1

YES

CPU 2

NO

CPU 3

NO

4.4.7.3. Hardware-Software Mapping

The table below describes the CPU Timer registers used by GPT module and the base address for the corresponding registers Below image shows Gpt driver Hardware-Software mapping. For more information related to HW/SW mapping, refer the F29 Reference Manual.

GPT HW/SW MAPPING

Fig. 4.14 Gpt HW/SW Mapping.

4.4.8. Integration description

4.4.8.1. Dependent modules

4.4.8.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 GPT_CFG_DEV_ERROR_DETECT will activate or deactivate the detection of all development errors.

4.4.8.1.2. SchM

If multiple AUTOSAR runnables have access to the same Data Store Memory block, the exported AUTOSAR specification enforces data consistency by using an AUTOSAR exclusive area. With this specification, the runnables have mutually exclusive access to the per-instance memory global data, which prevents data corruption. Beside the OS, the BSW Scheduler provides functions that GPT module calls at begin and end of critical sections. This implementation requires 1 level of exclusive access to guard critical sections.

The data consistency mechanism that has to be applied to an ExclusiveArea might be domain, ECU or even project specific. The decision which mechanism has to be applied by RTE / Basic Software Scheduler is taken during ECU integration by setting the Exclusive Area configuration parameter RteExclusiveAreaImplMechanism. This parameter is an input for RTE generator.
For GPT Module, data consistency and exclusive access to critical sections are required for the following sections as shown in the table below:

Exclusive Area Functions used

Port Function calling Exclusive Area

Need for Exclusive Area

Recommended Exclusive Area Mapping

PORT_EXCLUSIVE_AREA_0

Gpt_StartTimer
Gpt_StopTimer
Gpt_EnableNotification
Gpt_DisableNotification

To protect against multiple access for shared resources, i.e. Timer Registers, which can lead to race condition

OS_RESOURCE : If the Gpt APIs are only called from pre-emptible task context, its recommended to use this mechanism as it takes care of resource access protection and task priority management.
None: If Gpt APIs are only called from non pre-emptible task context or during init, its recommended to use this mechanism as multiple access protection to shared resource is not needed.

4.4.8.1.3. MCU

MCU Module is required to initialize all the clock to be used by different peripherals

4.4.8.2. Multi-core and Resource allocator

Not Supported

4.4.9. Configuration

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

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

Note

If CPU Timer2 is used in OS, parameter ‘GptUseTimer2InOS’ should be checked in GPT configurator.

4.4.9.1. Migration Guide to v02.00.00 from v01.00.02 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 Gpt_Init function will need to use the new configuration structure name. For example:

/* Old code (v01.00.02 or any older versions) */
Gpt_Init(&Gpt_ConfigSetptr);

/* New code (v02.00.00) */
Gpt_Init(&Gpt_Config);

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.4.9.2. GptChannelConfigSet

This container is the base of a Configuration Set which contains the configured GPT channels. This way, different configuration sets can be defined for post-build process.

4.4.9.2.1. GptUseTimer2InOS

Item

Name

GptUseTimer2InOS

Description

Enable/Disable of CPU timer2 usage in OS

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.4.9.2.2. GptChannelConfiguration

Configuration of an individual GPT channel.

4.4.9.2.2.1. GptChannelId

Item

Name

GptChannelId

Description

Channel Id of the GPT channel. This value will be assigned to the symbolic name derived of the GptChannelConfiguration container short name.

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

2

Min-value

0

4.4.9.2.2.2. GptChannelMode

Item

Name

GptChannelMode

Description

Specifies the behavior of the timer channel after the target time is reached.

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

GPT_CH_MODE_ONESHOT

Range

GPT_CH_MODE_CONTINUOUS
GPT_CH_MODE_ONESHOT

4.4.9.2.2.3. GptChannelPrescaleValue

Item

Name

GptChannelPrescaleValue

Description

The input GPT clock will be divided by this value

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Post-Build-Time

VARIANT-POST-BUILD

Default-value

0

Max-value

65535

Min-value

0

4.4.9.2.2.4. GptEnableWakeup

Item

Name

GptEnableWakeup

Description

Enables wakeup capability of MCU for a channel.

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

false

4.4.9.2.2.5. GptNotification

Item

Name

GptNotification

Description

Function pointer to callback function (for non-wakeup notification)

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

true

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

NULL_PTR

4.4.9.2.2.6. GptSimulationStatus

Item

Name

GptSimulationStatus

Description

Specifies the simulation state(Enable/Disable) of the timer.

Origin

Texas Instruments

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

GPT_SIM_DISABLE

Range

GPT_SIM_DISABLE
GPT_SIM_ENABLE

4.4.9.2.2.7. GptSimulationMode

Item

Name

GptSimulationMode

Description

Specifies the behavior of the timer in simulation mode(Stop timer at next counter decrement or Stop timer at nect elapsed time).

Origin

Texas Instruments

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

GPT_SIM_STOP_TIMER_AT_NEXT_COUNTER_DEC

Range

GPT_SIM_STOP_TIMER_AT_NEXT_COUNTER_DEC
GPT_SIM_STOP_TIMER_AT_NEXT_TIMER_ELAPSE

4.4.9.2.2.8. GptTypeofInterrupt

Item

Name

GptTypeofInterrupt

Description

Type of ISR function

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

GPT_ISR_CAT1_RTINT

Range

GPT_ISR_CAT1_RTINT
GPT_ISR_CAT1_INT
GPT_ISR_CAT2

4.4.9.2.2.9. GptChannelClkSrcRef

Item

Name

GptChannelClkSrcRef

Description

Reference to the GptClockReferencePoint from which the channel

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.4.9.2.3. GptWakeupConfiguration

Function pointer to callback function (for wakeup notification).

4.4.9.2.3.1. GptWakeupSourceRef

Item

Name

GptWakeupSourceRef

Description

In case the wakeup-capability is true this value is transmitted to the Ecu State Manager.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.4.9.3. GptConfigurationOfOptApiServices

This container contains all configuration switches for configuring optional API services of the GPT driver.

4.4.9.3.1. GptDeinitApi

Item

Name

GptDeinitApi

Description

Adds / removes the service Gpt_DeInit() from the code.

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.4.9.3.2. GptEnableDisableNotificationApi

Item

Name

GptEnableDisableNotificationApi

Description

Adds / removes the services Gpt_EnableNotification() and Gpt_DisableNotification from the code.

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.4.9.3.3. GptTimeElapsedApi

Item

Name

GptTimeElapsedApi

Description

Adds / removes the service Gpt_GetTimeElapsed() from the code

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.4.9.3.4. GptTimeRemainingApi

Item

Name

GptTimeRemainingApi

Description

Adds / removes the service Gpt_GetTimeRemaining() from the code.

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.4.9.3.5. GptVersionInfoApi

Item

Name

GptVersionInfoApi

Description

Adds / removes the service Gpt_GetVersionInfo() from the code.

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.4.9.3.6. GptWakeupFunctionalityApi

Item

Name

GptWakeupFunctionalityApi

Description

Adds / removes the services Gpt_SetMode(), Gpt_EnableWakeup() Gpt_DisableWakeup() and Gpt_CheckWakeup() from the code.

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.4.9.4. GptDriverConfiguration

This container contains the module-wide configuration (parameters) of the GPT Driver

4.4.9.4.1. GptDevErrorDetect

Item

Name

GptDevErrorDetect

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.4.9.4.2. GptPredefTimer100us32bitEnable

Item

Name

GptPredefTimer100us32bitEnable

Description

Enables/disables the GPT Predef Timer 100?s32bit.

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.4.9.4.3. GptPredefTimer1usEnablingGrade

Item

Name

GptPredefTimer1usEnablingGrade

Description

Specifies the grade of enabling the GPT Predef Timers with 1?s tick duration.

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

GPT_PREDEF_TIMER_1US_DISABLED

Range

GPT_PREDEF_TIMER_1US_16BIT_ENABLED
GPT_PREDEF_TIMER_1US_16_24BIT_ENABLED
GPT_PREDEF_TIMER_1US_16_24_32BIT_ENABLED
GPT_PREDEF_TIMER_1US_DISABLED

4.4.9.4.4. GptReportWakeupSource

Item

Name

GptReportWakeupSource

Description

Enables/Disables wakeup source reporting.

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.4.9.4.5. GptClockReferencePoint

This container contains a parameter, which represents a reference to a container of the type McuClockReferencePoint (defined in module MCU). Refer AUTOSAR_SWS_GPTDriver section: 10 Configuration specification for configuration parameters details

4.4.9.5. Steps To Configure Gpt Module

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

  2. Go to GptChannelConfiguration Container tab and create a new container.

  3. Configure the channels parameters for all channels.

  4. Save the configuration and generate the configuration.

4.4.10. Examples

The example applications demonstrates use of Gpt module, the list below identifies key steps performed in the example.

Support both Post Build and Pre Compile Configuration Variants

4.4.10.1. Gpt_Example_Timers

4.4.10.1.1. Overview Of Gpt_Example_Timers

  • Gpt_Example_Timers

    • EcuM_Init()

      • Initializes clock to 200 MHz using Mcu_Init()

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

      • Initializes Gpt driver using Gpt_Init()

    • Gpt_GetVersionInfo will get the software version info details

    • Gpt_DeInit()

      • DeInitializes Gpt driver using Gpt_DeInit()

    • Gpt_Init()

      • Initialize Gpt Driver

    • Enable notification for all channels using Gpt_EnableNotification()

    • Start timer for all channels using Gpt_StartTimer()

    • Wait for 1.1 seconds for timers notified by one time

    • Stop all timers using Gpt_StopTimer

    • DeInitializes Gpt driver

4.4.10.1.2. Setup required to run Gpt_Example_Timers example

  • Install Code Composer Studio latest version

  • Install C29 compiler

4.4.10.1.3. How to run Gpt_Example_Timers example

  • Open CCS and import Gpt_Example_Timers Example

  • Build project and start debug project

4.4.10.1.4. Sample Log For Gpt_Example_Timers

Sample Application - STARTS !!!
Gpt MCAL Version Info
---------------------
Vendor ID           : 44
Module ID           : 100
SW Major Version    : 1
SW Minor Version    : 0
SW Patch Version    : 0

Test 1: Initialize Gpt Driver
Initializing Gpt Driver...
API Gpt_Init executed successfully
---------------------------------------------------------------

Test 2: Enable notifications for all Channels
Notifications enabled for all channels
API Gpt_EnableNotification executed successfully for all channels
---------------------------------------------------------------

Test 3:  Start timer for all Channels
Timer started for all channels
API Gpt_StartTimer executed successfully for all channels
---------------------------------------------------------------

Test 4:Wait until all the timers get notified at least 1 time.
CHANNEL-0: Time_elapsed and Time_remaining values in one shot modeWhen the timer  is in Running state are(Time_elapsed = 279 Time_remaining = 19999585)
CHANNEL-0: Time_elapsed and Time_remaining values in one shot modeWhen the timer  is in Running state are(Time_elapsed = 279 Time_remaining = 19999585)
CHANNEL-0: Time_elapsed and Time_remaining values in one shot modeWhen the timer  is in Running state are(Time_elapsed = 279 Time_remaining = 19999585)
CHANNEL-0: Time_elapsed and Time_remaining values in one shot modeWhen the timer  is in Running state are(Time_elapsed = 279 Time_remaining = 19999585)
CHANNEL-0: Time_elapsed and Time_remaining values in one shot modeWhen the timer  is in Running state are(Time_elapsed = 279 Time_remaining = 19999585)
CHANNEL-0: Time_elapsed and Time_remaining values in one shot modeWhen the timer  is in Running state are(Time_elapsed = 279 Time_remaining = 19999585)
CHANNEL-0: Time_elapsed and Time_remaining values in one shot modeWhen the timer  is in Running state are(Time_elapsed = 279 Time_remaining = 19999585)
CHANNEL-0: Time_elapsed and Time_remaining values in one shot modeWhen the timer  is in Running state are(Time_elapsed = 279 Time_remaining = 19999585)
CHANNEL-0: Time_elapsed and Time_remaining values in one shot modeWhen the timer  is in Running state are(Time_elapsed = 279 Time_remaining = 19999585)
CHANNEL-1:Time_elapsed and Time_remaining values in continuous modeWhen the timer is in Running state are(Time_elapsed = 362 Time_remaining = 199999502)
CHANNEL-0: Time_elapsed and Time_remaining values in one shot modeWhen the timer  is in Running state are(Time_elapsed = 279 Time_remaining = 19999585)
CHANNEL-2:Time_elapsed and Time_remaining values in continuous modeWhen the timer is in Running state are(Time_elapsed = 5306230 Time_remaining = 194693634)
CHANNEL-0: Time_elapsed and Time_remaining values in one shot modeWhen the timer  is in Running state are(Time_elapsed = 279 Time_remaining = 19999585)
CHANNEL-0: Time_elapsed and Time_remaining values in one shot modeWhen the timer  is in Running state are(Time_elapsed = 279 Time_remaining = 19999585)
CHANNEL-0: Time_elapsed and Time_remaining values in one shot modeWhen the timer  is in Running state are(Time_elapsed = 279 Time_remaining = 19999585)
CHANNEL-0: Time_elapsed and Time_remaining values in one shot modeWhen the timer  is in Running state are(Time_elapsed = 279 Time_remaining = 19999585)
CHANNEL-0: Time_elapsed and Time_remaining values in one shot modeWhen the timer  is in Running state are(Time_elapsed = 279 Time_remaining = 19999585)
CHANNEL-0: Time_elapsed and Time_remaining values in one shot modeWhen the timer  is in Running state are(Time_elapsed = 279 Time_remaining = 19999585)
---------------------------------------------------------------

Test 5: Stop timer for all Channels
Timer stopped for all channels
API Gpt_StopTimer executed successfully for all channels

---------------------------------------------------------------
Test 6: De-initialize Gpt Driver
DeInitializing Gpt Driver...
API Gpt_DeInit executed successfully

------------------------------------------
Gpt_Example_Timers: Sample Application - Completes successfully !!!
Result - PASS!!

4.4.10.2. Gpt_Example_OneShotMode

4.4.10.2.1. Overview Of Gpt_Example_OneShotMode

  • Gpt_Example_OneShotMode

    • EcuM_Init()

      • Initializes clock to 200 MHz using Mcu_Init()

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

      • Initializes Gpt driver using Gpt_Init()

    • Gpt_DeInit()

      • DeInitializes Gpt driver using Gpt_DeInit()

    • Gpt_Init()

      • Initialize Gpt Driver

    • Enable notification for all channels using Gpt_EnableNotification()

    • Start timer for all channels using Gpt_StartTimer() for 10ms timeout

    • Wait for 11 milliseconds for timers notified by one time

    • Stop all timers using Gpt_StopTimer

    • Start timer for all channels using Gpt_StartTimer() for 100ms timeout

    • Wait for 101 milliseconds for timers notified by one time

    • Stop all timers using Gpt_StopTimer

    • Start timer for all channels using Gpt_StartTimer() for 1s timeout

    • Wait for 11 seconds for timers notified by one time

    • Stop all timers using Gpt_StopTimer

    • Start timer for all channels using Gpt_StartTimer() for max tick timeout

    • Wait for max tick time for timers notified by one time

    • Stop all timers using Gpt_StopTimer

    • DeInitializes Gpt driver

4.4.10.2.2. Setup required to run Gpt_Example_OneShotMode example

  • Install Code Composer Studio latest version

  • Install C29 compiler

4.4.10.2.3. How to run Gpt_Example_OneShotMode example

  • Open CCS and import Gpt_Example_OneShotMode Example

  • Build project and start debug project

4.4.10.2.4. Sample Log For Gpt_Example_OneShotMode

Initialize Gpt Driver
Initializing Gpt Driver...
API Gpt_Init executed successfully

---------------------------------------------------------------

Enable notifications for all Channels
Notifications enabled for all channels
API Gpt_EnableNotification executed successfully for all channels

---------------------------------------------------------------

---------------------------------------------------------------------------------------
Simultaneous Timers Test In one shot mode for 10ms Timeout - Started !!!
---------------------------------------------------------------------------------------

Start timer for all Channels with 10ms Timeout
Timer started for all channels with 10ms Timeout
API Gpt_StartTimer executed successfully for all channels

Wait until all the timers get notified at least 1 time.

---------------------------------------------------------------------------------------
Simultaneous Timers Test In one shot mode for 10ms Timeout - Passed !!!
---------------------------------------------------------------------------------------

Reset all counters.
Stop timer for all Channels
Timer stopped for all channels
API Gpt_StopTimer executed successfully for all channels

---------------------------------------------------------------------------------------
Simultaneous Timers Test In one shot mode for 100msTimeout - Started !!!
---------------------------------------------------------------------------------------

Start timer for all Channels with 100ms Timeout
Timer started for all channels with 100ms Timeout
API Gpt_StartTimer executed successfully for all channels

Wait until all the timers get notified at least 1 time.

---------------------------------------------------------------------------------------
 Simultaneous Timers Test In one shot mode for 100ms Timeout - Passed !!!
---------------------------------------------------------------------------------------

Reset all counters.
Stop timer for all Channels
Timer stopped for all channels
API Gpt_StopTimer executed successfully for all channels

---------------------------------------------------------------------------------------
Simultaneous Timers Test In one shot mode for 1s Timeout - Started !!!
---------------------------------------------------------------------------------------

Start timer for all Channels with 1s Timeout
Timer started for all channels with 1s Timeout
API Gpt_StartTimer executed successfully for all channels

Wait until all the timers get notified at least 1 time.

---------------------------------------------------------------------------------------
 Simultaneous Timers Test In one shot mode for 1s Timeout - Passed !!!
---------------------------------------------------------------------------------------

Reset all counters.
Stop timer for all Channels
Timer stopped for all channels
API Gpt_StopTimer executed successfully for all channels

---------------------------------------------------------------------------------------
Simultaneous Timers Test In one shot mode for Max Tick Timeout - Started !!!
---------------------------------------------------------------------------------------

Start timer for all Channels with Max Tick Timeout
Timer started for all channels with Max Tick Timeout
API Gpt_StartTimer executed successfully for all channels

Wait until all the timers get notified at least 1 time.

---------------------------------------------------------------------------------------
Simultaneous Timers Test In one shot mode for Max tick Timeout - Passed !!!
---------------------------------------------------------------------------------------

Stop timer for all Channels
Timer stopped for all channels
API Gpt_StopTimer executed successfully for all channels

De-initialize Gpt Driver
DeInitializing Gpt Driver...
API Gpt_DeInit executed successfully

------------------------------------------
Result - PASS!!

4.4.10.3. Gpt_Example_MixedMode

4.4.10.3.1. Overview Of Gpt_Example_MixedMode

  • Gpt_Example_MixedMode

    • EcuM_Init()

      • Initializes clock to 200 MHz using Mcu_Init()

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

      • Initializes Gpt driver using Gpt_Init()

    • Gpt_DeInit()

      • DeInitializes Gpt driver using Gpt_DeInit()

    • Gpt_Init()

      • Initialize Gpt Driver

    • Enable notification for all channels using Gpt_EnableNotification()

    • Start timer for channel 1&2 channels using Gpt_StartTimer()

    • Wait for 1.1 seconds for timers notified by one time

    • Stop channel 1&2 timers using Gpt_StopTimer

    • DeInitializes Gpt driver

4.4.10.3.2. Setup required to run Gpt_Example_MixedMode example

  • Install Code Composer Studio latest version

  • Install C29 compiler

4.4.10.3.3. How to run Gpt_Example_MixedMode example

  • Open CCS and import Gpt_Example_MixedMode Example

  • Build project and start debug project

4.4.10.3.4. Sample Log For Gpt_Example_MixedMode

Initialize Gpt Driver
Initializing Gpt Driver...
API Gpt_Init executed successfully

---------------------------------------------------------------

Enable notifications for all Channels
Notifications enabled for all channels
API Gpt_EnableNotification executed successfully for all channels

---------------------------------------------------------------

---------------------------------------------------------------------------------------
Mixed modes and Simultaneous Timers Test1for 1s timeout - Started !!!
---------------------------------------------------------------------------------------

 Start timer for all Channels with 1s Timeout
Timer started for all channels with 1s Timeout
API Gpt_StartTimer executed successfully for all channels

Wait until all the timers get notified at least 1 time.

CHANNEL-1:Time_elapsed and Time_remaining values in continuous modeWhen the timer is in Running state are(Time_elapsed = 289 Time_remaining = 19999572)
CHANNEL-2:Time_elapsed and Time_remaining values in continuous modeWhen the timer is in Running state are(Time_elapsed = 197 Time_remaining = 19999664)
Stop timer for all Channels
Timer stopped for all channels
API Gpt_StopTimer executed successfully for all channels

---------------------------------------------------------------------------------------
De-initialize Gpt Driver
DeInitializing Gpt Driver...
API Gpt_DeInit executed successfully
---------------------------------------------------------------------------------------

Mixed modes and Simultaneous Timers Test1for 1s timeout - Passed !!!
---------------------------------------------------------------------------------------
Result - PASS!!

4.4.10.4. Gpt_Example_InterruptTimeout

4.4.10.4.1. Overview Of Gpt_Example_InterruptTimeout

  • Gpt_Example_InterruptTimeout

    • EcuM_Init()

      • Initializes clock to 200 MHz using Mcu_Init()

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

      • Initializes Gpt driver using Gpt_Init()

    • Gpt_DeInit()

      • DeInitializes Gpt driver using Gpt_DeInit()

    • Gpt_Init()

      • Initialize Gpt Driver

    • Enable notification for all channels using Gpt_EnableNotification()

    • Set DioChannel_0 to STD_HIGH

    • Start timer for channel 1&2 channels using Gpt_StartTimer()

    • Wait for 1.1 seconds for timers notified by one time

    • Set DioChannel_0 to STD_LOW

    • Check interrupt time is 1s or not manually.

    • Stop channel 1&2 timers using Gpt_StopTimer

    • DeInitializes Gpt driver

4.4.10.4.2. Setup required to run Gpt_Example_InterruptTimeout example

  • Install Code Composer Studio latest version

  • Install C29 compiler

  • Connect the hardware and power up

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

4.4.10.4.3. How to run Gpt_Example_InterruptTimeout example

  • Open CCS and Import Gpt_Example_InterruptTimeout example

  • Build project and start debug project

4.4.10.4.4. Sample Log For Gpt_Example_InterruptTimeout

Initialize Gpt Driver
Initializing Gpt Driver...
API Gpt_Init executed successfully

---------------------------------------------------------------

Enable notifications for  Channel 0
Notifications enabled for all channels
API Gpt_EnableNotification executed successfully for all channels

---------------------------------------------------------------

---------------------------------------------------------------------------------------
Positive test case to validate interrupt delay - Started !!!
---------------------------------------------------------------------------------------

Start timer for two  Channels
API Gpt_StartTimer executed successfully for all channels

---------------------------------------------------------------

API Gpt_StartTimer executed successfully for all channels

Wait until all the timers get notified 1 time.

CHANNEL-0: Time_elapsed and Time_remaining values in one shot modeWhen the timer  is in Running state are(Time_elapsed = 199 Time_remaining = 19999662)
CHANNEL-1:Time_elapsed and Time_remaining values in continuous modeWhen the timer is in Running state are(Time_elapsed = 274314 Time_remaining = 19725547)
---------------------------------------------------------------

Stop timer for Channel 0 and 1
Timer stopped for channel 0
API Gpt_StopTimer executed successfully for all channels

---------------------------------------------------------------

De-initialize Gpt Driver
DeInitializing Gpt Driver...
API Gpt_DeInit executed successfully
---------------------------------------------------------------------------------------
Positive test case to validate interrupt delay - Passed !!!
---------------------------------------------------------------------------------------
Result - PASS!!

4.4.10.5. Gpt_Example_ContinuousMode

4.4.10.5.1. Overview Of Gpt_Example_ContinuousMode

  • Gpt_Example_ContinuousMode

    • EcuM_Init()

      • Initializes clock to 200 MHz using Mcu_Init()

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

      • Initializes Gpt driver using Gpt_Init()

    • Gpt_DeInit()

      • DeInitializes Gpt driver using Gpt_DeInit()

    • Gpt_Init()

      • Initialize Gpt Driver

    • Enable notification for all channels using Gpt_EnableNotification()

    • Start timer for all channels using Gpt_StartTimer() for 10ms timeout

    • Wait for 11 milliseconds for timers notified by one time

    • Stop all timers using Gpt_StopTimer

    • Start timer for all channels using Gpt_StartTimer() for 100ms timeout

    • Wait for 101 milliseconds for timers notified by one time

    • Stop all timers using Gpt_StopTimer

    • Start timer for all channels using Gpt_StartTimer() for 1s timeout

    • Wait for 11 seconds for timers notified by one time

    • Stop all timers using Gpt_StopTimer

    • Start timer for all channels using Gpt_StartTimer() for max tick timeout

    • Wait for max tick time for timers notified by one time

    • Stop all timers using Gpt_StopTimer

    • DeInitializes Gpt driver

4.4.10.5.2. Setup required to run Gpt_Example_ContinuousMode example

  • Install Code Composer Studio latest version

  • Install C29 compiler

4.4.10.5.3. How to run Gpt_Example_ContinuousMode example

  • Open CCS and import Gpt_Example_ContinuousMode Example

  • Build project and start debug project

4.4.10.5.4. Sample Log For Gpt_Example_ContinuousMode

Initialize Gpt Driver
Initializing Gpt Driver...
API Gpt_Init executed successfully

---------------------------------------------------------------

Enable notifications for all Channels
Notifications enabled for all channels
API Gpt_EnableNotification executed successfully for all channels

---------------------------------------------------------------

---------------------------------------------------------------------------------------
Simultaneous Timers Test In Continuous mode for 10ms Timeout - Started !!!
---------------------------------------------------------------------------------------

Start timer for all Channels with 10ms Timeout
Timer started for all channels with 10ms Timeout
API Gpt_StartTimer executed successfully for all channels

Wait until all the timers get notified at least 1 time.

---------------------------------------------------------------------------------------
Simultaneous Timers Test In Continuous mode for 10ms Timeout - Passed !!!
---------------------------------------------------------------------------------------

Reset all counters.
Stop timer for all Channels
Timer stopped for all channels
API Gpt_StopTimer executed successfully for all channels

---------------------------------------------------------------------------------------
Simultaneous Timers Test In Continuous mode for 100ms Timeout - Started !!!
---------------------------------------------------------------------------------------

Start timer for all Channels with 100ms Timeout
Timer started for all channels with 100ms Timeout
API Gpt_StartTimer executed successfully for all channels

Wait until all the timers get notified at least 1 time.

---------------------------------------------------------------------------------------
Simultaneous Timers Test In Continuous mode for 100ms Timeout - Passed !!!
---------------------------------------------------------------------------------------

Reset all counters.
Stop timer for all Channels
Timer stopped for all channels
API Gpt_StopTimer executed successfully for all channels

---------------------------------------------------------------------------------------
Simultaneous Timers Test In Continuous mode for 1s Timeout - Started !!!
---------------------------------------------------------------------------------------

Start timer for all Channels with 1s Timeout
Timer started for all channels with 1s Timeout
API Gpt_StartTimer executed successfully for all channels

Wait until all the timers get notified at least 1 time.

---------------------------------------------------------------------------------------
Simultaneous Timers Test In Continuous mode for 1s Timeout - Passed !!!
---------------------------------------------------------------------------------------

Reset all counters.
Stop timer for all Channels
Timer stopped for all channels
API Gpt_StopTimer executed successfully for all channels

---------------------------------------------------------------------------------------
Simultaneous Timers Test In Continuous mode for Max Tick Timeout - Started !!!
---------------------------------------------------------------------------------------

Start timer for all Channels with Max Tick Timeout
Timer started for all channels with Max Tick Timeout
API Gpt_StartTimer executed successfully for all channels

Wait until all the timers get notified at least 1 time.

---------------------------------------------------------------------------------------
Simultaneous Timers Test In Continuous mode for Max tick Timeout - Passed !!!
---------------------------------------------------------------------------------------

Stop timer for all Channels
Timer stopped for all channels
API Gpt_StopTimer executed successfully for all channels

De-initialize Gpt Driver
DeInitializing Gpt Driver...
API Gpt_DeInit executed successfully

------------------------------------------
Result - PASS!!

4.4.10.6. File Structure

📦f29h85x_mcal
┣ 📂build
┣ 📂docs
┣ 📂drivers
┣ 📂examples
┃ ┣ 📂AppUtils
┃ ┣ 📂Can
┃ ┣ 📂DeviceSupport
┃ ┣ 📂Dio
┃ ┣ 📂Gpt
┃ ┃ ┣ 📂Gpt_Example_ContinuousMode
┃ ┃ ┃ ┣ 📂CCS
┃ ┃ ┃ ┃ ┗ 📜Gpt_Example_ContinuousMode.projectspec
┃ ┃ ┃ ┣ 📂Gpt_Timers_ContinuousMode_config
┃ ┃ ┃ ┃ ┣ 📂config
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Gpt.xdm : Generated EB Tresos config file in .xdm format
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Os.xdm
┃ ┃ ┃ ┃ ┃ ┗ 📜Port.xdm
┃ ┃ ┃ ┃ ┣ 📂include
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Gpt_Cfg.h : Contains the generated pre-compiler configuration header.
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Os_Cfg.h
┃ ┃ ┃ ┃ ┃ ┗ 📜Port_Cfg.h
┃ ┃ ┃ ┃ ┣ 📂src
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Gpt_Cfg.h : Contains the prebuild configuration parameters.
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu_PBCfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Os_Cfg.c
┃ ┃ ┃ ┃ ┃ ┗ 📜Port_PBCfg.c
┃ ┃ ┃ ┃ ┗ 📜CMakeLists.txt
┃ ┃ ┃ ┣ 📜CMakeLists.txt
┃ ┃ ┃ ┣ 📜Gpt_Example_ContinuousMode.c
┃ ┃ ┃ ┣ 📜Gpt_Example_ContinuousMode.h
┃ ┃ ┣ 📂Gpt_Example_InterruptTimeout
┃ ┃ ┃ ┣ 📂CCS
┃ ┃ ┃ ┃ ┗ 📜Gpt_Example_InterruptTimeout.projectspec
┃ ┃ ┃ ┣ 📂Gpt_Interrupt_Timeout_config
┃ ┃ ┃ ┃ ┣ 📂config
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Dio.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Gpt.xdm : Generated EB Tresos config file in .xdm format
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Os.xdm
┃ ┃ ┃ ┃ ┃ ┗ 📜Port.xdm
┃ ┃ ┃ ┃ ┣ 📂include
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Dio_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Gpt_Cfg.h :Contains the generated pre-compiler configuration header.
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Os_Cfg.h
┃ ┃ ┃ ┃ ┃ ┗ 📜Port_Cfg.h
┃ ┃ ┃ ┃ ┣ 📂src
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Dio_LCfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Gpt_Cfg.h : Contains the prebuild configuration parameters.
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu_PBCfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Os_Cfg.c
┃ ┃ ┃ ┃ ┃ ┗ 📜Port_PBCfg.c
┃ ┃ ┃ ┃ ┗ 📜CMakeLists.txt
┃ ┃ ┃ ┣ 📜CMakeLists.txt
┃ ┃ ┃ ┣ 📜Gpt_Example_InterruptTimeout.c
┃ ┃ ┃ ┣ 📜Gpt_Example_InterruptTimeout.h
┃ ┃ ┣ 📂Gpt_Example_MixedMode
┃ ┃ ┃ ┣ 📂CCS
┃ ┃ ┃ ┃ ┗ 📜Gpt_Example_MixedMode.projectspec
┃ ┃ ┃ ┣ 📂Gpt_Timers_MixedMode_config
┃ ┃ ┃ ┃ ┣ 📂config
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Gpt.xdm : Generated EB Tresos config file in .xdm format
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Os.xdm
┃ ┃ ┃ ┃ ┃ ┗ 📜Port.xdm
┃ ┃ ┃ ┃ ┣ 📂include
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Gpt_Cfg.h : Contains the generated pre-compiler configuration header.
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Os_Cfg.h
┃ ┃ ┃ ┃ ┃ ┗ 📜Port_Cfg.h
┃ ┃ ┃ ┃ ┣ 📂src
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Gpt_Cfg.h : Contains the prebuild configuration parameters.
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu_PBCfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Os_Cfg.c
┃ ┃ ┃ ┃ ┃ ┗ 📜Port_PBCfg.c
┃ ┃ ┃ ┃ ┗ 📜CMakeLists.txt
┃ ┃ ┃ ┣ 📜CMakeLists.txt
┃ ┃ ┃ ┣ 📜Gpt_Example_MixedMode.c
┃ ┃ ┃ ┣ 📜Gpt_Example_MixedMode.h
┃ ┃ ┣ 📂Gpt_Example_OneShotMode
┃ ┃ ┃ ┣ 📂CCS
┃ ┃ ┃ ┃ ┗ 📜Gpt_Example_OneShotMode.projectspec
┃ ┃ ┃ ┣ 📂Gpt_Timers_OneShotMode_config
┃ ┃ ┃ ┃ ┣ 📂config
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Gpt.xdm : Generated EB Tresos config file in .xdm format
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Os.xdm
┃ ┃ ┃ ┃ ┃ ┗ 📜Port.xdm
┃ ┃ ┃ ┃ ┣ 📂include
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Gpt_Cfg.h :Contains the generated pre-compiler configuration header.
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Os_Cfg.h
┃ ┃ ┃ ┃ ┃ ┗ 📜Port_Cfg.h
┃ ┃ ┃ ┃ ┣ 📂src
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Gpt_Cfg.h : Contains the prebuild configuration parameters.
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu_PBCfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Os_Cfg.c
┃ ┃ ┃ ┃ ┃ ┗ 📜Port_PBCfg.c
┃ ┃ ┃ ┃ ┗ 📜CMakeLists.txt
┃ ┃ ┃ ┣ 📜CMakeLists.txt
┃ ┃ ┃ ┣ 📜Gpt_Example_OneShotMode.c
┃ ┃ ┃ ┣ 📜Gpt_Example_OneShotMode.h
┃ ┃ ┗ 📂Gpt_Example_Timers
┃ ┃ ┃ ┣ 📂CCS
┃ ┃ ┃ ┃ ┗ 📜Gpt_Example_Timers.projectspec
┃ ┃ ┃ ┣ 📂Gpt_Example_Timers_config
┃ ┃ ┃ ┃ ┣ 📂config
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Gpt.xdm : Generated EB Tresos config file in .xdm format
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Os.xdm
┃ ┃ ┃ ┃ ┃ ┗ 📜Port.xdm
┃ ┃ ┃ ┃ ┣ 📂include
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Gpt_Cfg.h : Contains the generated pre-compiler configuration header.
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Os_Cfg.h
┃ ┃ ┃ ┃ ┃ ┗ 📜Port_Cfg.h
┃ ┃ ┃ ┃ ┣ 📂src
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Gpt_Cfg.h : Contains the prebuild configuration parameters.
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu_PBCfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Os_Cfg.c
┃ ┃ ┃ ┃ ┃ ┗ 📜Port_PBCfg.c
┃ ┃ ┃ ┃ ┗ 📜CMakeLists.txt
┃ ┃ ┃ ┣ 📜CMakeLists.txt
┃ ┃ ┃ ┣ 📜Gpt_Example_Timers.c
┃ ┃ ┃ ┣ 📜Gpt_Example_Timers.h
┃ ┣ 📂Mcu
┃ ┣ 📂Port
┣ 📂plugins
┣ 📜CMakeLists.txt
┗ 📜CMakePresets.json

Note

Either Gpt_PBcfg.c OR Gpt_Cfg.c will be present based on selected config variant by user