4.5. GPT

4.5.1. About This Document

Document Title

User Guide of MCAL GPT Driver

Document Version

Version 1.0

Company

Texas Instruments

Document Name

GPT User Guide

4.5.2. Revision History

Version

Date

Revision History

Status

Version 1.0

13 Oct 2023

Initial Release

Approved

4.5.3. Table of contents

  1. Acronyms and Definitions

  2. Functional Overview

  3. Deviations to requirements (Requirement Traceability)

  4. Integration Details

  5. API Description

  6. Configuration Description

  7. Memory Mapping

  8. Memory footprint

  9. Performance

  10. Example Usage

  11. FAQ’s

  12. Test Report (Link to test report)

  13. References

  14. Disclaimer

4.5.4. Acronyms and Definitions

Acronyms and Definitions Used are presented in below table.

Acronyms

Descriptions

BSW

Basic Software

DET

Default Error Tracer

GPT

General Purpose Timer

MCU

Micro Controller Unit

OS

Operating System

Definitions

Descriptions

Timer channel

Represents a logical timer entity assigned to a timer hardware

Target Time

Something as per requirement occurs once this time value reached.

Ticks

Defines the timer resolution, the duration of a timer increment

4.5.5. Functional Overview

4.5.5.1. Brief Overview

This document describes the functionality, API and configuration of the AUTOSAR BSW module GPT.

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)

Supported Platform

AM263px

The GPT module initializes and controls the internal General Purpose Timer(s) (GPT) of the microcontroller. The GPT driver provides services and configuration parameters for

  1. Starting and stopping hardware timers

  2. Getting timer values

  3. Controlling time triggered interrupt notifications

Note that the conversion between timer ticks provided by GPT and actual time value is not done by GPT. User software must take care of it. 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. The brief overview on GPT module is given below:

4.5.5.1.1. GPT Driver Architecture

The following figure shows where the GPT is in the AUTOSAR architecture.

../_images/gpt_image2.jpg

fig1: GPT in AUTOSAR architecture.

4.5.5.1.2. Initialization

The driver GPT is initialized by calling Gpt_Init(), with parameter ConfigPtr referencing a runtime configuration set. After de-initializing the module, that is calling Gpt_DeInit(), it can be initialized again.

4.5.5.1.3. States

Each GPT channel has up to five different states, depending on its configuration and running state as described below

  1. GPT_UNINITIALIZED: GPT channel is not initialized and not counting.

  2. GPT_INITIALIZED: GPT channel is initialized with Gpt_Init() and not counting.

  3. GPT_RUNNING: GPT channel is initialized and running (counting).

  4. GPT_STOPPED: GPT channel is initialized but not counting (stopped).

  5. GPT_EXPIRED: GPT channel is expired (timer overflowed). This state will be applicable in timer one shot mode where after encountering overflow timer stops.

The figure below taken from the AUTOSAR specification shows the state transitions for different function calls and events:

../_images/gpt_image3.jpg

fig2: GPT channel states and state transitions

4.5.5.1.4. GPT channel modes

The GPT channel can be configured in “one-shot mode” or in “continuous mode”.

  1. One-shot mode: In one-shot mode timer stops counting after overflow (when timer value matches to target value set by Gpt_StartTimer).

  2. Continuous mode: In continuous mode if the timer has reached the target time (timer value = target time), the timer will continue running with the value “0” at next timer tick.

GPT channel mode can be selected through configuration structure Gpt_ConfigType.

4.5.5.1.5. GPT operating modes

The GPT channels can be configured in normal mode. In this mode, GPT channel will be initialized with Gpt_Init(). In this mode, interrupt notifications will be allowed if enabled through configuration.

../_images/gpt_image4.jpg

fig3: GPT driver modes

4.5.5.1.6. GPT starting/stopping channel counting and reading count

The GPT channel starts counting after calling Gpt_Init() . The count value (target time in ticks) is passed to Gpt_StartTimer() function. GPT channel will start counting till target time is reached. Depending on channel mode it will stop (one-shot mode) or roll over (continuous mode) after target time is reached. GPT channel can be explicitly stopped by calling function Gpt_StopTimer(). This will stop channel from counting and disable all its interrupts notifications.

