哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

NVRAM Manager(NVM)模塊詳細介紹

工程師鄧生 ? 來源:汽車電子嵌入式 ? 作者:Tomas Li ? 2022-09-20 09:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

存儲協(xié)議棧負責ECU中非易失性數(shù)據(jù)的存儲管理。存儲協(xié)議棧的分享包括NVM、MemI、Ea、Fea、Eep、Fls模塊的詳細介紹及代碼分析,具體的項目實戰(zhàn)請關注本號的后續(xù)文章,本篇為NVRAM Manager(NVM)模塊詳細介紹篇(三)。

eb3a684a-387d-11ed-ba43-dac502259ad0.png

正文

4.API詳解

如下表所示,NVM的API接口主要分為幾大類型。

eb8f2a2e-387d-11ed-ba43-dac502259ad0.png

4.1同步請求函數(shù) Synchronous requests

4.1.1NvM_Init

函數(shù)原型:

void NvM_Init(

const NvM_ConfigType* ConfigPtr

)

ec092202-387d-11ed-ba43-dac502259ad0.png

函數(shù)參數(shù):

ConfigPtr:指向選定配置集的指針。

函數(shù)描述:用來重置所有內部變量的服務。

函數(shù)NvM_Init應將所有內部變量,例如隊列、請求標志、狀態(tài)機,重置為其初始值。它應在內部發(fā)出“初始化完成”的信號,例如,以啟用作業(yè)處理和隊列管理。

函數(shù)NvM_Init不應修改永久RAM塊內容或調用顯式同步回調,因為這將在NvM_ReadAll上完成。

函數(shù)NvM_Init應將NVM_BLOCK_DATASET類型的所有NVRAM塊的數(shù)據(jù)集索引設置為零。

函數(shù)NvM_Init不得初始化其他模塊(假設底層層已經初始化)。

提示:耗時的NVRAM塊初始化和根據(jù)塊描述符設置應該由NvM_ReadAll請求完成。

4.1.2 NvM_SetBlockProtection

函數(shù)原型:

Std_ReturnType NvM_SetBlockProtection(

NvM_BlockIdType BlockId,

boolean ProtectionEnabled

)

ec3a9b16-387d-11ed-ba43-dac502259ad0.png

函數(shù)返回值:

E_OK: The block was enabled/disabled as requested

E_NOT_OK: An error occured.

函數(shù)參數(shù):

BlockId:塊標識符唯一地標識一個NVRAM塊描述符。NVRAM塊描述符包含有關單個NVRAM塊的所有所需信息。

ProtectionEnabled:TRUE: Write protection shall be enabled

FALSE: Write protection shall be disabled

函數(shù)描述:用于設置/重置NV塊的寫入保護的服務。

功能NvM_SetBlockProtection通過在相應的NVRAM塊的管理部分設置寫保護屬性,為相應的NV塊設置/重置寫保護。

NvM模塊的環(huán)境應在調用函數(shù)NvM_SetBlockProtection之前已初始化NvM模塊。

4.1.3 NvM_GetErrorStatus

函數(shù)原型:

Std_ReturnType NvM_GetErrorStatus(

NvM_BlockIdType BlockId,

NvM_RequestResultType* RequestResultPtr

)

ec77e3a4-387d-11ed-ba43-dac502259ad0.png

函數(shù)返回值:

E_OK:已成功讀取與塊相關的錯誤/狀態(tài)信息。

E_NOT_OK:發(fā)生錯誤。

函數(shù)參數(shù):

BlockId:塊標識符唯一地標識一個NVRAM塊描述符。NVRAM塊描述符包含有關單個NVRAM塊的所有所需信息。

函數(shù)描述:提供以下服務來讀取與塊相關的錯誤/狀態(tài)信息。

函數(shù)NvM_GetErrorStatus應在NVRAM塊的管理部分中讀取與塊相關的錯誤/狀態(tài)信息。NVRAM塊的狀態(tài)/錯誤信息應由以前或當前的異步請求來設置。

NvM模塊的環(huán)境應在調用函數(shù)NvM_GetErrorStatus之前已初始化NvM模塊。

4.1.4 NvM_CancelJobs

函數(shù)原型:

Std_ReturnType NvM_CancelJobs(

NvM_BlockIdType BlockId

)

函數(shù)返回值:

E_OK:該作業(yè)已被成功地從隊列中刪除。

