McuErrInj Integration Manual

Integration Manual

For

McuErrInj

VERSION: 2.0

DATE: 24-Jul-2017

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

: ARM Cortex R4 Memory Usage

Sl. No.DescriptionAuthorVersionDate
1Initial versionAvinash James1.015-Mar-2017
2Update to include the tursted functionAvinash James2.024-Jul-2017


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 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
FDDFunctional Design Document

References

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

Sr. No.TitleVersion
1FDD – DF003A McuDiagcSee Synergy subproject version
2Software Naming ConventionsProcess 04.04.02
3Software Coding StandardsProcess 04.04.02

Dependencies

SWCs

ModuleRequired Feature
None

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

InjVrfyCritRegErr() – Function to Inject micro diagnostic error in Critical Registers

InjMcuVltgMonrErr() – Function to Inject micro diagnostic error in Core voltage monitor

InjClkMonrErr() – Function to Inject micro diagnostic error in Clock Monitors

InjOsTmpGenericRtErr () – Function to Inject Temporary Run time error in Operating System

InjOsPrmntGenericRtErr () – Function to Inject Permanent Run time error in Operating System

InjWdgErr () – Function to Watchdog errors

InjFpuErr () – Function to Inject floating point exceptions

InjMemProtnErr () – Function to Inject Memory protection errors

InjModErr () – Function to Inject mode errors

InjMcuRtErr () – Function to Inject Mcu Run Time errors

InjCodFlsEccErr() – Function to Inject Code flash ECC errors

InjRamMemErr( ) – Function to Inject peripheral and local RAM ECC errors

InjEcmMstChkrRtErr(void) () – Function to Inject micro diagnostic error in ECM Master and Slave

InjUkwnStrtUpDetdErr(void) -() – Function to Inject unknown startup

InjIpgRtErr(void) () – Function to Inject Run time IPG errors

InjRtPegErr(void) – Function to Inject Run time Peg errors

InjDataParErr() – Function to Inject Data Parity errors

InjDmaErr() – Function Dma errors

InjMcuDiagcErr() – Function to Inject loss ofmotor control ISR errors

InjAdcErr() – Function to Inject ADC errors

InjProgSeqErr () – Function to inject program sequence errors

InjPbgRtErr () - Function to inject PBG run time errors

InjSwFpuErr () – Function to inject software Floating point error

McuDiagcTestTrustd() – Trusted function call from OS

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
MCUDIAGCERRINJ

STD_OFF for other builds

STD_ON for uDiag test builds

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
None

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
None

Manual Configuration Changes

ConstantNotesSWC
OS Memory protection has to be extended to include the reserved RAM & invalid memory area .Also execution from RAM need to be enabled too as per the settings below

(osuint32)0x0100a000UL, /* MPU region 3 */

(osuint32)0x0100bffcUL,

(osuint32)0x03ff00edUL,

(osuint32)0x10020000UL, /* MPU region 4 */

(osuint32)0x10020848UL,

(osuint32)0x03ff00dbUL,

(osuint32)0xfb000000UL, /* MPU region 5 */

(osuint32)0xfebdfffcUL,

(osuint32)0x03ff00d9UL,

(osuint32) 0xF3000000UUL, /* MPU region 6 */

(osuint32) 0xF4000000UL,

(osuint32)0x03ff00dbUL,

(osuint32)&osGlobalShared_StartAddr, /* MPU region Global shared*/

(osuint32)&osGlobalShared_EndAddr,

(osuint32)0x03ff00fbUL,

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer DataDict.m file

Required Global Data Outputs

Refer DataDict.m file

Specific Include Path present

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
McuDiagcInit1NoneRTE (Init)
RunnableScheduling RequirementsTrigger
McuDiagcPer1NoneRTE (2 ms)
ClrErrInjReg_OperNoneOn invocation
ReadErrInjReg_OperNoneOn invocation
StrtErrInjCntr_OperNoneOn invocation
UpdErrInjReg_OperNoneOn invocation

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
McuErrInj_START_SEC_VAR_INIT_128Data section for DMA write
McuErrInjGlobalShared_START_SEC_VAR_CLEARED_32Global shared data access

* 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 (af72ad2)