To read channel count when channel is running functions Gpt_GetTimeElapsed() and Gpt_GetTimeRemaining() can be used. As name suggests these give time elapsed after starting timer and time remaining to reach target time respectively. Below snapshot from GPT MCAL spec shows working of these two functions.

Please note that general-purpose timers doesn’t keep track on amount of time that has overflowed by above two functions and the time overflow is always considered absolute and not relative.

../_images/gpt_image5.jpg

fig4: Time Elapsed and Time remaining for a timer channel

4.5.5.1.7. GPT interrupt notifications

GPT driver supports enabling and disabling interrupt notifications for GPT channels through Gpt_EnableNotification() and Gpt_DisableNotification() functions. For getting notification from channel, a pointer to notification function should be passed through configuration structure during initialization. In case notification function not available Gpt_EnableNotification() will return an error. Also, it is important to note that interrupt notifications are only enabled when device is in normal mode. In sleep mode interrupt notifications are disabled if they are not wakeup capable (and not enabled for wakeup).

Once interrupt notifications are enabled GPT channel after counting till target time will generate interrupt and channel ISR will be called. This ISR will determine whether to call notification function or wakeup function depending on which one is enabled beforehand. It is responsibility of user software to register these ISR with MCU before starting channel.

4.5.5.2. Supported and Not Supported Features

IP Supported Features

AUTOSAR Supported Features

Not Supported Features

Free running 32 bit up counter

Initialization and de-initialization of all GPT channels.

Predefined timers are not supported.

Auto reload mode (can be used for continuous counter operation)

Starting and stopping of counting for individual channels.

Sleep and wakeup is not supported.

Support dynamic Start / Stop counter operation

Getting elapsed and remaining counter value

Programmable clock dividers (2n, where n = [0-8])

Enabling/disabling counter triggered interrupt notifications.

2 timers modules could be operated in cascaded mode to provide 64bit counter

One shot and continuous mode.

Programmable interrupt generation on overflow, compare and capture

Programmable clock source

Supports 3 basic functional modes Timer mode, Capture mode & Compare mode

4.5.5.3. Assumptions

None

4.5.5.4. Limitations

None

4.5.5.6. File Structure

Description of static files is provided below:

Static source and header files

Description

Gpt.h

Contains the API’s of the GPT driver to be used by upper layers

Gpt_Priv.h

Contains data structures and Internal function declarations

Gpt_Irq.h

Contains ISR function declaration

Gpt.c

Implementation of the API’s for GPT driver

Gpt_Priv.c

Contains Internal Functions Definitions

Gpt_Irq.c

Contains ISR function definitions

Description of generated files is provided below:

Plugin Files

Descriptions

Gpt_Cfg.h

Contains the base addresses, Precompile switches, Macros for channels, counters etc.

Gpt_PBcfg.c

Contains all channels Post-Build Configuration parameters

Gpt_Cfg.c

Contains all channels Pre-Compile Configuration parameters

The below diagram shows the files structure for the GPT driver.

../_images/gpt_image6.jpg

fig5 :GPT header file include structure

4.5.6. Deviations to requirements (Requirement Traceability)

4.5.6.1. Module Requirements

Will be updated in future release

4.5.6.2. Deviation of requirements against AUTOSAR specification requirements

Will be updated in future release

4.5.7. Integration Details

4.5.7.1. Dependency on Other Software Modules

4.5.7.1.1. MCU

The module MCU powers up the microcontroller’s peripherals at startup time and initializes the PLL as well as the internal clock domains which is connected to the GPT unit. The GPT module also supports an internal divider which can be changed at configuration time using the ‘prescale’ member of Gpt_ChannelConfigType structure to configure the actual GPT functional clock.

Note that Module GPT will not take care of settings which configure the clock and PLL for channels in its init function. This must be done by the MCU module.

4.5.7.1.2. Port

The GPT module does not require any PORT configuration. Hence there is no dependency on PORT module.

