FlsMem Integration Manual

Integration Manual

For

FlsMem

VERSION: 1

DATE: 11/12/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 James111/12/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 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 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
DFDDesign functional diagram
MDDModule design Document
FDDFunctional Design Document
CCTCommon Checksum Tool

References

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

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

Dependencies

SWCs

ModuleRequired Feature
AR202A MicroCtrlrSuprtNxtrMcuSuprtLib functions and register definitions
CM800A SyncCrcCRC HW Module Configuration and Allocation

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

DtsInin - To be defined as a trusted function as the DTS Channel master registers need to be configured in the supervisor mode.

DtsClnUp - To be defined as a trusted function as the DTS registers are being re-configured in the supervisor mode to avoid access protection violation

CodFlsSngBitEcc – Single bit code flash ECC error handler call back function provided to the MCAL driver

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes

Configuration Files to be provided by Integration Project

CDD_FlsMem_Cfg.c

CDD_FlsMem_Cfg_private.h

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
/Nexteer/FlsMem/FlashCRCRegnConfig/ StartAddress

Configured with “FlashCRCRegnConfig”

Each Flash region(for eg:- Boot, App, Cal1) has a start address where the code resides on the flash

FlsMem
/Nexteer/FlsMem/FlashCRCRegnConfig/Length

Configured with “FlashCRCRegnConfig”

Each Flash region has a length defined for the region

FlsMem
/Nexteer/FlsMem/FlashCRCRegnConfig/PredefinedCrcAddress

Configured with “FlashCRCRegnConfig”

Each Flash region has a PredefinedCrcAddress defined for the region which is used by the CCT tool for storing the checksum on the flash and serves as the reference location to retrieve the pre calculated CRC and do a comparison with calculated CRC

FlsMem
/Nexteer/FlsMem/FlashCRCRegnConfig/LengthSymbol

Configured with “FlashCRCRegnConfig”

Each Flash region has a length defined for the region and accepts linker symbols

FlsMem
/Nexteer/FlsMem/FlashCRCRegnConfig/PredefinedCrcAddressSymbol

Configured with “FlashCRCRegnConfig”

Each Flash region has a PredefinedCrcAddress defined for the region which is used by the CCT tool for storing the checksum on the flash and serves as the reference location to retrieve the pre calculated CRC and do a comparison with calculated CRC and accepts linker symbols

FlsMem
/Nexteer/FlsMem/FlashCRCRegnConfig/StartingAddressSymbol

Configured with “FlashCRCRegnConfig”

Each Flash region(for eg:- Boot, App, Cal1) has a start address where the code resides on the flash and accepts linker symbol

FlsMem
/Nexteer/FlsMem/FlashCRCRegnConfig/UseSymbolNameConfigured with “FlashCRCRegnConfig” to select either the symbol names or the actual valuesFlsMem

/Renesas/EcucDefs_Mcu/Mcu/McuModuleConfiguration

/McuEcmErrorSourcesCfg/McuEcmErrorSource36

Call back function name is “CodFlsSngBitEcc”. Refer the CM104A Integration manual for the configuration of the error source. (Type of the error, classification of the error eg FENMI or EI information) .
/Nexteer/FlsMem/ApplCRCRegnIdx/ApplCrcRegnNrThe array Index for the application region CRC region definitionFlsMem

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes

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
FlsMemInit1NoneOnce At Init (RTE)
FlsMemInit2Non-RTE Init, Called in Startup Sequence*Function call in Startup Sequence
RunnableScheduling RequirementsTrigger
FlsMemPer1None100ms(RTE)

*“FlsMemInit2” shall schedule after OS Start – Refer CM100 Start up sequence.

PEG shall be configured before “FlsMemInit2”.

CrcHw Init shall be scheduled before “FlsMemInit2”.

FlsMemInit1 should be called before DiagcMgrInit1

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
CDD_FlsMem_START_SEC_CODE
CDD_FlsMem_START_SEC_CONST_UNSPECIFIEDConstant section for constant variable
CDD_FlsMemNonRte_START_SEC_VAR_INIT_128Data that a DMA channel writes to during CRC test

This gets mapped to a “.data_dma_128” section and/or a “.sdata_dma_128” section (depending on compiler settings) that will need to be explicitly added to the linker file. The intent of these sections is to be placed in a RAM memory section that only the DMA has write access to (processor in user mode only has read access).

Additionally, since these are initialized data sections, the appropriate ROM sections will need to be added to the linker to allow initial values to be copied from Flash to RAM during startup for these sections.

e.g.:

.ROM_data_dma_128 ROM(.data_dma_128) FILL(0xFF) :{}>.

and

.ROM_sdata_dma_128 ROM(.sdata_dma_128) FILL(0xFF) :{}>.

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

Usage

FeatureRAMROM

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

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