99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AUTOSAR NvM Block的Native、Redundant和Dataset有什么區(qū)別?

嵌入式軟件實戰(zhàn)派 ? 來源:嵌入式軟件實戰(zhàn)派 ? 2023-04-06 10:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

AUTOSAR的NvM Block有三種Native、Redundant和DataSet,用得最多的是Native,但你知道其他兩種是干什么的嗎?

AUTOSAR NVM(Non-Volatile Memory)是AUTOSAR標(biāo)準(zhǔn)中定義的一種用于存儲非易失性數(shù)據(jù)的機制。在AUTOSAR NVM中,數(shù)據(jù)被存儲在一個或多個NVM塊中。每個NVM塊由一個或多個NVM數(shù)據(jù)集組成,可以存儲不同類型的數(shù)據(jù)。

3088f952-d419-11ed-bfe3-dac502259ad0.png

圖見《一圖讀懂AUTOSAR NvM(附pdf版文檔資源)》

在AUTOSAR NVM塊中的三種類型,它們之間的區(qū)別如下:

Native

Native數(shù)據(jù)是NVM塊中存儲的原始數(shù)據(jù),是應(yīng)用程序需要讀寫的數(shù)據(jù)。Native數(shù)據(jù)只在NVM塊中存儲一份,如果數(shù)據(jù)損壞或丟失,將無法恢復(fù)。因此,在寫入Native數(shù)據(jù)時,需要確保數(shù)據(jù)的可靠性和一致性。

舉例說明:江湖中的《九陽神功》只有一份,弄丟了就丟了。

Redundant

Redundant數(shù)據(jù)是為了增加數(shù)據(jù)的可靠性而存儲在NVM塊中的備份數(shù)據(jù)。與Native數(shù)據(jù)不同,Redundant數(shù)據(jù)通常存儲在NVM塊中的不同位置,以增加數(shù)據(jù)的冗余度。如果Native數(shù)據(jù)損壞或丟失,可以使用Redundant數(shù)據(jù)進行恢復(fù)。在寫入Redundant數(shù)據(jù)時,需要確保數(shù)據(jù)的可靠性和一致性,以確保Redundant數(shù)據(jù)可以成功地用于數(shù)據(jù)恢復(fù)。

舉例說明:江湖中,如果你巧合得到了一份《葵花寶典》,你也很清楚這玩意的“魅力”,你不想擁有它也不希望它失傳,于是偷偷抄了一份,把原件扔到江湖中,愛咋咋地。如果江湖中的原件丟了,那你可以偷偷拿出你的手抄稿慢慢研究,咳咳~~

DataSet

DataSet數(shù)據(jù)是AUTOSAR NVM中的一個特殊數(shù)據(jù)類型,它是一組數(shù)據(jù)的集合。DataSet數(shù)據(jù)通常用于存儲應(yīng)用程序的配置數(shù)據(jù)或狀態(tài)數(shù)據(jù),例如車輛參數(shù)、故障碼等。與Native和Redundant數(shù)據(jù)不同,DataSet數(shù)據(jù)可以在應(yīng)用程序運行期間進行讀寫,并且可以使用AUTOSAR配置工具進行配置和管理。

DataSet數(shù)據(jù)由一個或多個DataBlock組成,每個DataBlock由一個或多個DataElement組成。在寫入DataSet數(shù)據(jù)時,需要確保數(shù)據(jù)的可靠性和一致性,并且需要考慮到數(shù)據(jù)的版本管理和數(shù)據(jù)更新等問題。

舉例說明:江湖中的《降龍十八掌》有好多個版本,例如有洪七公版、郭靖版和喬峰版,每個版本都有點不一樣。

總之,在AUTOSAR NVM中,Native數(shù)據(jù)是應(yīng)用程序需要讀寫的原始數(shù)據(jù),Redundant數(shù)據(jù)是為了增加數(shù)據(jù)的可靠性而存儲的備份數(shù)據(jù),DataSet數(shù)據(jù)是一組數(shù)據(jù)的集合,通常用于存儲配置數(shù)據(jù)或狀態(tài)數(shù)據(jù),一般可以是車廠不同車型的配置數(shù)據(jù)。