4.5.7.1.3. OS

An operating system can be used for task scheduling, interrupt handling, global suspend and restore of interrupts and creating of the Interrupt Vector Table.The GPT module may use AUTOSAR OS to suspend and restore global interrupts.

4.5.7.1.4. Error Handling module

4.5.7.1.4.1. DET

The module GPT depends on the DET (by default) to report development errors. Detection and reporting of development errors can be enabled or disabled by the switch “Enable Development Error Detection” on the tab “General Settings” within the module GPT. The DET can be replaced optionally by an equivalent component which is responsible to recognize development errors, if no DET component is available.

AUTOSAR requires that API functions shall check the validity of their respective parameters. These checks are for development error reporting and can be enabled or disabled.

Type of Error

Relevance

Related Error Code

Value

API service called without module initialization

Development

GPT_E_UNINIT

0x0A

API service is called when timer channel is still busy

Development

GPT_E_BUSY

0x0B

API service for initialization is called when already initialized

Development

GPT_E_ALREADY_INITIALIZED

0x0D

API parameter checking: invalid channel

Development

GPT_E_PARAM_CHANNEL

0x14

API parameter checking: invalid value

Development

GPT_E_PARAM_VALUE

0x15

API parameter checking: invalid pointer

Development

GPT_E_PARAM_POINTER

0x16

API parameter checking: invalid mode

Development

GPT_E_PARAM_MODE

0x1F

4.5.7.1.4.2. Runtime Errors

Type of Error

Relevance

Related Error Code

Value

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

Development

GPT_E_BUSY

0x0B

API service called when driver is in wrong mode

Development

GPT_E_MODE

0x0C

4.5.7.1.4.3. DEM

By default, production code related errors are reported to the DEM using the service DEM_ReportErrorStatus().

The errors reported to DEM are described in the following table:

Error Code

Description

Assigned by DEM

GPT_E_HARDWARE_ERROR

This error is raised when issued when GPT Timer register reset fails.

4.5.7.1.5. Callback Notification

This section describes notification functions which are passed to GPT driver as a target function. The target function is usually a call-back function. The names of these functions are not fixed and can be changed. At its configurable interfaces the GPT defines notifications that can be mapped to callback functions to respective channels. Function pointer to callback function (for non-wakeup notification) should be defined in Gpt.h with Gpt_NotifyType datatype. There should be separate notification call back function for each timer channel which is configured as Gpt_Channel_Notify<channelnumber>. Example: Gpt_Channel_Notify5 for channel 5

4.5.7.2. Hardware - Software - API name mapping

For interrupt notification and wakeup, ISR are provided in GPT driver. There is one ISR for each timer channel. Depending on mode of timer it will call notify function. The interrupt service routines shall be mapped to the interrupt sources of the respective GPT unit interrupt. The supported ISR’s are part of the Gpt_Irq.h file.

Following are timer modules with its respective ISRs for each channel in AM263px:

Timer

ISR

RTI0

Gpt_Ch0Isr()

RTI0

Gpt_Ch1Isr()

RTI0

Gpt_Ch2Isr()

RTI0

Gpt_Ch3Isr()

RTI1

Gpt_Ch4Isr()

RTI1

Gpt_Ch5Isr()

RTI1

Gpt_Ch6Isr()

RTI1

Gpt_Ch7Isr()

RTI2

Gpt_Ch8Isr()

RTI2

Gpt_Ch9Isr()

RTI2

Gpt_Ch10Isr()

RTI2

Gpt_Ch11Isr()

RTI3

Gpt_Ch12Isr()

RTI3

Gpt_Ch13Isr()

RTI3

Gpt_Ch14Isr()

RTI3

Gpt_Ch15Isr()

RTI4

Gpt_Ch16sr()

RTI4

Gpt_Ch17Isr()

RTI4

Gpt_Ch18Isr()

RTI4

Gpt_Ch19sr()

RTI5

Gpt_Ch20Isr()

RTI5

Gpt_Ch21Isr()

RTI5

Gpt_Ch22Isr()

