McuErrInj Module Design Document

Module Design Document

For

McuErrInj

Jul 25, 2017

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USAChange History

DescriptionAuthorVersionDate
Initial VersionAvinash James1.015-Mar-2017
Added the global functionsAvinash James2.025-Jul-2017

Table of Contents

1 Introduction 5

1.1 Purpose 5

2 McuDiagc & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of McuDiagc 7

3.2 Data Flow Diagram 7

3.2.1 Component level DFD 7

3.2.2 Function level DFD 7

4 Constant Data Dictionary 8

4.1 Program (fixed) Constants 8

4.1.1 Embedded Constants 8

5 Software Component Implementation 9

5.1 Sub-Module Functions 9

5.1.1 Init: McuErrInjInit1 9

5.1.1.1 Design Rationale 9

5.1.1.2 Module Outputs 9

5.1.2 Per: McuErrInjPer1 9

5.1.2.1 Design Rationale 9

5.1.2.2 Store Module Inputs to Local copies 9

5.1.2.3 (Processing of function)……… 9

5.1.2.4 Store Local copy of outputs into Module Outputs 9

5.1.2.5 Store Local copy of outputs into Module Outputs 9

5.2 Server Runnable 10

5.2.1 ClrErrInjReg_Oper 10

5.2.1.1 Design Rationale 10

5.2.1.2 Store Module Inputs to Local copies 10

5.2.1.3 (Processing of function)……… 10

5.2.1.4 Store Local copy of outputs into Module Outputs 10

5.2.1 ReadErrInjReg_Oper 10

5.2.1.1 Design Rationale 10

5.2.1.2 Store Module Inputs to Local copies 10

5.2.1.3 (Processing of function)……… 10

5.2.1.4 Store Local copy of outputs into Module Outputs 10

5.2.1 UpdErrInjReg_Oper 10

5.2.1.1 Design Rationale 10

5.2.1.2 Store Module Inputs to Local copies 10

5.2.1.3 (Processing of function)……… 10

5.2.1.4 Store Local copy of outputs into Module Outputs 10

5.2.1 StrtErrInjCntr 11

5.2.1.1 Design Rationale 11

5.2.1.2 Store Module Inputs to Local copies 11

5.2.1.3 (Processing of function)……… 11

5.2.1.4 Store Local copy of outputs into Module Outputs 11

5.3 Interrupt Functions 11

5.4 Module Internal (Local) Functions 11

5.5 GLOBAL Function/Macro Definitions 11

5.5.1 GLObAL Function #1 11

5.5.1.1 Description 11

6 Known Limitations with Design 12

7 UNIT TEST CONSIDERATION 13

Appendix A Abbreviations and Acronyms 14

Appendix B Glossary 15

Appendix C References 17

Introduction

Purpose

Module design document for Micro Controller Diagnostics Error Injection

McuDiagc & High-Level Description

Refer the Design.

Design details of software module

Graphical representation of McuDiagc

Data Flow Diagram

Component level DFD

N/A

Function level DFD

N/A

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
MCUERRINJ_TESTRSTUKWN_CNT_U321Cnt
SHIFTBYWORD_CNT_U081Cnt16U
SHIFTBYBYTE_CNT_U081Cnt8U
Refer .m file

Global

Currently the FDD has not been updated to show define the global constants. However the header file includes all the necessary global constants

Software Component Implementation

Sub-Module Functions

The sub-module functions are grouped based on similar functionality that needs to be executed in a given “State” of the system (refer States and Modes). For a given module, the MDD will identify the type and number of sub-modules required. The sub-module types are described below.

Init: McuErrInjInit1

Design Rationale

Refer to FDD

Module Outputs

Refer to FDD

Per: McuErrInjPer1

Design Rationale

None

Store Module Inputs to Local copies

Refer to FDD

(Processing of function)………

Refer to FDD

Store Local copy of outputs into Module Outputs

Refer to FDD

Store Local copy of outputs into Module Outputs

Refer to FDD

Server Runnable

ClrErrInjReg_Oper

Design Rationale

Refer FDD

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

None

ReadErrInjReg_Oper

Design Rationale

Refer FDD. The function returns a 0 value in the case when the MCUERRINJ is defined as STD_OFF. This is done for static compliance as the actual functional code returns the value of BRAMDAT2 when MCUERRINJ is defined as STD_ON which is encapsulated under the compiler define and when its STD_OFF for the pointer variable to have a default value, we return 0.

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

None

UpdErrInjReg_Oper

Design Rationale

Refer FDD

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

None

StrtErrInjCntr

Design Rationale

Refer FDD

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

None

Interrupt Functions

None

Module Internal (Local) Functions

None

GLOBAL Function/Macro Definitions

GLObAL Function #1

Function NameMcuDiagcTestTrustdTypeMinMax
Arguments PassedNone
Return ValueN/A

Description

Trusted function that performs the tests which need to run in supervisor mode of the processor as some tests needs register access at supervisor level.

GLObAL Functions

InjVrfyCritRegErr()

InjMcuVltgMonrErr()

InjClkMonrErr()

InjOsTmpGenericRtErr ()

InjOsPrmntGenericRtErr ()

InjWdgErr ()

InjFpuErr ()

InjMemProtnErr ()

InjModErr ()

InjMcuRtErr ()

InjProgSeqErr ()

InjPbgRtErr ()

InjRamErr()

InjEcmMstChkrRtErr()

InjUkwnStrtUpDetdErr()

InjIpgRtErr()

InjRtPegErr()

InjDataParErr()

InjDmaErr()

InjMcuDiagcErr()

InjAdcErr()

InjSwFpuErr()

Description

The above list is the list of global functions which are used for error injection which gets defined in multiple FDDs based of the NTC they are trying to set. These global functions are only enabled when the #define MCUDIAGCERRINJ is made STD_ON in the McuDiagcErrInj header file. So, DF003A FDD is the owner of these global functions though they are defined in multiple files. Return type and parameter lists are both void for the above defined ones

Known Limitations with Design

UNIT TEST CONSIDERATION

Abbreviations and Acronyms

Abbreviation or AcronymDescription
DFDDesign functional diagram
MDDModule design Document

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

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

References

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.01
3Software Naming Conventions.doc1.0
4Software Design and Coding Standards.doc2.1
5FDD – ES002A McuDiagcSee Synergy subproject version
Last modified October 12, 2025: Initial commit (af72ad2)