wiki:spec/NvM

Version 7 (modified by fujisft-shigihara, 4 years ago) ( diff )

--

NVRAM Manager


概要

  • API一覧
API ID
[Dec]
ID
[Hex]
R4.0.3 R4.2.2
NvM_Init 0 0x00
NvM_SetDataIndex 1 0x01
NvM_GetDataIndex 2 0x02
NvM_SetBlockProtection 3 0x03
NvM_GetErrorStatus 4 0x04
NvM_GetVersionInfo 15 0x0F
NvM_SetRamBlockStatus 5 0x05
NvM_SetBlockLockStatus 19 0x13
NvM_ReadBlock 6 0x06
NvM_WriteBlock 7 0x07
NvM_RestoreBlockDefaults 8 0x08
NvM_EraseNvBlock 9 0x09
NvM_CancelWriteAll 10 0x0A
NvM_InvalidateNvBlock 11 0x0B
NvM_CancelJobs 16 0x10
NvM_ReadAll 12 0x0C
NvM_WriteAll 13 0x0D
NvM_ReadPRAMBlock 22 0x16 -
NvM_WritePRAMBlock 23 0x17 -
NvM_RestorePRAMBlockDefaults 24 0x18 -
NvM_ValidateAll 25 0x19 -
NvM_JobEndNotification 17 0x11
NvM_JobErrorNotification 18 0x12
NvM_MainFunction 14 0x0E
NvM_SingleBlockCallbackFunction -- --
NvM_MultiBlockCallbackFunction -- --
InitBlockCallbackFunction -- --
NvM_WriteRamBlockToNvm -- --
NvM_ReadRamBlockFromNvm -- --
  • エラーコード一覧
    • "--"はDemにより決定される
エラーコード Dec Hex R4.0.3 R4.2.2
NVM_E_PARAM_BLOCK_ID 10 0x0A
NVM_E_PARAM_BLOCK_TYPE 11 0x0B
NVM_E_PARAM_BLOCK_DATA_IDX 12 0x0C
NVM_E_PARAM_ADDRESS 13 0x0D
NVM_E_PARAM_DATA 14 0x0E
NVM_E_PARAM_POINTER 15 0x0F
NVM_E_BLOCK_WITHOUT_DEFAULTS 17 0x11 -
NVM_E_NOT_INITIALIZED 20 0x14
NVM_E_BLOCK_PENDING 21 0x15
NVM_E_BLOCK_CONFIG 24 0x18
NVM_E_BLOCK_LOCKED 25 0x19
NVM_E_HARDWARE -- -- -
NVM_E_INTEGRITY_FAILED -- --
NVM_E_REQ_FAILED -- --
NVM_E_WRONG_BLOCK_ID -- --
NVM_E_VERIFY_FAILED -- --
NVM_E_LOSS_OF_REDUNDANCY -- --
NVM_E_QUEUE_OVERFLOW -- --
NVM_E_WRITE_PROTECTED -- --

API仕様

NvM_Init

R4.0.3: void NvM_Init(void)
R4.2.2: void NvM_Init(const NvM_ConfigType* ConfigPtr)

NvM_SetDataIndex

Std_ReturnType NvM_SetDataIndex(NvM_BlockIdType BlockId, uint8 DataIndex)

NvM_GetDataIndex

Std_ReturnType NvM_GetDataIndex(NvM_BlockIdType BlockId, uint8* DataIndexPtr)

NvM_SetBlockProtection

Std_ReturnType NvM_SetBlockProtection(NvM_BlockIdType BlockId, boolean ProtectionEnabled)

NvM_GetErrorStatus

Std_ReturnType NvM_GetErrorStatus(NvM_BlockIdType BlockId, NvM_RequestResultType* RequestResultPtr)

NvM_GetVersionInfo

void NvM_GetVersionInfo(Std_VersionInfoType* versioninfo)

NvM_SetRamBlockStatus