RTI5

Gpt_Ch23Isr()

RTI6

Gpt_Ch24Isr()

RTI6

Gpt_Ch25Isr()

RTI6

Gpt_Ch26Isr()

RTI6

Gpt_Ch27Isr()

RTI7

Gpt_Ch28Isr()

RTI7

Gpt_Ch29Isr()

RTI7

Gpt_Ch30Isr()

RTI7

Gpt_Ch31Isr()

4.5.7.3. Scheduling Strategy

4.5.7.3.1. SchM

Beside the OS the BSW Scheduler provides functions that module GPT calls at begin and end of critical sections.

4.5.7.3.2. Critical Sections

There is only one kind of critical sections in this driver. Within these sections all read /modify/write accesses to internal GPT status variables must be protected. Therefore, switching to tasks that also access GPT must be avoided and all GPT interrupts must be suspended.

4.5.8. API Description

4.5.8.1. Description of the API’s(Can be referred to Api Guide spec)

Refer the AUTOSAR SWS for API documentation and Type definition.

4.5.8.2. API’s with Service ID

The following table presents the service IDs and the related services:

Service ID

Service

0x00

Gpt_GetVersionInfo

0x01

Gpt_Init

0x02

Gpt_DeInit

0x03

Gpt_GetTimeElapsed

0x04

Gpt_GetTimeRemaining

0x05

Gpt_StartTimer

0x06

Gpt_StopTimer

0x07

Gpt_EnableNotification

0x08

Gpt_DisableNotification

4.5.8.3. Description on Non Standard API’s

Gpt_RegisterReadback API–This function is non-autosar based and is used to read the data in the registers of GPT if we keep GPT_REGISTER_READBACK_API Macro as ON.

4.5.9. Configuration Description

4.5.9.1. Configuration Variants

The GPT can be configured as Post-Build or Pre-Compile variant, using EB tresos tool.

Variants

Generated Files

PostBuild

Gpt_PBcfg.c , Gpt_Cfg.h

Pre-Compile

Gpt_Cfg.c , Gpt_Cfg.h

4.5.9.2. Parameter Description

4.5.9.2.1. Standard Configuration

Will be updated in future release

4.5.9.2.2. IP Specific Configuration

GptCounterBlkId

This is the Counter block ID for the RTI modules. Each RTI module has 2 counter blocks that are defined in this configuration parameter.

GptRegisterReadback

Adds / removes the service Gpt_ConfigRegReadBack() function from the code.

GptTypeofInterruptFunction

To define type of ISR function.

GptPrescaler

Prescaler value is defined to get the desired frequency.

GptModule<module_number>CounterBlk0Frequency

Specifies the tick frequency of the timer channel of counter block0 in Hz.

GptModule<module_number>CounterBlk1Frequency

Specifies the tick frequency of the timer channel of counter block1 in Hz

GptDefaultOSCounterId

Defines default Os Counter Id if node reference to OsCounter ref GptOsCounterRef is set

GptOsCounterRef

This parameter contains a reference to the OsCounter, which is used by the GPT driver

GptTimeoutDuration

GPT timeout - used in GPT busy wait

GptDeviceVariant

To Select SOC AM263px variant

4.5.9.3. Symbolic Names deviations

None.

4.5.9.4. Configuration rules and constraints to enable plausibility checks

Will be updated in future release

4.5.10. Memory Mapping

Memory Mapping Sections

GPT_CODE

GPT_VAR

GPT_VAR_NOINIT | GPT_CONST

GPT_APPL_CODE

GPT_PBCFG

GPT_START_SEC_VAR_INIT_UNSPECIFIED (.data)

x


GPT_STOP_SEC_VAR_INIT_UNSPECIFIED

x

GPT_START_SEC_CODE (.text)

x

GPT_STOP_SEC_CODE

x

GPT_START_SEC_VAR_NO_INIT_UNSPECIFIED (.bss)

x

GPT_STOP_SEC_VAR_NO_INIT_UNSPECIFIED

x

GPT_START_SEC_CONST_UNSPECIFIED(.rodata)