E_NOT_OK:在隊列中找不到該作業(yè)。

函數(shù)參數(shù):

BlockId:塊標識符唯一地標識一個NVRAM塊描述符。NVRAM塊描述符包含有關單個NVRAM塊的所有所需信息。

函數(shù)描述:服務取消所有等待NV塊的作業(yè)。

函數(shù)NvM_CancelJobs應取消指定NV塊的隊列中所有待定的作業(yè)。如果被請求,則對已取消的塊的結果類型為NVM_REQ_CANCELED

當前處理的作業(yè)將在NvM_CancelJobs調用之后繼續(xù)。

如果請求被接受,功能NvM_CancelJobs的工作應提前將指定NVRAM塊的塊特定請求結果設置為NVM_REQ_CANCELED。

提示:目的只是在清理階段清空隊列,以防終止或重新啟動分區(qū),以避免稍后結束作業(yè)通知。

4.2異步單塊請求 Asynchronous single block requests

4.2.1NvM_ReadBlock

函數(shù)原型:

Std_ReturnType NvM_ReadBlock(

NvM_BlockIdType BlockId,

void* NvM_DstPtr

)

函數(shù)返回值:

E_OK:請求已被接受。

E_NOT_OK:請求未被接受

函數(shù)參數(shù):

BlockId:塊標識符唯一地標識一個NVRAM塊描述符。NVRAM塊描述符包含有關單個NVRAM塊的所有所需信息。

NvM_DstPtr:指向RAM數(shù)據(jù)塊的指針

函數(shù)描述:將NV塊的數(shù)據(jù)復制到其相應的RAM塊的服務。

函數(shù)NvM_ReadBlock將接管給定的參數(shù),將讀請求放入作業(yè)隊列中并返回。

4.2.2NvM_WriteBlock

函數(shù)原型:

Std_ReturnType NvM_WriteBlock(

NvM_BlockIdType BlockId,

const void* NvM_SrcPtr

)

函數(shù)返回值:

E_OK:請求已被接受。

E_NOT_OK:請求未被接受

函數(shù)參數(shù):

BlockId:塊標識符唯一地標識一個NVRAM塊描述符。NVRAM塊描述符包含有關單個NVRAM塊的所有所需信息。

NvM_SrcPtr:指向RAM數(shù)據(jù)塊的指針

函數(shù)描述:將RAM塊的數(shù)據(jù)復制到其相應的NV塊的服務。

NvM_WriteBlock函數(shù)應測試相應RAM塊管理部分的NV塊的寫入保護屬性。如果出現(xiàn)故障,應報告NVM_E_WRITE_PROTECTED/(在生產過程中)錯誤。

4.2.3 NvMEraseNvBlock

函數(shù)原型:

Std_ReturnType NvM_EraseNvBlock(

NvM_BlockIdType BlockId

)

函數(shù)返回值:

E_OK:請求已被接受。

E_NOT_OK:請求未被接受

函數(shù)參數(shù):

BlockId:塊標識符唯一地標識一個NVRAM塊描述符。NVRAM塊描述符包含有關單個NVRAM塊的所有所需信息。

函數(shù)描述:要擦除NV塊的服務。

4.3異步多塊請求 Asynchronous multi block requests

4.3.1NvM_ReadAll

函數(shù)原型:

void NvM_ReadAll(

void

)

函數(shù)描述:啟動一個多塊讀取請求。

多塊服務NvM_ReadAll應提供兩種不同的功能:

-- 初始化所有NVRAM塊的管理數(shù)據(jù)

-- 將數(shù)據(jù)復制到永久RAM塊,或為相應配置的NVRAM塊調用顯式同步回調(NvM_ReadRamBlockFromNvm)。

函數(shù)NvM_ReadAll將向NvM模塊發(fā)出請求信號并返回。NVRAM Manager將延遲處理請求的ReadAll直到所有單個塊作業(yè)隊列為空。

4.3.2 NvM_WriteAll

函數(shù)原型:

void NvM_ReadAll(

void

)

函數(shù)描述:啟動一個多塊寫入請求。

函數(shù)NvM_WriteAll的作業(yè)應將永久RAM塊的內容同步到它們相應的NV塊上,或者在關閉時調用顯式同步回調(NvM_WriteRamBlockToNvm)。