Std_ReturnType NvM_SetRamBlockStatus(NvM_BlockIdType BlockId, boolean BlockChanged)

NvM_SetBlockLockStatus

void NvM_SetBlockLockStatus(NvM_BlockIdType BlockId, boolean BlockLocked)

NvM_ReadBlock

Std_ReturnType NvM_ReadBlock(NvM_BlockIdType BlockId, void* NvM_DstPtr)

NvM_WriteBlock

Std_ReturnType NvM_WriteBlock(NvM_BlockIdType BlockId, const void* NvM_SrcPtr)

NvM_RestoreBlockDefaults

Std_ReturnType NvM_RestoreBlockDefaults(NvM_BlockIdType BlockId, void* NvM_DestPtr)

NvM_EraseNvBlock

Std_ReturnType NvM_EraseNvBlock(NvM_BlockIdType BlockId)

NvM_CancelWriteAll

void NvM_CancelWriteAll(void)

NvM_InvalidateNvBlock

Std_ReturnType NvM_InvalidateNvBlock(NvM_BlockIdType BlockId)

NvM_CancelJobs

Std_ReturnType NvM_CancelJobs(NvM_BlockIdType BlockId)

NvM_ReadAll

void NvM_ReadAll(void)

NvM_WriteAll

void NvM_WriteAll(void)

NvM_ReadPRAMBlock

Std_ReturnType NvM_ReadPRAMBlock(NvM_BlockIdType BlockId)

NvM_WritePRAMBlock

Std_ReturnType NvM_WritePRAMBlock(NvM_BlockIdType BlockId)

NvM_RestorePRAMBlockDefaults

Std_ReturnType NvM_RestorePRAMBlockDefaults(NvM_BlockIdType BlockId)

NvM_ValidateAll

void NvM_ValidateAll(void)

NvM_JobEndNotification

void NvM_JobEndNotification(void)

NvM_JobErrorNotification

void NvM_JobErrorNotification(void)

NvM_MainFunction

void NvM_MainFunction(void)

NvM_SingleBlockCallbackFunction

Std_ReturnType NvM_SingleBlockCallbackFunction(uint8 ServiceId, NvM_RequestResultType JobResult)

NvM_MultiBlockCallbackFunction

void NvM_MultiBlockCallbackFunction(uint8 ServiceId, NvM_RequestResultType JobResult)

InitBlockCallbackFunction

Std_ReturnType InitBlockCallbackFunction(void)

NvM_WriteRamBlockToNvm

Std_ReturnType NvM_WriteRamBlockToNvm(void* NvMBuffer)

NvM_ReadRamBlockFromNvm

Std_ReturnType NvM_ReadRamBlockFromNvm(const void* NvMBuffer)

コンフィギュレーション仕様

NvMBlockDescriptor

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor
  • 型:Container
  • 多重度:1..65536

NvMBlockCrcType

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMBlockCrcType
  • 型:EnumerationParam
  • 多重度:0..1
  • 選択肢:
    • NVM_CRC16
    • NVM_CRC32
    • NVM_CRC8

NvMBlockHeaderInclude

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMBlockHeaderInclude
  • 型:StringParam
  • 多重度:0..1

NvMBlockJobPriority

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMBlockJobPriority
  • 型:IntegerParam
  • 多重度:1
  • 上限値:255
  • 下限値:0

NvMBlockManagementType

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMBlockManagementType
  • 型:EnumerationParam
  • 多重度:1
  • 選択肢:
    • NVM_BLOCK_DATASET
    • NVM_BLOCK_NATIVE
    • NVM_BLOCK_REDUNDANT

NvMBlockUseAutoValidation

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMBlockUseAutoValidation
  • 型:BooleanParam
  • 多重度:1
  • デフォルト値:false

NvMBlockUseCRCCompMechanism

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMBlockUseCRCCompMechanism
  • 型:BooleanParam
  • 多重度:1
  • デフォルト値:false