x

GPT_STOP_SEC_CONST_UNSPECIFIED

x

GPT_START_SEC_ISR_CODE (.text)

x

GPT_STOP_SEC_ISR_CODE

x

GPT_START_SEC_CONST_PTR (.rodata)

x

GPT_STOP_SEC_CONST_PTR

x

GPT_START_SEC_VAR_INIT_PTR (.data)

x

GPT_STOP_SEC_VAR_INIT_PTR

x

For application code used by GPT (like callback functions)

x

4.5.11. Memory footprint

Please refer Memory Footprint for more details.

4.5.12. Performance

Not Applicable

4.5.13. Example Usage

4.5.13.1. Steps to build and run example

  1. GPT example application demonstrates the MCAL GPT driver features, which is referred from folder <MCAL_ROOT>/examples/Gpt.

  2. This application can be built from the build folder by giving “gmake –s gpt_app PLATFORM=am263”.

  3. Once the build is completed we get a binary file,which is loaded in our controller and executed.

4.5.13.2. Document external set up Information

None

4.5.13.3. Flow of the example application

  1. After initialization of timer followed by starting of timer, a channel waits until the interrupt is received. Interrupt indicates that 2sec is completed for respective channel.

  2. After receiving interrupt notification, it stops the current channel and starts next channel to execute the same process.

  3. The provided example application of GPT is configured with a preload value of 1 which equates to around 10ns/tick for a 200 MHz RTI Clock input.

4.5.13.4. Configuration used to test this example

  1. In Example program,total 12 channels are configured in AM263px.

  2. Channels 5, 6, 9, 12, 13, 16 are configured in Continuous mode in AM263px

  3. Channels 7, 8, 10, 11, 14, 15 are configured in one-shot mode in AM263px

  4. Channels 1, 2, 3, 4 are not configured as RTI0 timer is being used for delay and OS counter purpose.

  5. Each channel is configured to run for 2sec.

  6. If preload is set as ‘1’ in configuration with 200 MHz RTI Clock input and if expected timer for each channel shall run for 1sec.

    Then, Tick frequency = (200*10^6)/(1+1)

    Tick frequency = 100MHz = 10ns

    So,for every 10ns, counter will increase by 1.

    For getting 1Sec delay timer should count upto 1sec/10ns times. i.e, 100*10^6 times.

    So, 0x05F5E100 shall be passed to Gpt_StartTimer to produce 1sec delay.

4.5.13.5. Example Logs

AM263px

GPT_APP: Sample Application - STARTS !!!

GPT MCAL Version Info
---------------------
Vendor ID           : 44
Module ID           : 100
SW Major Version    : 9
SW Minor Version    : 0
SW Patch Version    : 0

----------------------------------------------------------------------------------
GPT_APP: GPTIMER Test Configuration
----------------------------------------------------------------------------------
Initializing channels
Post-Build variant is being used ..
------------------------------------------
GPT_APP: Running GPT Test for channel 4
------------------------------------------
GPT_APP: Starting timer for 2 s
GPT_APP: Time Elapsed Value = 4f
GPT_APP: Enable channel notification for this channel
GPT_APP: Wait for notification(approx. 2 seconds)
GPT_APP: GPT Test Notification Receiver channel 5 :)!!!

GPT_APP: Disable channel notification for this channel
GPT_APP: Wait till timer overflows, no notification should be received
GPT_APP: Time Elapsed Value = 0x27be4a
GPT_APP: Time Remaining Value = 0xba07231
Waiting for timer to overflow
Overflow happened no notification received
GPT_APP: Stop timer
GPT Test Passed for channel =4 !!!
------------------------------------------
GPT_APP: Running GPT Test for channel 5
------------------------------------------
GPT_APP: Starting timer for 2 s
GPT_APP: Time Elapsed Value = 23
GPT_APP: Enable channel notification for this channel
GPT_APP: Wait for notification(approx. 2 seconds)
GPT_APP: GPT Test Notification Receiver channel 6 :)!!!