如果NVRAM block ID 1(包含內存布局的配置ID)被標記為“在NvM_WriteAll期間寫入”,則NvM_WriteAll函數(shù)的作業(yè)將在最后一步(最后一次寫操作)寫入該block,以防止在寫操作過程中發(fā)生掉電故障時內存布局不匹配。

函數(shù)NvM_WriteAll應向NvM模塊發(fā)出請求信號并返回。NVRAM管理器應延遲請求的處理,直到所有單個塊作業(yè)隊列為空。

4.3.2NvM_CancelWriteAll

函數(shù)原型:

void NvM_CancelWriteAll(

void

)

ecf252ec-387d-11ed-ba43-dac502259ad0.png

函數(shù)描述:

取消正在運行的NvM_WriteAll請求。

4.4回調函數(shù)

4.4.1 NvM_JobEndNotification

函數(shù)原型:

void NvM_JobEndNotification(

void

)

函數(shù)描述:底層內存抽象使用該函數(shù)表示作業(yè)結束,沒有錯誤。

回調函數(shù)NvM_JobEndNotification被底層內存抽象用來指示作業(yè)結束。

注:作業(yè)結束時關于內存抽象的通知成功:

- -- Read finished & OK

- -- Write finished & OK

- -- Erase finished & OK

這個例程可以在中斷上下文中被調用,這取決于調用函數(shù)。所有內存抽象模塊都應該配置為使用相同的模式(回調/輪詢)。

如果通過NvMPollingMode禁用了輪詢模式,NvM模塊只能提供回調函數(shù)NvM_JobEndNotification。NvM_JobEndNotification功能受常用配置參數(shù)的影響。

4.5期望的接口 Expected Interfaces

4.5.1必需的接口

ed52c3c0-387d-11ed-ba43-dac502259ad0.png

4.5.2可配置的接口

Single block job end notification

函數(shù)原型:

Std_ReturnType NvM_SingleBlockCallbackFunction(

uint8 ServiceId,

NvM_RequestResultType JobResult

)

函數(shù)返回值:

E_OK:回調函數(shù)已成功處理

任何其他:回調函數(shù)已處理失敗

函數(shù)參數(shù):

ServiceId: NVRAM Manager服務的唯一服務ID。

JobResult: 覆蓋以前處理的單塊作業(yè)的請求結果。

函數(shù)描述:每個塊回調例程通知上層異步單塊請求已經完成。

Multi block job end notification

函數(shù)原型:

void NvM_MultiBlockCallbackFunction(

uint8 ServiceId,

NvM_RequestResultType JobResult

)

函數(shù)參數(shù):

ServiceId: NVRAM Manager服務的唯一服務ID。

JobResult: 覆蓋以前處理的單塊作業(yè)的請求結果。

函數(shù)描述:公共回調例程,通知上層一個異步的多塊請求已經完成。

Callback function for block initialization

函數(shù)原型:

Std_ReturnType InitBlockCallbackFunction(

void

)

函數(shù)返回值:

E_OK:回調函數(shù)已成功處理

任何其他:回調函數(shù)已處理失敗

函數(shù)描述:每個塊回調例程,當需要在RAM中恢復默認數(shù)據(jù)時,NvM模塊將調用該塊回調例程,即使配置了ROM塊。

注意:在這里,如果沒有配置ROM塊,應用程序應該將默認數(shù)據(jù)復制到RAM塊,并且/或者它可以設置一些標志來知道默認數(shù)據(jù)已經恢復。

5.服務接口 Service Interfaces

本章是對NvM模塊規(guī)范的補充。盡管該規(guī)范的其他部分定義了相應的基本軟件模塊的行為和c接口,但本章以SWC模板的形式指定了相應的AUTOSAR服務。這里描述的接口將在VFB上可見,并用于生成應用程序軟件和NvM模塊之間的RTE。

5.1 Client-Server-Interfaces

5.1.1 NvM_Admin

eea139c8-387d-11ed-ba43-dac502259ad0.png

eed1563a-387d-11ed-ba43-dac502259ad0.png

5.1.2 NvM_Mirror

efac1374-387d-11ed-ba43-dac502259ad0.png

f04ef65c-387d-11ed-ba43-dac502259ad0.png

f072a476-387d-11ed-ba43-dac502259ad0.png

f1948a04-387d-11ed-ba43-dac502259ad0.png

5.1.3 NvM_NotifyInitBlock