NvMBlockUseCrc

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMBlockUseCrc
  • 型:BooleanParam
  • 多重度:1

NvMBlockUseSetRamBlockStatus

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMBlockUseSetRamBlockStatus
  • 型:BooleanParam
  • 多重度:1

NvMBlockUseSyncMechanism

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMBlockUseSyncMechanism
  • 型:BooleanParam
  • 多重度:1
  • デフォルト値:false

NvMBlockWriteProt

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMBlockWriteProt
  • 型:BooleanParam
  • 多重度:1

NvMBswMBlockStatusInformation

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMBswMBlockStatusInformation
  • 型:BooleanParam
  • 多重度:1
  • デフォルト値:false

NvMCalcRamBlockCrc

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMCalcRamBlockCrc
  • 型:BooleanParam
  • 多重度:0..1

NvMInitBlockCallback

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMInitBlockCallback
  • 型:FunctionName
  • 多重度:0..1

NvMMaxNumOfReadRetries

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMMaxNumOfReadRetries
  • 型:IntegerParam
  • 多重度:1
  • 上限値:7
  • 下限値:0
  • デフォルト値:0

NvMMaxNumOfWriteRetries

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMMaxNumOfWriteRetries
  • 型:IntegerParam
  • 多重度:1
  • 上限値:7
  • 下限値:0

NvMNvBlockBaseNumber

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMNvBlockBaseNumber
  • 型:IntegerParam
  • 多重度:1
  • 上限値:65534
  • 下限値:1

NvMNvBlockLength

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMNvBlockLength
  • 型:IntegerParam
  • 多重度:1
  • 上限値:65535
  • 下限値:1

NvMNvBlockNum

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMNvBlockNum
  • 型:IntegerParam
  • 多重度:1
  • 上限値:255
  • 下限値:1

NvMNvramBlockIdentifier

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMNvramBlockIdentifier
  • 型:IntegerParam
  • 多重度:1
  • 上限値:65535
  • 下限値:
    • R4.0.3:2
    • R4.2.2:1

NvMNvramDeviceId

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMNvramDeviceId
  • 型:IntegerParam
  • 多重度:1
  • 上限値:
    • R4.0.3:254
    • R4.2.2:1
  • 下限値:0

NvMRamBlockDataAddress

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMRamBlockDataAddress
  • 型:StringParam
  • 多重度:0..1

NvMReadRamBlockFromNvCallback

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMReadRamBlockFromNvCallback
  • 型:FunctionName
  • 多重度:0..1

NvMResistantToChangedSw

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMResistantToChangedSw
  • 型:BooleanParam
  • 多重度:1

NvMRomBlockDataAddress

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMRomBlockDataAddress
  • 型:StringParam
  • 多重度:0..1

NvMRomBlockNum

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMRomBlockNum
  • 型:IntegerParam
  • 多重度:1
  • 上限値:
    • R4.0.3:255
    • R4.2.2:254
  • 下限値:0

NvMSelectBlockForReadAll

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMSelectBlockForReadAll
  • 型:BooleanParam
  • 多重度:0..1

NvMSelectBlockForWriteAll

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMSelectBlockForWriteAll
  • 型:BooleanParam
  • 多重度:0..1

NvMSingleBlockCallback

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMSingleBlockCallback
  • 型:FunctionName
  • 多重度:0..1

NvMStaticBlockIDCheck

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMStaticBlockIDCheck
  • 型:BooleanParam
  • 多重度:1
  • デフォルト値:false

NvMWriteBlockOnce

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMWriteBlockOnce
  • 型:BooleanParam
  • 多重度:1

NvMWriteRamBlockToNvCallback

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMWriteRamBlockToNvCallback
  • 型:FunctionName
  • 多重度:0..1

NvMWriteVerification

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMWriteVerification
  • 型:BooleanParam
  • 多重度:1
  • デフォルト値:false