理論是這個樣子,話也是這么說,但總得拿出來遛一遛,看看實際的樣子。

于是乎,上代碼、改配置,直接運行試試效果:

以下工程驗證還是基于《AUTOSAR NvM模塊配置詳解》案例來修改。

Native

這個在原來教程有展示了,也是用得比較多一種,就配置成Native就好了,在EEPROM或FLASH中存儲的數(shù)據(jù)只有一份。

它的讀寫示意圖是這樣的:

30e25e2a-d419-11ed-bfe3-dac502259ad0.png

30fdd088-d419-11ed-bfe3-dac502259ad0.png

Redundant

Redundant就是冗余、重復(fù)的意思,最直觀的理解就是有多一個備份Block。這樣可以讓數(shù)據(jù)更加可靠、容錯性更好,可用性也更好。

注意:只要數(shù)據(jù)了,備份每次都要重新同步的。

31106216-d419-11ed-bfe3-dac502259ad0.png

實際案例中的寫入過程動圖是這樣的:

3120f1ee-d419-11ed-bfe3-dac502259ad0.gif

在讀的時候,讀到其中一份是正確的就OK了

315ab884-d419-11ed-bfe3-dac502259ad0.png

真實的讀取過程也很簡單:

317506b2-d419-11ed-bfe3-dac502259ad0.gif

但是,如果從第一個Block讀取的數(shù)據(jù)是錯誤的(例如CRC校驗不正確),那么,它就會從備份Block去讀取數(shù)據(jù)。以下,我故意將CRC部分改成別的錯誤值,其讀出來后會校驗CRC,發(fā)現(xiàn)錯的,再嘗試讀取備份區(qū)域的數(shù)據(jù):

319439b0-d419-11ed-bfe3-dac502259ad0.png

那么它的讀取過程是怎樣的呢?看動圖:

31ae0426-d419-11ed-bfe3-dac502259ad0.gif

這樣看來,這個非常適合用于存儲非常重要的數(shù)據(jù),例如用于功能安全場合。

DataSet

DataSet數(shù)據(jù)是一組數(shù)據(jù),這組數(shù)據(jù)里面有很多份相互獨立的數(shù)據(jù)。它并不像Redundant那樣,這些數(shù)據(jù)即使會有些相似性,但都是不一樣的,改動其中一份不會影響其他的。

DataSet的讀寫其實跟Native的基本一樣,只是在操作之前需要調(diào)用NvM_SetDataIndex函數(shù)來指定要操作哪一個DataSet數(shù)據(jù)塊。它的參數(shù)定義是這樣的:

Std_ReturnType NvM_SetDataIndex(NvM_BlockIdType BlockId, uint8 DataIndex)

如果不調(diào)用這個NvM_SetDataIndex函數(shù),默認(rèn)情況下,是操作最前的那個數(shù)據(jù)塊,跟Native的表現(xiàn)一致:

31ee02e2-d419-11ed-bfe3-dac502259ad0.gif

如果操作第二塊就是這樣(起始地址是第一塊的后面,緊挨著的):

320dee0e-d419-11ed-bfe3-dac502259ad0.gif

以上就是NvM Block的Native、Redundant和DataSet的區(qū)別了。

審核編輯 :李倩

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

    關(guān)注

    13

    文章

    4522

    瀏覽量

    87293
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1223

    瀏覽量

    25377
  • DataSet
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    2296

原文標(biāo)題:AUTOSAR NvM Block的Native、Redundant和Dataset有什么區(qū)別?