f1c9084c-387d-11ed-ba43-dac502259ad0.png

5.1.4 NvM_NotifyJobFinished

f1f55bd6-387d-11ed-ba43-dac502259ad0.png

5.1.5 NvM_Service

f23f3dfa-387d-11ed-ba43-dac502259ad0.png

5.2 Implementation Data Types

5.2.1 NvM_RequestResultType

f2a48c82-387d-11ed-ba43-dac502259ad0.png

f2cf62c2-387d-11ed-ba43-dac502259ad0.png

5.2.2 NvM_BlockIdType

f30d0fc8-387d-11ed-ba43-dac502259ad0.png

f33cea40-387d-11ed-ba43-dac502259ad0.png

5.2.3 ConstVoidPtr

f37f34ea-387d-11ed-ba43-dac502259ad0.png

f5b07bd4-387d-11ed-ba43-dac502259ad0.png

5.3 Ports

5.3.1 NvM_PAdmin_{Block}

f5eb7eb4-387d-11ed-ba43-dac502259ad0.png

5.3.2 NvM_PM_{Block}

f625df8c-387d-11ed-ba43-dac502259ad0.png

f67365d6-387d-11ed-ba43-dac502259ad0.png

5.3.3 NvM_PNIB_{Block}

f6e6aa8c-387d-11ed-ba43-dac502259ad0.png

5.3.4 NvM_PNJF_{Block}

f70f2606-387d-11ed-ba43-dac502259ad0.png

f79d2c80-387d-11ed-ba43-dac502259ad0.png

5.3.5 NvM_PS_{Block}

f7d0f3f8-387d-11ed-ba43-dac502259ad0.png

6.NVM配置

NvMBlockDescriptor: 容器的管理結構,配置組成一個給定的NVRAM塊管理類型。它的多樣性描述了配置的NVRAM塊的數(shù)量,每一個塊需要配置。NVRAM塊描述符壓縮在NVRAM塊描述符表中。

NvMCommon: 通用配置選項的容器。配置NVM模塊的公共屬性。

NvmDemEventParameterRefs: DemEventParameter元素的引用容器,當發(fā)生相應的錯誤時,應該使用API Dem_SetEventStatus調用該元素。EventId取自引用的DemEventParameter的DemEventId符號值。標準化錯誤在此容器中提供,可以通過特定于供應商的錯誤引用進行擴展。實際項目中基本不配置。

f7f72cc6-387d-11ed-ba43-dac502259ad0.png

6.1NvMCommon

NvMApiConfigClass: 預處理器開關,啟用一些與NVM API配置類相關的API調用。

NvMBswMMultiBlockJobStatusInformation: 該參數(shù)指定是否告知BswM多塊作業(yè)的當前狀態(tài)。

True:如果ReadAll和WriteAll被啟動、完成、取消,調用BswM_NvM_CurrentJobMode

False:完全不通知BswM

NvMCompiledConfigId: NV內存布局的配置ID。這個配置ID應該被發(fā)布,例如,一個SW-C應該有可能把它寫入NV內存。

NvMCrcNumOfBytes: 如果為至少一個NVRAM塊配置了CRC校驗,則該參數(shù)定義了一個作業(yè)處理周期內需要處理的最大字節(jié)數(shù)。

NvMDatasetSelectionBits: 定義在內存硬件抽象接口內為NVRAM塊的特定數(shù)據(jù)集尋址時應使用的最低有效位數(shù)。

0 . .8:用于數(shù)據(jù)集或冗余塊尋址的位數(shù)。

0:不配置數(shù)據(jù)集或冗余NVRAM塊,不需要選擇位。

1:配置了冗余NVRAM塊,但沒有配置dataset NVRAM塊

NvMDrvModeSwitch: 在執(zhí)行NvM_ReadAll和NvM_WriteAll時,預處理器開關使內存驅動切換到快速模式。

true: Fast mode enabled.

false: Fast mode disabled.

NvMDynamicConfiguration: 預處理器開關,啟用由NvM_ReadAll請求處理的動態(tài)配置管理。

true: Dynamic configuration management handling enabled.

false: Dynamic configuration management handling disabled.

該參數(shù)會影響所有與ID為1的Block相關的NvM進程,以及所有與抗更改軟件相關的NvM進程。如果關閉了Dynamic Configuration, Block 1不能被NvM使用