GPT_APP: Disable channel notification for this channel
GPT_APP: Wait till timer overflows, no notification should be received
GPT_APP: Time Elapsed Value = 0x27be02
GPT_APP: Time Remaining Value = 0xba07287
Waiting for timer to overflow
Overflow happened no notification received
GPT_APP: Stop timer
GPT Test Passed for channel =5 !!!
------------------------------------------
GPT_APP: Running GPT Test for channel 6
------------------------------------------
GPT_APP: Starting timer for 2 s
GPT_APP: Time Elapsed Value = 23
GPT_APP: Enable channel notification for this channel
GPT_APP: Wait for notification(approx. 2 seconds)
GPT_APP: GPT Test Notification Receiver channel 7 :)!!!

GPT_APP: Disable channel notification for this channel
GPT_APP: Wait till timer overflows, no notification should be received
GPT_APP: Time Elapsed Value = 0xbebc200
GPT_APP: Time Remaining Value = 0x0
Waiting for timer to overflow
Overflow happened no notification received
GPT_APP: Stop timer
GPT Test Passed for channel =6 !!!
------------------------------------------
GPT_APP: Running GPT Test for channel 7
------------------------------------------
GPT_APP: Starting timer for 2 s
GPT_APP: Time Elapsed Value = 23
GPT_APP: Enable channel notification for this channel
GPT_APP: Wait for notification(approx. 2 seconds)
GPT_APP: GPT Test Notification Receiver channel 8 :)!!!

GPT_APP: Disable channel notification for this channel
GPT_APP: Wait till timer overflows, no notification should be received
GPT_APP: Time Elapsed Value = 0xbebc200
GPT_APP: Time Remaining Value = 0x0
Waiting for timer to overflow
Overflow happened no notification received
GPT_APP: Stop timer
GPT Test Passed for channel =7 !!!
------------------------------------------
GPT_APP: Running GPT Test for channel 8
------------------------------------------
GPT_APP: Starting timer for 2 s
GPT_APP: Time Elapsed Value = 23
GPT_APP: Enable channel notification for this channel
GPT_APP: Wait for notification(approx. 2 seconds)
GPT_APP: GPT Test Notification Receiver channel 9 :)!!!

GPT_APP: Disable channel notification for this channel
GPT_APP: Wait till timer overflows, no notification should be received
GPT_APP: Time Elapsed Value = 0x27bdfa
GPT_APP: Time Remaining Value = 0xba0728c
Waiting for timer to overflow
Overflow happened no notification received
GPT_APP: Stop timer
GPT Test Passed for channel =8 !!!
------------------------------------------
GPT_APP: Running GPT Test for channel 9
------------------------------------------
GPT_APP: Starting timer for 2 s
GPT_APP: Time Elapsed Value = 23
GPT_APP: Enable channel notification for this channel
GPT_APP: Wait for notification(approx. 2 seconds)
GPT_APP: GPT Test Notification Receiver channel 10 :)!!!

GPT_APP: Disable channel notification for this channel
GPT_APP: Wait till timer overflows, no notification should be received
GPT_APP: Time Elapsed Value = 0xbebc200
GPT_APP: Time Remaining Value = 0x0
Waiting for timer to overflow
Overflow happened no notification received
GPT_APP: Stop timer
GPT Test Passed for channel =9 !!!
------------------------------------------
GPT_APP: Running GPT Test for channel 10
------------------------------------------
GPT_APP: Starting timer for 2 s
GPT_APP: Time Elapsed Value = 23
GPT_APP: Enable channel notification for this channel
GPT_APP: Wait for notification(approx. 2 seconds)
GPT_APP: GPT Test Notification Receiver channel 11 :)!!!

GPT_APP: Disable channel notification for this channel
GPT_APP: Wait till timer overflows, no notification should be received
GPT_APP: Time Elapsed Value = 0xbebc200
GPT_APP: Time Remaining Value = 0x0
Waiting for timer to overflow
Overflow happened no notification received
GPT_APP: Stop timer
GPT Test Passed for channel =10 !!!
------------------------------------------
GPT_APP: Running GPT Test for channel 11
------------------------------------------
GPT_APP: Starting timer for 2 s
GPT_APP: Time Elapsed Value = 23
GPT_APP: Enable channel notification for this channel
GPT_APP: Wait for notification(approx. 2 seconds)
GPT_APP: GPT Test Notification Receiver channel 12 :)!!!