NvMWriteVerificationDataSize

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMWriteVerificationDataSize
  • 型:IntegerParam
  • 多重度:1
  • 上限値:
    • R4.0.3:65536
    • R4.2.2:65535
  • 下限値:1

NvMTargetBlockReference

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMTargetBlockReference
  • 型:Container
  • 多重度:1

NvMEaRef

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMEaRef
  • 型:Container
  • 多重度:0..1

NvMNameOfEaBlock

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMEaRef/NvMNameOfEaBlock
  • 型:Reference
  • 多重度:1
  • 参照先:/AUTOSAR/EcucDefs/Ea/EaBlockConfiguration

NvMFeeRef

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef
  • 型:Container
  • 多重度:0..1

NvMNameOfFeeBlock

/AUTOSAR/EcucDefs/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef/NvMNameOfFeeBlock
  • 型:Reference
  • 多重度:1
  • 参照先:/AUTOSAR/EcucDefs/Fee/FeeBlockConfiguration

NvMCommon

/AUTOSAR/EcucDefs/NvM/NvMCommon
  • 型:Container
  • 多重度:1

NvMApiConfigClass

/AUTOSAR/EcucDefs/NvM/NvMCommon/NvMApiConfigClass
  • 型:EnumerationParam
  • 多重度:1
  • 選択肢:
    • NVM_API_CONFIG_CLASS_1
    • NVM_API_CONFIG_CLASS_2
    • NVM_API_CONFIG_CLASS_3

NvMBswMMultiBlockJobStatusInformation

/AUTOSAR/EcucDefs/NvM/NvMCommon/NvMBswMMultiBlockJobStatusInformation
  • 型:BooleanParam
  • 多重度:1
  • デフォルト値:true

NvMCompiledConfigId

/AUTOSAR/EcucDefs/NvM/NvMCommon/NvMCompiledConfigId
  • 型:IntegerParam
  • 多重度:1
  • 上限値:65535
  • 下限値:0

NvMCrcNumOfBytes

/AUTOSAR/EcucDefs/NvM/NvMCommon/NvMCrcNumOfBytes
  • 型:IntegerParam
  • 多重度:1
  • 上限値:65535
  • 下限値:1

NvMDatasetSelectionBits

/AUTOSAR/EcucDefs/NvM/NvMCommon/NvMDatasetSelectionBits
  • 型:IntegerParam
  • 多重度:1
  • 上限値:8
  • 下限値:0

NvMDevErrorDetect

/AUTOSAR/EcucDefs/NvM/NvMCommon/NvMDevErrorDetect
  • 型:BooleanParam
  • 多重度:1

NvMDrvModeSwitch

/AUTOSAR/EcucDefs/NvM/NvMCommon/NvMDrvModeSwitch
  • 型:BooleanParam
  • 多重度:1

NvMDynamicConfiguration

/AUTOSAR/EcucDefs/NvM/NvMCommon/NvMDynamicConfiguration
  • 型:BooleanParam
  • 多重度:1

NvMJobPrioritization

/AUTOSAR/EcucDefs/NvM/NvMCommon/NvMJobPrioritization
  • 型:BooleanParam
  • 多重度:1

NvMMainFunctionPeriod

/AUTOSAR/EcucDefs/NvM/NvMCommon/NvMMainFunctionPeriod
  • 型:FloatParam
  • 多重度:1
  • 上限値:Inf
  • 下限値:1E-7

NvMMultiBlockCallback

/AUTOSAR/EcucDefs/NvM/NvMCommon/NvMMultiBlockCallback
  • 型:FunctionName
  • 多重度:0..1

NvMPollingMode

/AUTOSAR/EcucDefs/NvM/NvMCommon/NvMPollingMode
  • 型:BooleanParam
  • 多重度:1

NvMRepeatMirrorOperations

/AUTOSAR/EcucDefs/NvM/NvMCommon/NvMRepeatMirrorOperations
  • 型:IntegerParam
  • 多重度:1
  • 上限値:7
  • 下限値:0
  • デフォルト値:0