NvMJobPrioritization: 預處理器開關,以啟用作業(yè)優(yōu)先級處理

true: Job prioritization handling enabled.

false: Job prioritization handling disabled.

NvMMultiBlockCallback: 每個異步多塊請求終止時調用的公共回調例程的入口地址

NvMPollingMode: 預處理器開關,以啟用/禁用NVRAM管理器中的輪詢模式,同時禁用/啟用底層可使用的回調函數(shù)

NvMRepeatMirrorOperations: 定義應用程序在延遲當前作業(yè)之前向NvM模塊的鏡像復制數(shù)據(jù)或從鏡像復制數(shù)據(jù)的重試次數(shù)。

NvMSetRamBlockStatusApi: 預處理器開關,以啟用API NvM_SetRamBlockStatus。

NvMSizeImmediateJobQueue: 定義直接優(yōu)先級作業(yè)隊列的隊列條目數(shù)。如果NVM_JOB_PRIORITIZATION被關閉,則該參數(shù)應超出作用范圍。

NvMSizeStandardJobQueue: 定義標準作業(yè)隊列的隊列條目數(shù)。

f847c8ac-387d-11ed-ba43-dac502259ad0.png

f8f876e8-387d-11ed-ba43-dac502259ad0.png

6.2NvMBlockDescriptor

NvMBlockCrcType: 定義NVRAM塊的CRC數(shù)據(jù)寬度。默認值:NVM_CRC16,即當NVM_BLOCK_USE_CRC==為true時,將使用CRC16

NvMBlockHeaderInclude: 定義頭文件,其中NVRAM塊的所有者擁有永久RAM數(shù)據(jù)塊、ROM數(shù)據(jù)塊(如果配置)和每個配置回調的回調函數(shù)原型的聲明。

如果沒有配置永久RAM塊、ROM塊或回調函數(shù),則該配置參數(shù)將被忽略。

NvMBlockManagementType: 定義NVRAM塊的塊管理類型。

NvMBlockUseAutoValidation: 定義在關閉階段是否自動驗證RAM塊。

True:使用了自動驗證機制。

False:沒有使用自動校驗機制。

NvMBlockUseCrc: 定義NVRAM塊的CRC使用情況,即在RAM和NV內存中保留用于CRC的內存空間。

true:該NVRAM塊將使用CRC。

false:該NVRAM塊不使用CRC。

NvMBlockUseCRCCompMechanism: 定義在寫作業(yè)期間是否將RAM塊的CRC與最后一個成功讀或寫作業(yè)期間計算的CRC進行比較。

True:使用比較機制,

False:沒有使用比較機制

NvMBlockUseSetRamBlockStatus: 定義改塊是否使用NvMSetRamBlockStatusApi。

注意:如果NvMSetRamBlockStatusApi被禁用,這個配置參數(shù)將被忽略。

true:調用該RAM塊的NvMSetRamBlockStatus將設置該RAM塊的狀態(tài)。

false:該RAM塊的NvMSetRamBlockStatus調用將被忽略。

NvMBlockUseSyncMechanism: 定義NV塊是否使用帶有RAM鏡像的顯式同步機制和用于向NvM模塊的RAM鏡像傳輸數(shù)據(jù)的回調例程。如果使用同步機制,則為True,否則為false。

NvMBlockWriteProt: 定義NV塊的初始寫保護

true:啟用塊初始寫保護。

false:關閉塊初始寫保護。

NvMBswMBlockStatusInformation: 此參數(shù)指定是否通知BswM指定塊的當前狀態(tài)。

True:在更改時調用BswM_NvM_CurrentBlockMode

Fasle:不通知BswM

NvMCalcRamBlockCrc: 定義永久RAM塊或NVRAM塊的CRC(重)計算,它們被配置為使用顯式同步機制。

true:這個永久RAM塊將(重新)計算CRC。

false:不會(重新)為這個永久RAM塊計算CRC。

NvMInitBlockCallback: 塊特定回調例程的入口地址,如果沒有ROM數(shù)據(jù)可用于NVRAM塊的初始化,將調用該回調例程。如果沒有配置,則不需要調用特定的回調例程來初始化具有默認數(shù)據(jù)的NVRAM塊。

NvMMaxNumOfReadRetries: 定義讀重試的最大次數(shù)。