GPT_APP: Disable channel notification for this channel
GPT_APP: Wait till timer overflows, no notification should be received
GPT_APP: Time Elapsed Value = 0x27e00d
GPT_APP: Time Remaining Value = 0xba05080
Waiting for timer to overflow
Overflow happened no notification received
GPT_APP: Stop timer
GPT Test Passed for channel =11 !!!
------------------------------------------
GPT_APP: Running GPT Test for channel 12
------------------------------------------
GPT_APP: Starting timer for 2 s
GPT_APP: Time Elapsed Value = 23
GPT_APP: Enable channel notification for this channel
GPT_APP: Wait for notification(approx. 2 seconds)
GPT_APP: GPT Test Notification Receiver channel 13 :)!!!

GPT_APP: Disable channel notification for this channel
GPT_APP: Wait till timer overflows, no notification should be received
GPT_APP: Time Elapsed Value = 0x27e014
GPT_APP: Time Remaining Value = 0xba05075
Waiting for timer to overflow
Overflow happened no notification received
GPT_APP: Stop timer
GPT Test Passed for channel =12 !!!
------------------------------------------
GPT_APP: Running GPT Test for channel 13
------------------------------------------
GPT_APP: Starting timer for 2 s
GPT_APP: Time Elapsed Value = 23
GPT_APP: Enable channel notification for this channel
GPT_APP: Wait for notification(approx. 2 seconds)
GPT_APP: GPT Test Notification Receiver channel 14 :)!!!

GPT_APP: Disable channel notification for this channel
GPT_APP: Wait till timer overflows, no notification should be received
GPT_APP: Time Elapsed Value = 0xbebc200
GPT_APP: Time Remaining Value = 0x0
Waiting for timer to overflow
Overflow happened no notification received
GPT_APP: Stop timer
GPT Test Passed for channel =13 !!!
------------------------------------------
GPT_APP: Running GPT Test for channel 14
------------------------------------------
GPT_APP: Starting timer for 2 s
GPT_APP: Time Elapsed Value = 23
GPT_APP: Enable channel notification for this channel
GPT_APP: Wait for notification(approx. 2 seconds)
GPT_APP: GPT Test Notification Receiver channel 15 :)!!!

GPT_APP: Disable channel notification for this channel
GPT_APP: Wait till timer overflows, no notification should be received
GPT_APP: Time Elapsed Value = 0xbebc200
GPT_APP: Time Remaining Value = 0x0
Waiting for timer to overflow
Overflow happened no notification received
GPT_APP: Stop timer
GPT Test Passed for channel =14 !!!
------------------------------------------
GPT_APP: Running GPT Test for channel 15
------------------------------------------
GPT_APP: Starting timer for 2 s
GPT_APP: Time Elapsed Value = 23
GPT_APP: Enable channel notification for this channel
GPT_APP: Wait for notification(approx. 2 seconds)
GPT_APP: GPT Test Notification Receiver channel 16 :)!!!

GPT_APP: Disable channel notification for this channel
GPT_APP: Wait till timer overflows, no notification should be received
GPT_APP: Time Elapsed Value = 0x27e011
GPT_APP: Time Remaining Value = 0xba0507e
Waiting for timer to overflow
Overflow happened no notification received
GPT_APP: Stop timer
GPT Test Passed for channel =15 !!!
GPT Test Passed for configuration!!
GPT Test Completed, njoy life!!!
GPT_APP: Sample Application - DONE !!!
GPT Stack Usage: 832 bytes
GPT Test Passed!!!

4.5.14. FAQ’s

None

4.5.16. References

Autosar SWS 4.3.1 will be updated in future release.

Technical Reference Manual

4.5.17. Disclaimer

Will be updated in future release.