This is the multi-page printable view of this section. Click here to print.
Component Implementation
1 - 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. | Description | Author | Version | Date |
| 1 | Initial version | Avinash James | 1.0 | 12/11/17 |
Table of Contents
3.2 Global Functions(Non RTE) to be provided to Integration Project 6
4 Configuration REQUIREMeNTS 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
Abbrevations And Acronyms
| Abbreviation | Description |
References
This section lists the title & version of all the documents that are referred for development of this document
| Sr. No. | Title | Version |
| 1 | FDD : CM101B_ ExcpnHndlg_Design | See Synergy sub project version |
| 2 | EA4 Software Naming Conventions | Software Engineering Process 04.04.02 |
| 3 | Software Design and Coding Standards | Software Engineering Process 04.04.02 |
Dependencies
SWCs
| Module | Required 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
| Modules | Notes | |
Configuration Files to be provided by Integration Project
N/A
Da Vinci Parameter Configuration Changes
| Parameter | Notes | SWC |
| /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 | ExcpnHndlg |
DaVinci Interrupt Configuration Changes
| ISR Name | Notes |
| Patched_SysErrIrq | The 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_FpuErrIrq | The 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
| Constant | Notes | SWC |
| 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.
| Init | Scheduling Requirements | Trigger |
| ExcpnHndlgInit1 | Pre-RTE initializaton | Once at init |
| ExcpnHndlgInit2 | After diagnostic manager is initialized and NTCs can be set | RTE initialization |
| ChkForStrtUpTest | None | On invocation |
| GetMcuDiagcSpplData | None | On invocation |
| Runnable | Scheduling Requirements | Trigger |
| ExcpnHndlgPer1 | 2ms |
.
Memory Map REQUIREMENTS
Mapping
| Memory Section | Contents | Notes |
| GlobalShared_START_SEC_VAR_CLEARED_16 | ExcpnHndlgOsErrCod_C | Used for memory mapping the variable to global shared |
| BackUpRam_START_SEC_VAR_CLEARED_32 | 1KB of back up RAM memory | Need 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
| Feature | RAM | ROM |
| None |
NvM Blocks
None
Compiler Settings
Preprocessor MACRO
None
Optimization Settings
None
Appendix
None
2 - ExcpnHndlg Module Design Document
Module Design Document
For
ExcpnHndlg
Mar 11, 2018
Prepared By:
Software Group,
Nexteer Automotive,
Saginaw, MI, USA
Change History
| Description | Author | Version | Date |
| Initial Version | Avinash James | 1.0 | 11-Dec-2017 |
| Updated local constants | Avinash James | 2.0 | 11-Mar-2018 |
Table of Contents
2 ExcpnHndlg & High-Level Description 5
3 Design details of software module 6
3.1.1 Graphical representation of ExcpnHndlg 6
4.1.1 Program (fixed) Constants 7
5 Software Component Implementation 11
5.1.5 Module Internal (Local) Functions 17
5.1.6 GLOBAL Function/Macro Definitions 18
6 Known Limitations with Design 19
Appendix A Abbreviations and Acronyms 21
Introduction
Purpose
This document details the design in the FDD and also lists out any deviations which were made from the design for the implementation due to any constraints in development. ExcpnHndlg MDD describes the exception handling / reset cause determination for microcontroller diagnostics
ExcpnHndlg & High-Level Description
Refer FDD
Design details of software module
Graphical representation of ExcpnHndlg
Data Flow Diagram