NvMSetRamBlockStatusApi

/AUTOSAR/EcucDefs/NvM/NvMCommon/NvMSetRamBlockStatusApi
  • 型:BooleanParam
  • 多重度:1

NvMSizeImmediateJobQueue

/AUTOSAR/EcucDefs/NvM/NvMCommon/NvMSizeImmediateJobQueue
  • 型:IntegerParam
  • 多重度:0..1
  • 上限値:
    • R4.0.3:255
    • R4.2.2:65535
  • 下限値:1

NvMSizeStandardJobQueue

/AUTOSAR/EcucDefs/NvM/NvMCommon/NvMSizeStandardJobQueue
  • 型:IntegerParam
  • 多重度:1
  • 上限値:
    • R4.0.3:255
    • R4.2.2:65535
  • 下限値:1

NvMVersionInfoApi

/AUTOSAR/EcucDefs/NvM/NvMCommon/NvMVersionInfoApi
  • 型:BooleanParam
  • 多重度:1

NvmDemEventParameterRefs

/AUTOSAR/EcucDefs/NvM/NvmDemEventParameterRefs
  • 型:Container
  • 多重度:0..1

NVM_E_HARDWARE

/AUTOSAR/EcucDefs/NvM/NvmDemEventParameterRefs/NVM_E_HARDWARE
  • 型:Reference
  • 多重度:0..1
  • 参照先:/AUTOSAR/EcucDefs/Dem/DemConfigSet/DemEventParameter

NVM_E_INTEGRITY_FAILED

/AUTOSAR/EcucDefs/NvM/NvmDemEventParameterRefs/NVM_E_INTEGRITY_FAILED
  • 型:Reference
  • 多重度:0..1
  • 参照先:/AUTOSAR/EcucDefs/Dem/DemConfigSet/DemEventParameter

NVM_E_LOSS_OF_REDUNDANCY

/AUTOSAR/EcucDefs/NvM/NvmDemEventParameterRefs/NVM_E_LOSS_OF_REDUNDANCY
  • 型:Reference
  • 多重度:0..1
  • 参照先:/AUTOSAR/EcucDefs/Dem/DemConfigSet/DemEventParameter

NVM_E_QUEUE_OVERFLOW

/AUTOSAR/EcucDefs/NvM/NvmDemEventParameterRefs/NVM_E_QUEUE_OVERFLOW
  • 型:Reference
  • 多重度:0..1
  • 参照先:/AUTOSAR/EcucDefs/Dem/DemConfigSet/DemEventParameter

NVM_E_REQ_FAILED

/AUTOSAR/EcucDefs/NvM/NvmDemEventParameterRefs/NVM_E_REQ_FAILED
  • 型:Reference
  • 多重度:0..1
  • 参照先:/AUTOSAR/EcucDefs/Dem/DemConfigSet/DemEventParameter

NVM_E_VERIFY_FAILED

/AUTOSAR/EcucDefs/NvM/NvmDemEventParameterRefs/NVM_E_VERIFY_FAILED
  • 型:Reference
  • 多重度:0..1
  • 参照先:/AUTOSAR/EcucDefs/Dem/DemConfigSet/DemEventParameter

NVM_E_WRITE_PROTECTED

/AUTOSAR/EcucDefs/NvM/NvmDemEventParameterRefs/NVM_E_WRITE_PROTECTED
  • 型:Reference
  • 多重度:0..1
  • 参照先:/AUTOSAR/EcucDefs/Dem/DemConfigSet/DemEventParameter

NVM_E_WRONG_BLOCK_ID

/AUTOSAR/EcucDefs/NvM/NvmDemEventParameterRefs/NVM_E_WRONG_BLOCK_ID
  • 型:Reference
  • 多重度:0..1
  • 参照先:/AUTOSAR/EcucDefs/Dem/DemConfigSet/DemEventParameter
Note: See TracWiki for help on using the wiki.