ExcpnHndlg Integration Manual

Integration Manual

For

ExcpnHndlg

VERSION: 1

DATE: 12/11/17

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl.No.DescriptionAuthorVersionDate
1Initial versionAvinash James1.012/11/17

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 8

4.1 Build Time Config 8

4.2 Configuration Files to be provided by Integration Project 8

4.3 Da Vinci Parameter Configuration Changes 8

4.4 DaVinci Interrupt Configuration Changes 8

4.5 Manual Configuration Changes 8

5 Integration DATAFLOW REQUIREMENTS 9

5.1 Required Global Data Inputs 9

5.2 Required Global Data Outputs 9

5.3 Specific Include Path present 9

6 Runnable Scheduling 10

7 Memory Map REQUIREMENTS 11

7.1 Mapping 11

7.2 Usage 11

7.3 NvM Blocks 11

8 Compiler Settings 12

8.1 Preprocessor MACRO 12

8.2 Optimization Settings 12

9 Appendix 13

Abbrevations And Acronyms

AbbreviationDescription

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1FDD : CM101B_ ExcpnHndlg_DesignSee Synergy sub project version
2EA4 Software Naming ConventionsSoftware Engineering Process 04.04.02
3Software Design and Coding StandardsSoftware Engineering Process 04.04.02

Dependencies

SWCs

ModuleRequired Feature

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

SetMcuDiagcIdnData – Non-Rte Server Interface (called as needed)

GetMcuDiagcIdnData – Non-Rte Server Interface (called as needed)

SysErrIrq/Patched_SysErrIrq – Interrupt Handler Routine (triggered by Interrupt)

FpuErrIrq/Patched_FpuErrIrq – Interrupt Handler Routine (triggered by Interrupt)

AlgnErrIrq – Interrupt Handler Routine (triggered by Interrupt)

ResdOperIrq – Interrupt Handler Routine (triggered by Interrupt)

ExcpnHndlgInit1 – Non-RTE initialization function (called during startup before RTE is initialized)

FeNmiPegErr – Callout function for interrupt response handling (to be called by FENMI Interrupt handler)

FeNmiDmaTrfErr – Callout function for interrupt response handling (to be called by FENMI Interrupt handler)

FeNmiEcmMstChkrErr– Callout function for interrupt response handling (to be called by FENMI Interrupt handler)

FeNmiWdgErr– Callout function for interrupt response handling (to be called by FENMI Interrupt handler)

ProcUkwnExcpnErr – Callout function for OS error response handling (to be called by OS error handler)

ProcMpuExcpnErr – Callout function for OS error response handling (to be called by OS error handler)

ProcPrvlgdInstrExcpnErr – Callout function for OS error response handling (to be called by OS error handler)

ProcPrmntOsErr – Callout function for OS error response handling (to be called by OS error handler)

ProcNonCritOsErr – Callout function for OS error response handling (to be called by OS error handler)

ChkForStrtUpTest_Oper – (called as needed from both RTE and non-RTE context))

FeNmiClkMonr0RtLowrLimFlt – Callout function responding to Clock Monitor 0 Runtime Lower Limit Failure(to be called by FENMI Interrupt handler)

FeNmiClkMonr0RtErr – Callout function responding to Clock Monitor 0 Runtime Failure (to be called by FENMI Interrupt handler)

FeNmiClkMonr1RtErr – Callout function responding to Clock Monitor 1 Runtime Failure (to be called by FENMI Interrupt handler)

FeNmiClkMonr2RtErr – Callout function responding to Clock Monitor 2 Runtime Failure (to be called by FENMI Interrupt handler)

FeNmiClkMonr3RtErr – Callout function responding to Clock Monitor 3 Runtime Failure (to be called by FENMI Interrupt handler)

FeNmiClkMonr5RtErr – Callout function responding to Clock Monitor 5 Runtime Failure (to be called by FENMI Interrupt handler)

FeNmiModErrDbgActv – Callout function responding to Debug mode active failure (to be called by FENMI Interrupt handler)

FeNmiModErrProgmModActv – Callout function responding to Programming mode active failure (to be called by FENMI Interrupt handler)

FeNmiModErrUsrModInactv – Callout function responding to user mode being inactive failure (to be called by FENMI Interrupt handler)

FeNmiModErrTestModActv – Callout function responding to Test mode active failure (to be called by FENMI Interrupt handler)

FeNmiBusBrdgErr – Callout function responding to Bus Bridge error (to be called by FENMI Interrupt handler)

FeNmiBusSngBitEccErr – Callout function Single bit ECC error on the data bus (to be called by FENMI Interrupt handler)

FeNmiCodFlsEccAdrOvfErr – Callout function code flash ecc address overflow error (to be called by FENMI Interrupt handler)