NvMMaxNumOfWriteRetries: 定義一個NVRAM塊的寫重試的最大次數(shù)。無論配置如何,對于請求NvM_WriteAll和NvM_WriteBlock處理的每個塊,都會強制執(zhí)行一致性檢查(可能還有寫重試)。

NvMNvBlockLength: 以字節(jié)為單位定義NV塊數(shù)據(jù)長度。

NvMNvBlockNum: 根據(jù)給定的塊管理類型定義連續(xù)區(qū)域內多個NV塊的數(shù)量。1-255用于配置塊管理類型為nvm_block_datasset .1的NVRAM塊配置塊管理類型為NVM_BLOCK_NATIVE的NVRAM 2配置塊管理類型為nvm_block_redundancy的NVRAM

NvMNvramBlockIdentifier: 通過唯一塊標識符標識NVRAM塊。實現(xiàn)類型:NvM_BlockIdType。

min = 2 max = 2^(16- NVM_DATASET_SELECTION_BITS)-1預留NVRAM塊id:

0 ->通過NvM_GetErrorStatus獲得多塊請求結果

1 ->冗余NVRAM塊,保存配置ID(生成工具應該檢查該塊從類型、CRC和大小角度正確配置)

NvMNvramDeviceId: 定義NVRAM塊所在的NVRAM設備ID。

計算公式: value = TargetBlockReference.[Ea/Fee]BlockConfiguration.[Ea/Fee]DeviceIndex

NvMRamBlockDataAddress: 定義RAM塊數(shù)據(jù)的起始地址。如果不配置,則沒有永久RAM數(shù)據(jù)塊可用于所選的塊管理類型。

NvMReadRamBlockFromNvCallback: 塊特定回調例程的入口地址,為了讓應用程序將數(shù)據(jù)從NvM模塊的鏡像復制到RAM塊,需要調用該回調例程。實現(xiàn)類型:Std_ReturnType

E_OK:拷貝成功

E_NOT_OK:復制不成功,將再次調用回調例程

NvMResistantToChangedSw: 定義一個NVRAM塊是否應該被處理為抵抗配置更改。如果在配置時沒有可用的缺省數(shù)據(jù),則應用程序應負責提供缺省初始化數(shù)據(jù)。在這種情況下,應用程序必須使用NvM_GetErrorStatus()來區(qū)分第一次初始化和損壞的數(shù)據(jù)。

true: NVRAM塊抵抗更改的軟件。

false: NVRAM塊不抵抗更改的軟件。

NvMRomBlockDataAddress: 定義ROM塊數(shù)據(jù)的起始地址。如果不配置,則所選的塊管理類型沒有可用的ROM塊。

NvMBlockDescriptor: 根據(jù)給定的塊管理類型定義連續(xù)區(qū)域中的多個ROM塊的數(shù)量。0 ~ 254用于配置塊管理類型為NVM_BLOCK_DATASET的NVRAM塊。

0-1配置塊管理類型為NVM_BLOCK_NATIVE的NVRAM塊0-1配置塊管理類型為nvm_block_redundancy的NVRAM塊。

NvMSelectBlockForFirstInitAll: 定義一個塊是否由NvM_FirstInitAll處理。即使沒有永久RAM和/或顯式同步,也可以配置塊被處理。

TRUE: block將被NvM_FirstInitAll處理

FALSE:塊不被NvM_FirstInitAll處理

NvMSelectBlockForReadAll: 定義在NvM_ReadAll期間是否處理NVRAM塊。此配置參數(shù)僅對配置為具有永久RAM塊或配置為使用顯式同步機制的NVRAM塊有影響。

true: NVRAM塊將由NvM_ReadAll處理

false: NvM_ReadAll不處理NVRAM塊

NvMSelectBlockForWriteAll: 定義在NvM_WriteAll期間是否處理NVRAM塊。此配置參數(shù)僅對配置為具有永久RAM塊或配置為使用顯式同步機制的NVRAM塊有影響。

true: NVRAM塊將由NvM_WriteAll處理

false: NvM_WriteAll不處理NVRAM塊

NvMSingleBlockCallback: 塊特定回調例程的入口地址,該例程應在每個異步單個塊請求終止時調用

NvMStaticBlockIDCheck: 定義是否啟用靜態(tài)塊ID檢查。

false:禁用靜態(tài)塊ID檢查。

true:啟用靜態(tài)塊ID檢查。

