XcpIf_Integration_Manual

Integration Manual

For

XCP Interfrace (XcpIf)

VERSION: 1.00

DATE: 19-Jan-2018

Prepared By:

ESG Software,

Nexteer Automotive,

Saginaw, MI, USA


Document Change History

VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus
1.00Initial document releaseK. Smith19-Jan-2018K. Smith19-Jan-2018Released

Note:

This version 1.00 was baselined without requirements or a design finalized.


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 Non RTE NvM Blocks 10

7.4 RTE 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

References

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

Sr. No.TitleVersion
1Software Naming Conventions1.02
2Software Design and Coding Standards2.01

Dependencies

SWCs

ModuleRequired Feature
<Name of SWC><Addition of global data, function>*.

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

The following functions need to be defined as non-trusted.

  • CopyCalPageReq_Oper

  • SetCalPageReq_Oper

  • Xcp_Event

The following function needs to be defined as trusted:

  • XcpAppl_CalibrationWriteTrustd

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
None

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
None

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

None

Required Global Data Outputs

None

Specific Include Path present

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
CDD_XcpIfInit1NoneRTE (Init)
RunnableScheduling RequirementsTrigger
CDD_XcpIfPer1NoneRTE (100ms)

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

*See DataDict.m

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

XCP Configuration

Below are the following options that need to be enabled for the component to properly work.

<< ADD XCP NOTES >>>

XCP Configuration

Based on the XCP settings for the DAQ lists, components descriptions (arxml), source files (.c), and m-files are created based on the configuration. These compoents will also need to be imported into the project.

Key items

  • DAQ runnables should be placed in the lowest priority task for a given runnable rate. This should be called before the checkpoint. This will ensure a good sample and avoid lag for a given runnable rate.

  • Multiple DAQs can be configured to run at different rates. Each DAQ list will have its own set of description, source, and m-files to be integrated.

Integration Compatibility with ES400A

If this component is used with ES400A version 2.0.0 or earlier will require a header file to be created to map constants that are defined in ES400A to the values used by ES104B. These values are different then where defined in ES104A. Below is a sample template that can be used:

File Name: CDD_XcpIf.h

File Contents:

#ifndef CDD_XCPIF_H

#define CDD_XCPIF_H

/* Included this private until ES400 is separated from ES104 */

#include "CDD_XcpIf_Cfg_private.h"

#define XCPIF_XCPCMDOK_CNT_U08 XCPIF_CMDOK_CNT_U08

#define XCPIF_SEGNOTVLD_CNT_U08 XCPIF_RTNSEGNOTVLD_CNT_U08

#define XCPIF_CRCPAGEMODNOTVLD_CNT_U08 XCPIF_RTNPAGEMODNOTVLD_CNT_U08

#define XCPIF_OUTOFRNG_CNT_U08 XCPIF_RTNOUTOFRNG_CNT_U08

#endif

Template Change History

VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus
1.00Initial versionS. SengottaniyanNA-NAReleased
1.01Rework on initial versionS. Sengottaniyan23-May-2014-23-May-2014Released
1.02Removed Config Id references from the documentM. Mehta10-Jul-2014L. Newton10-Jul-2014Released
1.03Modificaions for EA4M. Story06-May-2015SEPG06-May-2015Released
1.04Aligned to portal version guidelineUmesh Sambhari21-Nov-2017NANAReleased
Last modified October 12, 2025: Initial commit (af72ad2)