FeNmiCodFlsIllglAcsBySysBus – Callout function responding to illegal access of code flash by the system bus (to be called by FENMI Interrupt handler)

FeNmiDmaIllglAcsErr – Callout function responding to illegal access by the DMA (to be called by FENMI Interrupt handler)

FeNmiDmaLockStepErrOrGblRamWrBufErr – Callout function responding to Dma lock step error or Global RAM write buffer error (to be called by FENMI Interrupt handler)

FeNmiDtsRamDblBitEccErr – Callout function responding to Dts Ram ECC double bit failure (to be called by FENMI Interrupt handler)

FeNmiFlsSeqErr – Callout function responding to flash sequencer failure (to be called by FENMI Interrupt handler)

FeNmiGblRamIllglAcsByProcr – Callout function responding to illegal access of global RAM by processor (to be called by FENMI Interrupt handler)

FeNmiGblRamIllglAcsBySysBus – Callout function responding to global RAM illegal access by system bus (to be called by FENMI Interrupt handler)

FeNmiPrphlRamEccAdrOvfErr – Callout function responding to peripheral RAM ECC address overflow error (to be called by FENMI Interrupt handler)

FeNmiGlbRamEccAdrOvfErr – Callout function responding to global ram ecc address overflow error (to be called by FENMI Interrupt handler)

FeNmiGtmRamDblBitEccErr – Callout function responding to GTM RAM ecc double bit error (to be called by FENMI Interrupt handler)

FeNmiLclRamEccAdrOvfErr – Callout function responding to local RAM ecc address overflow error (to be called by FENMI Interrupt handler)

FeNmiProcrLockStepErr – Callout function responding to processor lockstep error (to be called by FENMI Interrupt handler)

FeNmiResdAreaIllglAcsByHiSpdBus – Callout function responding to Reserved area illegal access by High Speed bus (to be called by FENMI Interrupt handler)

Note:- The configuration for the Non RTE server runnables for the FENMI handler is done in the MCU component as per the error source configuration list available in CM104B Design.

The OS errors are configured in the OS component. OS document shall explain the configuration of the OS related errors

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes

Configuration Files to be provided by Integration Project

N/A

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
/Nexteer/ExcpnHndlg/
ExcpnHndlgCfg/WdgMCfgStr

WdgMConfig structure name. For OS Gen 7 or later, set this to WdgMConfig_Mode0_Core<n>

Otherwise Set it to WdgMConfig_Mode0
Name to be given by integrator based on the definition in WdgM_PBcfg.h file from Vector

ExcpnHndlg

DaVinci Interrupt Configuration Changes

ISR NameNotes
Patched_SysErrIrqThe ExcpnHndlg module implements an interrupt that needs a patch for a hardware problem that exists on the P1M hardware (see Renesas Technical Update TN-RH8-S001A/E). Nexteer has created the appropriate workaround that subsequently calls the normal interrupt handler code. Therefore, when configuring the SysErrIrq interrupt in the O/S the interrupt handler name should be configured to the Nexteer code with the workaround (“Patched_SysErrIrq”) instead of directly referencing the normal interrupt handler code.
Patched_FpuErrIrqThe ExcpnHndlg module implements an interrupt that needs a patch for a hardware problem that exists on the P1M hardware (see Renesas Technical Update TN-RH8-S001A/E). Nexteer has created the appropriate workaround that subsequently calls the normal interrupt handler code. Therefore, when configuring the FpuErrIrq interrupt in the O/S the interrupt handler name should be configured to the Nexteer code with the workaround (“Patched_FpuErrIrq”) instead of directly referencing the normal interrupt handler code.

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer FDD

Required Global Data Outputs

Refer FDD

Specific Include Path present

Yes

Runnable Scheduling

API usage and scheduling of BSW components expected to be captured at a project architectural level and is beyond the scope of this document. Third party documentation can be referenced as needed.

InitScheduling RequirementsTrigger
ExcpnHndlgInit1Pre-RTE initializatonOnce at init
ExcpnHndlgInit2After diagnostic manager is initialized and NTCs can be setRTE initialization
ChkForStrtUpTestNoneOn invocation
GetMcuDiagcSpplDataNoneOn invocation
RunnableScheduling RequirementsTrigger
ExcpnHndlgPer12ms

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
GlobalShared_START_SEC_VAR_CLEARED_16ExcpnHndlgOsErrCod_CUsed for memory mapping the variable to global shared
BackUpRam_START_SEC_VAR_CLEARED_321KB of back up RAM memoryNeed the array of 1KB of uint32 to be mapped to this section( address range 0xFEBF_FC00 to 0xFEBF_FFFF)

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
None

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

Last modified October 12, 2025: Initial commit (ddf2e20)