NvMWriteBlockOnce: 定義首次寫后的寫保護。NVRAM管理器會在第一次寫入NV塊之后設置寫保護位,或者在對NV塊進行讀取時,如果該塊已經寫入并且檢測到它是有效的和一致的,那么NVRAM管理器就會設置寫保護位。

true:定義首次寫后的寫保護。

false:定義禁用首次寫后的寫保護。

NvMWriteRamBlockToNvCallback: 塊特定回調例程的入口地址,為了讓應用程序將數(shù)據(jù)從RAM塊復制到NvM模塊的鏡像,需要調用該回調例程。實現(xiàn)類型:Std_ReturnType

E_OK:拷貝成功

E_NOT_OK:復制不成功,將再次調用回調例程

NvMWriteVerification: 定義是否啟用寫驗證。

false:關閉寫校驗。

true:啟用寫校驗功能。

f950ac6e-387d-11ed-ba43-dac502259ad0.png

f9cf1f40-387d-11ed-ba43-dac502259ad0.png

fa006d84-387d-11ed-ba43-dac502259ad0.png




審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • AUTOSAR
    +關注

    關注

    11

    文章

    406

    瀏覽量

    23754
  • NVRAM
    +關注

    關注

    0

    文章

    12

    瀏覽量

    11878
  • API接口
    +關注

    關注

    1

    文章

    115

    瀏覽量

    11278

原文標題:AUTOSAR存儲協(xié)議棧-- NVRAM Manager 模塊介紹(三)