Component level DFD
N/A
Function level DFD
N/A
Constant Data Dictionary
Program (fixed) Constants
Embedded Constants
Local Constants
| Constant Name | Resolution | Units | Value |
|---|---|---|---|
| FPCFGININVAL_CNT_T_U32 | 1 | Counts | 0x0000001CU |
| FPCFGREGID_CNT_S32 | 1 | Counts | 10 |
| FPCFGSELNID_CNT_S32 | 1 | Counts | 0 |
| REGFEPCREGID_CNT_S32 | 1 | Counts | 2 |
| REGFEPCSELNID_CNT_S32 | 1 | Counts | 0 |
| MEAREGID_CNT_S32 | 1 | Counts | 6 |
| MEASELNID_CNT_S32 | 1 | Counts | 2 |
| FPSRREGID_CNT_S32 | 1 | Counts | 6 |
| FPSRSELNID_CNT_S32 | 1 | Counts | 0 |
| FPEPCREGID_CNT_S32 | 1 | Counts | 7 |
| FPEPCSELNID_CNT_S32 | 1 | Counts | 0 |
| MEIREGID_CNT_S32 | 1 | Counts | 8 |
| MEISELNID_CNT_S32 | 1 | Counts | 2 |
| FEICREGID_CNT_S32 | 1 | Counts | 14 |
| FEICSELNID_CNT_S32 | 1 | Counts | 0 |
| FPUINVLDOPERSTSBIT_CNT_U32 | 1 | Counts | ((uint32)(0x00004000U)) |
| FPUDIVBYZEROSTSBIT_CNT_U32 | 1 | Counts | ((uint32)(0x00002000U)) |
| FPUOVFSTSBIT_CNT_U32 | 1 | Counts | ((uint32)(0x00001000U)) |
| MEMERRINFOREADWRBIT_CNT_U32 | 1 | Counts | ((uint32)(0x00000001U)) |
| SEGVPGFMASK_CNT_U16 | 1 | Counts | ((uint16)(0x0200U)) |
| SEGVCRFMASK_CNT_U16 | 1 | Counts | ((uint16)(0x0100U)) |
| SEGTCMFMASK_CNT_U16 | 1 | Counts | ((uint16)(0x0040U)) |
| SEGROMFMASK_CNT_U16 | 1 | Counts | ((uint16)(0x0020U)) |
| SEGVCIFMASK_CNT_U16 | 1 | Counts | ((uint16)(0x0010U)) |
| HISPDBUSRESDAREAUPPRADR_CNT_U32 | 1 | Counts | ((uint32)(0XF2FFFFFFU)) |
| HISPDBUSRESDAREALOWRADR_CNT_U32 | 1 | Counts | ((uint32)(0x10000000U)) |
| IPGREGAREAUPPRADR_CNT_U32 | 1 | Counts | ((uint32)(0XFFFEE000U)) |
| IPGREGAREALOWRADR_CNT_U08 | 1 | Counts | ((uint32)(0xFFFEE024U)) |
| SEGREGAREAUPPRADR_CNT_U32 | 1 | Counts | ((uint32)(0xFFFEE98BU)) |
| SEGREGAREALOWRADR_CNT_U08 | 1 | Counts | ((uint32)(0xFFFEE980U)) |
| PRPHLRESDAREALOWRADR_CNT_U08 | 1 | Counts | ((uint32)(0xFF000000U)) |
| CODFLSINSTRFETCHERRFEICREGVAL | 1 | Counts | ((uint32)0x11U) |
| CODFLSECCDBLBITORADRPARERR_CNT_U08 | 1 | Counts | ((uint8)2U) |
| CODFLSSEQERR_CNT_U08 | 1 | Counts | ((uint8)4U) |
| MEMBISTSTRTUPTESTFAILR_CNT_U08 | 1 | Counts | 1U |
| LCLRAMECCDBLBIT_CNT_U08 | 1 | Counts | ((uint8)2U) |
| GBLRAMECCDBLBIT_CNT_U08 | 1 | Counts | ((uint8)4U) |
| GTMRAMRAMECCDBLBIT_CNT_U08 | 1 | Counts | ((uint8)8U) |
| INVLDRAMAREA_CNT_U08 | 1 | Counts | ((uint8)128U) |
| LCLRAMECCADROVFFLT_CNT_U08 | 1 | Counts | ((uint8)1U) |
| GLBRAMECCADROVFFLT_CNT_U08 | 1 | Counts | ((uint8)2U) |
| CODFLSECCADROVFFLT_CNT_U08 | 1 | Counts | ((uint8)4U) |
| FRRAMECCOVFFLT_CNT_U08 | 1 | Counts | ((uint8)8U) |
| CSIHRAMECCOVFFLT_CNT_U08 | 1 | Counts | ((uint8)16U) |
| CANRAMECCOVFFLT_CNT_U08 | 1 | Counts | ((uint8)32U) |
| GTMRAMECCOVFFLT_CNT_U08 | 1 | Counts | ((uint8)64U) |
| GBLRAMILLGLACSBYPROCRFLT_CNT_U08 | 1 | Counts | ((uint8)1U) |
| CODFLSILLGLACSBYSYSBUSFLT_CNT_U08 | 1 | Counts | ((uint8)2U) |
| GBLRAMILLGLACSBYSYSBUS_CNT_U08 | 1 | Counts | ((uint8)4U) |
| RESDAREAILLGLACSBYHISPDBUS_CNT_U08 | 1 | Counts | ((uint8)8U) |
| DTSDBLBIT_CNT_U08 | 1 | Counts | ((uint8)2U) |
| BISTCODECCFAILR_CNT_U08 | 1 | Counts | ((uint8)1U) |
| BISTNOTCMPL_CNT_U08 | 1 | Counts | ((uint8)2U) |
| LOGLBISTSTRTUPTESTFAILR_CNT_U08 | 1 | Counts | ((uint8)4U) |
| FACIRSTTRFERR_CNT_U08 | 1 | Counts | ((uint8)128U) |
| LOCKSTEPCOMP_CNT_U08 | 1 | Counts | ((uint8)1U) |
| PROCLOCKSTEPRTERR_CNT_U08 | 1 | Counts | ((uint8)2U) |
| DMALOCKSTEPRTORGBLRAMWRBUFERR_CNT_U08 | 1 | Counts | ((uint8)4U) |
| ALGNWR_CNT_U08 | 1 | Counts | ((uint8)8U) |
| ALGNREAD_CNT_U08 | 1 | Counts | ((uint8)16U) |
| RESDOPER_CNT_U08 | 1 | Counts | ((uint8)32U) |
| CODFLSINSTRFETCH_CNT_U08 | 1 | Counts | ((uint8)64U) |
| NONCODFLSINSTRFETCH_CNT_U08 | 1 | Counts | ((uint8)128U) |
| CLKMONR0RTFLT_CNT_U08 | 1 | Counts | ((uint8)1U) |
| CLKMONR1RTFLT_CNT_U08 | 1 | Counts | ((uint8)2U) |
| CLKMONR2RTFLT_CNT_U08 | 1 | Counts | ((uint8)4U) |
| CLKMONR3RTFLT_CNT_U08 | 1 | Counts | ((uint8)8U) |
| CLKMONR5RTFLT_CNT_U08 | 1 | Counts | ((uint8)32U) |
| MODERRUSRMODINACTV_CNT_U08 | 1 | Counts | ((uint8)1U) |
| MODERRPROGMMODACTV_CNT_U08 | 1 | Counts | ((uint8)2U) |
| MODERRDBGACTV_CNT_U08 | 1 | Counts | ((uint8)4U) |
| MODERRTESTMODACTV_CNT_U08 | 1 | Counts | ((uint8)8U) |
| DATAANDINSTRPROTNERR_CNT_U08 | 1 | Counts | ((uint8)1U) |
| PRVLGDINSTREXCPN_CNT_U08 | 1 | Counts | ((uint8)2U) |
| ECMMSTCHKRSTRTUPTESTFAILR_CNT_U08 | 1 | Counts | ((uint8)1U) |
| ECMCONFIGOUTPCTRLFLT_CNT_U08 | 1 | Counts | ((uint8)4U) |
| EIINTRPTSTRTUPTESTFAILR_CNT_U08 | 1 | Counts | ((uint8)8U) |
| ECMMSTCHKROUTPCTRLFAILR_CNT_U08 | 1 | Counts | ((uint8)32U) |
| ECMRTMSTCHKRCOMPFLT_CNT_U08 | 1 | Counts | ((uint8)128U) |
| FPUINVLDOPEREXCPN_CNT_U08 | 1 | Counts | ((uint8)2U) |
| FPUDIVBYZEROEXCPN_CNT_U08 | 1 | Counts | ((uint8)4U) |
| FPUOVFEXCPN_CNT_U08 | 1 | Counts | ((uint8)8U) |
| FPUUKWNEXCPN_CNT_U08 | 1 | Counts | ((uint8)16U) |
| UKWNECMRST_CNT_U08 | 1 | Counts | ((uint8)1U) |
| UKWNRST_CNT_U08 | 1 | Counts | ((uint8)2U) |
| FLSBTLDRPREOSSRTUPEXCPN_CNT_U08 | 1 | Counts | ((uint8)4U) |
| STRTUPRSTINFOFAILD_CNT_U08 | 1 | Counts | ((uint8)8U) |
| UKWNSWRST_CNT_U08 | 1 | Counts | ((uint8)16U) |
| PROGFLOW_CNT_U08 | 1 | Counts | ((uint8)1U) |
| DEADLINEMONR_CNT_U08 | 1 | Counts | ((uint8)2U) |
| ALVMONR_CNT_U08 | 1 | Counts | ((uint8)4U) |
| WDGTOUT_CNT_U08 | 1 | Counts | ((uint8)1U) |
| PBGGUARDWRERR_CNT_U08 | 1 | Counts | ((uint8)1U) |
| IPGRTFLT_CNT_U08 | 1 | Counts | ((uint8)2U) |
| PBGGUARDREADERR_CNT_U08 | 1 | Counts | ((uint8)4U) |
| HISPDBUSGUARDERR_CNT_U08 | 1 | Counts | ((uint8)8U) |
| CODFLSGUARDERR_CNT_U08 | 1 | Counts | ((uint8)16U) |
| GBLRAMGUARDERR_CNT_U08 | 1 | Counts | ((uint8)32U) |
| PEGERR_CNT_U08 | 1 | Counts | ((uint8)64U) |
| SYSERRGENREGWRINUSRMODE_CNT_U08 | 1 | Counts | ((uint8)1U) |
| IPGPROTNREGWRINUSRMODE_CNT_U08 | 1 | Counts | ((uint8)2U) |
| DBGRST_CNT_U08 | 1 | Counts | ((uint8)1U) |
| OSCRITFLT_CNT_U08 | 1 | Counts | ((uint8)1U) |
| UKWNEXCPN_CNT_U08 | 1 | Counts | ((uint8)2U) |
| DMATRFERR_CNT_U08 | 1 | Counts | ((uint8)1U) |
| DMAREGACSPROTCNERR_CNT_U08 | 1 | Counts | ((uint8)2U) |
| PRPHLBUSADRDATAECCFLT_CNT_U08 | 1 | Counts | ((uint8)1U) |
| PRPHLUMAPDAREAACS_CNT_U08 | 1 | Counts | ((uint8)2U) |
| HISPDBUSUMAPDAREAACS_CNT_U08 | 1 | Counts | ((uint8)4U) |
| BUSBRDGARBNERR_CNT_U08 | 1 | Counts | ((uint8)8U) |
| BUSSNGBITECCERR_CNT_U08 | 1 | Counts | ((uint8)16U) |
| INTCVMOVERVLTGMONR_CNT_U08 | 1 | Counts | ((uint8)1U) |
| INTCVMUNDERVLTGMONR_CNT_U08 | 1 | Counts | ((uint8)2U) |
| EXTVLTGMONRFLT_CNT_U08 | 1 | Counts | ((uint8)128U) |
| UPPR16BITMASK_CNT_U32 | 1 | Counts | ((uint32)(0xFFFF0000U)) |
| LOWR16BITMASK_CNT_U32 | 1 | Counts | ((uint32)(0x0000FFFFU)) |
| FPCFGININVAL_CNT_T_U32 | 1 | Counts | ((uint32)0x0000001CU) |
| MAXBACKUPRAMSIZE_CNT_U16 | 1 | Counts | ((uint16)1024U) |
Software Component Implementation
Sub-Module Functions
Init: ExcpnHndlgInit1
Design Rationale
Non-RTE function because it needs to be called before the OS is started - so that floating point exceptions can be enabled before anything uses floating point
Module Outputs
None
Init: ExcpnHndlgInit2
Design Rationale
RTE function to initialize all the NTCs to pass
Module Outputs
None
Per: ExcpnHndlgPer1
Design Rationale
RTE Periodic function called every 2 ms to check for OS errors
Store Module Inputs to Local copies
Refer MDD
(Processing of function)………
Triggered on Timing Event every 2ms
Store Local copy of outputs into Module Outputs
None
Server Runables
ChkForStrtUpTest
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiClkMonr0RtErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiClkMonr1RtErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiClkMonr2RtErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiClkMonr3RtErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiClkMonr5RtErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiModErrDbgActv
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiModErrProgmModActv
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiModErrUsrModInactv
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiModErrTestModActv
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiBusBrdgErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiBusSngBitEccErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiCodFlsEccAdrOvfErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiCodFlsIllglAcsBySysBus
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiDmaIllglAcsErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiDmaLockStepErrOrGblRamWrBufErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiDmaTrfErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiDtsRamDblBitEccErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiEcmMstChkrErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiFlsSeqErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiGblRamIllglAcsByProcr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiGblRamIllglAcsBySysBus
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiPrphlRamEccAdrOvfErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiGlbRamEccAdrOvfErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiGtmRamDblBitEccErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiLclRamEccAdrOvfErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiPegErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiProcrLockStepErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiResdAreaIllglAcsByHiSpdBus
Design Rationale
Refer FDD
Processing of function
Refer FDD
FeNmiWdgErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
ProcUkwnExcpnErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
ProcMpuExcpnErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
ProcPrvlgdInstrExcpnErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
ProcPrmntOsErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
ProcNonCritOsErr
Design Rationale
Refer FDD
Processing of function
Refer FDD
GetMcuDiagcIdnData
Design Rationale
Refer FDD
Processing of function
Refer FDD
SetMcuDiagcIdnData
Design Rationale
Refer FDD
Processing of function
Refer FDD
Interrupt Functions
AlgnErrIrq
Design Rationale
Refer FDD
Processing of function
Refer FDD
FpuErrIrq
Design Rationale
Refer FDD
Processing of function
Refer FDD
SysErrIrq
Design Rationale
Refer FDD
Processing of function
Refer FDD
ResdOperIrq
Design Rationale
Refer FDD
Processing of function
Refer FDD
Module Internal (Local) Functions
ProcStrtUpOrSwRst
| Function Name | ProcStrtUpOrSwRst | Type | Min | Max |
| Arguments Passed | None | |||
| Return Value | NA |
Design Rationale
Refer FDD
Processing of function
Refer FDD
McuDiagcRstChk
| Function Name | McuDiagcRstChk | Type | Min | Max |
| Arguments Passed | RstInfo_Cnt_T_enum | McuDiagc1 | Refer FDD* | Refer FDD* |
| Return Value | McuDiagcRstChk_Cnt_T_lgc | Boolean | FALSE | TRUE |
Design Rationale
Checks if the reset cause is power on/Flash Progamming /Hard Reset /Soft Reset.
Processing
Refer the FDD
GLOBAL Function/Macro Definitions
<If these are numerous and defined in a separate source file then reference the source file only.>
GLOBAL Function #1
| Function Name | (Exact name used) | Type | Min | Max |
| Arguments Passed | (if none, write None) | <Refer MDD guidelines[1]> | <Refer MDD guidelines[1]> | <Refer MDD guidelines[1]> |
| (Insert more rows for additional passed arguments) | ||||
| Return Value | (if no value returned, write N/A) |
Design Rationale
processing
(Place flowchart/design for local function)
Known Limitations with Design
None
UNIT TEST CONSIDERATION
The PIMs listed in the Data dictionary file BackUpRam and ExcpnHndlgOsErrCod are non RTE PIMS which need special memory mapping and are not generated through RTE. Hence use the component level variable name as used in the component for these PIMs
Abbreviations and Acronyms
| Abbreviation or Acronym | Description |
|---|---|
Glossary
Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:
ISO 9000
ISO/IEC 12207
ISO/IEC 15504
Automotive SPICE® Process Reference Model (PRM)
Automotive SPICE® Process Assessment Model (PAM)
ISO/IEC 15288
ISO 26262
IEEE Standards
SWEBOK
PMBOK
Existing Nexteer Automotive documentation
| Term | Definition | Source |
|---|---|---|
| MDD | Module Design Document | |
| DFD | Data Flow Diagram |
References
| Ref. # | Title | Version |
|---|---|---|
| 1 | AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf) | v1.3.0 R4.0 Rev 2 |
| 2 | MDD Guideline | Process 04.04.02 |
| 3 | Software Naming Conventions.doc | Process 04.04.02 |
| 4 | Software Design and Coding Standards.doc | Process 04.04.02 |
| 5 | FDD (CM101B_ExcpnHndlg_Design) | See Synergy Subproject version |