文章出處:【微信號:embedded_sw,微信公眾號:嵌入式軟件實戰(zhàn)派】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    分析Autosar架構(gòu)下的NVM源碼

    Autosar(Automotive Open System Architecture)是一種用于汽車電子系統(tǒng)開發(fā)的開放式架構(gòu)標(biāo)準(zhǔn),旨在提供一種用于構(gòu)建可靠、安全的分布式系統(tǒng)的框架。其中,NVM
    的頭像 發(fā)表于 12-08 13:56 ?2188次閱讀

    hdmi與vga什么區(qū)別

    現(xiàn)在的有線連接一般都是利用HDMI和VGA這兩種接口,但HDMI和VGA接口到底什么區(qū)別呢?
    的頭像 發(fā)表于 01-24 13:58 ?3.9w次閱讀

    RTOS和 TSOS什么區(qū)別?

    RTOS和TSOS什么區(qū)別
    的頭像 發(fā)表于 03-12 11:22 ?4963次閱讀

    晶體管與繼電器輸出的PLC什么區(qū)別

    晶體管與繼電器輸出的PLC什么區(qū)別?
    的頭像 發(fā)表于 12-24 21:57 ?3076次閱讀

    單片機和PLC什么區(qū)別

    單片機和PLC什么區(qū)別?
    發(fā)表于 11-13 19:21 ?11次下載
    單片機和PLC<b class='flag-5'>有</b><b class='flag-5'>什么區(qū)別</b>?

    單片機和PLC什么區(qū)別?

    單片機和PLC什么區(qū)別
    發(fā)表于 11-23 16:21 ?79次下載
    單片機和PLC<b class='flag-5'>有</b><b class='flag-5'>什么區(qū)別</b>?

    NvMAUTOSAR中的層次結(jié)構(gòu)

    AUTOSAR中的NvM看起來挺難的,特別是在配置的時候,一堆參數(shù),都不知道是干什么用的。想去研究它,卻不知如何下手。其實吧,AUTOSAR的官方文檔講的挺詳細(xì)的,但是內(nèi)容很多,網(wǎng)上有很多文章對其進行解讀,很多人沒時間也不想細(xì)讀
    的頭像 發(fā)表于 04-21 10:47 ?4990次閱讀

    Vivado Schematic中的實線和虛線什么區(qū)別?

    Vivado Schematic中的實線和虛線什么區(qū)別?
    的頭像 發(fā)表于 06-06 11:13 ?1487次閱讀
    Vivado Schematic中的實線和虛線<b class='flag-5'>有</b><b class='flag-5'>什么區(qū)別</b>?

    EML與DML:什么區(qū)別?該如何選擇?

    DML和EML什么區(qū)別?該如何選擇?本文將回答這些問題。
    的頭像 發(fā)表于 06-30 10:43 ?2946次閱讀
    EML與DML:<b class='flag-5'>有</b><b class='flag-5'>什么區(qū)別</b>?該如何選擇?

    NVM Block連續(xù)寫及Default Value問題分析

    NVM這塊還只停留在按需求配置階段,遇到問題不能深入分析。本系列文章將從遇到的問題或者提出的疑問著手,一起來更深入學(xué)習(xí)AUTOSAR架構(gòu)下的存儲協(xié)議棧。
    的頭像 發(fā)表于 07-25 14:22 ?5068次閱讀
    <b class='flag-5'>NVM</b> <b class='flag-5'>Block</b>連續(xù)寫及Default Value問題分析

    pcb軟板和硬板什么區(qū)別

    pcb軟板和硬板什么區(qū)別
    的頭像 發(fā)表于 12-19 10:01 ?2620次閱讀

    hdi板與普通pcb什么區(qū)別

    hdi板與普通pcb什么區(qū)別
    的頭像 發(fā)表于 12-28 10:26 ?4860次閱讀

    線路板的層和階什么區(qū)別?

    線路板的層和階什么區(qū)別
    的頭像 發(fā)表于 02-23 17:27 ?1273次閱讀

    私有云和公有云什么區(qū)別

    私有云和公有云在多個方面存在顯著的區(qū)別,以下是具體的比較,主機推薦小編為您整理發(fā)布私有云和公有云什么區(qū)別。
    的頭像 發(fā)表于 02-20 10:38 ?676次閱讀

    GD32與STM32什么區(qū)別

    電子發(fā)燒友網(wǎng)站提供《GD32與STM32什么區(qū)別.docx》資料免費下載
    發(fā)表于 04-03 17:27 ?0次下載