文章出處:【微信號:汽車電子嵌入式,微信公眾號:汽車電子嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    使用S32K344_0_2_55.0版本HSE(fullmem)無法進行re-format the NVM and RAM catalogs是怎么回事?

    在S32K344芯片上安裝S32K344_0_2_55.0版本HSE固件后,HSE固件版本號可以正確讀取出來。但是在進行re-format the NVM and RAM catalogs的操作
    發(fā)表于 04-20 07:41

    i.MX93 ELE 密鑰存儲持久密鑰生成 NVM 錯誤怎么辦?

    ”,評級為“HSM_NVM_ERROR”。 這與僅生成持久密鑰失敗的事實一致:生成臨時密鑰工作正常。 因此,我的問題是:為什么 ELE 抱怨 NVM 錯誤? 我是否缺少確保 ELE 中的 NVM 支持的步驟?
    發(fā)表于 03-18 07:04

    PG-1000脈沖發(fā)生器在非易失性存儲器(NVM)及MOSFET測試的應用

    一、文檔概述本文聚焦非易失性存儲器(NVM)單元表征與MOSFET晶體管測試的核心技術,介紹關鍵存儲類型、測試痛點及適配測試儀器,為相關電子元件研發(fā)與檢測提供技術參考。二、核心存儲與測試相關內容(一
    發(fā)表于 03-09 14:40

    M41ST85W:集實時時鐘、微處理器與NVRAM管理于一身的芯片

    M41ST85W:集實時時鐘、微處理器與NVRAM管理于一身的芯片 在電子設計領域,一款功能全面且性能穩(wěn)定的芯片往往能為項目帶來事半功倍的效果。M41ST85W就是這樣一款值得關注的芯片,它集實時
    的頭像 發(fā)表于 03-02 16:55 ?663次閱讀

    AMD Power Design Manager 2025.2版本現(xiàn)已發(fā)布

    AMD Power Design Manager 2025.2 版本現(xiàn)已發(fā)布,并正式支持第二代 AMD Versal AI Edge 系列器件和第二代 Prime 系列器件。
    的頭像 發(fā)表于 12-24 11:08 ?798次閱讀

    博維邏輯NVRAM在核心交換機配置存儲中的應用價值

    博維邏輯Async NVRAM MC90NP256K33T44SCH-A以256Kbit容量和45ns讀寫速度提升交換機數(shù)據(jù)存儲可靠性。其異步接口無需時鐘同步,支持20年數(shù)據(jù)保存與10^12次擦寫壽命,-40℃~85℃工業(yè)級溫度范圍保障極端環(huán)境下配置信息不丟失。
    的頭像 發(fā)表于 12-23 10:34 ?427次閱讀
    博維邏輯<b class='flag-5'>NVRAM</b>在核心交換機配置存儲中的應用價值

    EZ - BTTM模塊Arduino評估板CYBT - 243053 - EVAL介紹

    EZ-BTTM模塊Arduino評估板CYBT - 243053 - EVAL介紹 在電子開發(fā)領域,藍牙模塊的評估和開發(fā)板是我們進行相關項目的重要工具。今天就來給大家詳細
    的頭像 發(fā)表于 12-21 11:15 ?982次閱讀

    睿遠研究院丨IO-Link規(guī)范解讀(十二):SM模塊與CM模塊解析

    我們本期來好好聊聊SM模塊與CM模塊,SM模塊的全稱是System Manager,是IO-Link最核心的模塊,負責承上啟下的管理各個
    的頭像 發(fā)表于 12-04 18:27 ?5728次閱讀
    睿遠研究院丨IO-Link規(guī)范解讀(十二):SM<b class='flag-5'>模塊</b>與CM<b class='flag-5'>模塊</b>解析

    可回收箱控制板關鍵功能模塊詳細介紹

    硬件。以下是可回收箱控制板關鍵功能模塊詳細介紹。1.照明系統(tǒng)自動感應照明通過紅外或超聲波傳感器檢測用戶靠近,觸發(fā)LED燈帶照明,提供投遞區(qū)域的基礎照明。無人時自動
    的頭像 發(fā)表于 12-04 13:50 ?565次閱讀
    可回收箱控制板關鍵功能<b class='flag-5'>模塊</b><b class='flag-5'>詳細</b><b class='flag-5'>介紹</b>

    博維邏輯MCLogic NVRAM助力5G小基站技術創(chuàng)新

    博維邏輯MCLogic 256KB NVRAM憑借微秒級讀寫速度與10^16次擦寫壽命,為5G小基站提供高可靠數(shù)據(jù)存儲方案。其SPI接口與工業(yè)級溫度范圍完美適配基站設備頻繁配置更新需求,助力提升網絡設備運行穩(wěn)定性與生命周期。
    的頭像 發(fā)表于 11-11 09:25 ?791次閱讀
    博維邏輯MCLogic <b class='flag-5'>NVRAM</b>助力5G小基站技術創(chuàng)新

    求助,關于TLE9883 user_nvm_sector_erase的問題求解

    我正在嘗試測試用于擦除和寫入閃存不同部分的 NVM API 函數(shù)。我從 FLASH0 運行代碼。當我嘗試使用 user_nvm_page_erase 函數(shù)并傳入 0x12002000( FLASH1
    發(fā)表于 08-15 06:05

    求助,關于muRata 2GF在定制電路板上的集成問題求解

    我與muRata溝通了有關問題,當我使用 IFX wifi-host-driver/wifi-connection-manager 和muRata特定的 nvram/clm-blob 文件
    發(fā)表于 07-17 07:14

    AMD Power Design Manager 2025.1現(xiàn)已推出

    AMD Power Design Manager 2025.1 版(PDM)現(xiàn)已推出——增加了對第二代 AMD Versal AI Edge 和 第二代 Versal Prime 系列的支持,并支持已量產的 AMD Spartan UltraScale+ 系列。
    的頭像 發(fā)表于 07-09 14:33 ?1391次閱讀

    請問cyw20719b2的nvram的存儲空間有多少字節(jié)?

    1)請問cyw20719b2的nvram 的存儲空間有多少字節(jié)? 2)用wiced_hal_write_nvram()或wiced_hal_read_nvram()從nvram 寫入或
    發(fā)表于 07-08 07:41

    可以使用 wiced_hal_write_nvram API 來更改 BD 地址嗎?

    /WICED-Module-Programmer-Download/td-p/290595 我想知道模塊中正確的地址或 SV ID BD 地址在哪里? 我可以使用 wiced_hal_write_nvram API 來更改 BD 地址嗎?
    發(fā)表于 07-03 06:20
    黄平县| 若羌县| 贺兰县| 安泽县| 通化县| 扶风县| 宜阳县| 河北省| 成都市| 公主岭市| 鸡泽县| 贵定县| 丽水市| 措美县| 义乌市| 黎平县| 正镶白旗| 剑河县| 双辽市| 琼海市| 桃园县| 霍山县| 崇左市| 伊宁县| 大石桥市| 兴业县| 香河县| 新郑市| 吉隆县| 河曲县| 胶州市| 天等县| 敦煌市| 故城县| 蒙城县| 内乡县| 神农架林区| 五常市| 顺昌县| 秭归县| 四川省|