最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

AUTOSAR學習教程-BSW標準解讀

2023-08-09 17:32 作者:嵌入式物聯(lián)網(wǎng)小學妹  | 我要投稿

需要教程的小伙伴,v:xiaoying121416,備注【AUTOSAR】哦~

1、AUTOSAR BSW標準解讀 – NvM

NvM的全稱是NVRAM Manager。NVRAM是用來保存NV(Non Volatile,非易失)數(shù)據(jù)的,所謂的非易失數(shù)據(jù)指的是那些在掉電以后不會丟失的數(shù)據(jù),而NvM模塊是用來提供Nv數(shù)據(jù)管理的,用來維護NV數(shù)據(jù)。

滿足AUTOSAR標準的NVRAM內(nèi)存結(jié)構(gòu)如下圖,從這張圖,我們能夠比較清晰的看到AUTOSAR的NvM設(shè)計邏輯:

?

NvM的數(shù)據(jù)存儲結(jié)構(gòu)

NvM中的的數(shù)據(jù)承載是以塊(Block)出現(xiàn)的,總共有四種類型的數(shù)據(jù)塊,又可以稱為基礎(chǔ)存儲對象(Basic Storage Objects),他們分別是:

1.?NV Block:這種類型的塊必須要有的,它存儲了非易失的數(shù)據(jù),對于NvM是可見的,對于應(yīng)用程序不可見;

2.?RAM Block:這種類型的塊用于應(yīng)用程序訪問數(shù)據(jù),它又分為permanent和temporary兩種,兩者的區(qū)別是,permanent類型的RAM在調(diào)用NvM讀取接口的時候(readall,readblock)會自動的將NV Block里邊的數(shù)據(jù)讀取到permanent RAM block,而temporary類型的RAM必須作為readblock接口的參數(shù),在readblock調(diào)用的時候會被填充,對于應(yīng)用程序和NvM均為可見;

3.?ROM Block:這種類型的塊提供了數(shù)據(jù)的默認值,是可選的,對于NvM可見,對于應(yīng)用程序不可見;

4.?Administrative Block:這種類型的塊用于提供NvM數(shù)據(jù)管理用到的信息,對于NvM可見,對應(yīng)用程序是不可見的。

每一種塊的結(jié)構(gòu)可以參考下面三張圖,對于Admin Block,與具體的NvM實現(xiàn)相關(guān),AUTOSAR并沒有規(guī)定它的具體結(jié)構(gòu):

?


?

值得注意的是,以上提到的Block的概念是NvM中的概念,是抽象出來的和具體實現(xiàn)無關(guān),大家不要和普通的RAM/ROM以及FLASH/RAM/DLFASH/EEPROM等概念混淆。下邊這個實現(xiàn)樣例表格可以幫助大家加深一些理解:

NvM的尋址方式

NvM模塊為程序運行提供了數(shù)據(jù)管理,因此很多模塊會和NvM有交互,跟NvM交互的模塊有RTE,DEM,EcuM,DET,MemIf,SchM,CRC Library。

為了實現(xiàn)存儲管理NvM需要對FLASH或者EEPROM進行操作,這種操作并不是直接進行的,而是通過MemIf模塊,MemIf模塊把位于它下面的FLASH或者EEPROM抽象成線性的32位地址空間(包含了16位的邏輯塊編號和16位的邏輯塊內(nèi)地址偏移),這個規(guī)定決定了NvM允許的最大邏輯塊數(shù)為65536塊,而每一塊的大小為64K。 而邏輯塊編號又可以分成兩部分(塊標識和dataset標識),這兩部分的長度是可以通過NvMDatasetSelectionBits來配置的,它代表了dataset標識符的長度,出去dataset標識符部分就是塊標識符了,dataset標識符最長為8個bit(最多256個datasets)。下邊可以通過簡單的一個示例圖直觀的看出這個概念:

?

NvM的邏輯數(shù)據(jù)塊管理類型

NvM的邏輯塊有三種類型:

1.?NVM_BLOCK_NATIVE:包含1個NV Block,1個RAM Block,0到1個ROM Block,1個Admin Block。最簡單的NvM類型,效率最高

2.?NVM_BLOCK_REDUNDANT:包含2個NV Block,1個RAM Block,0到1個ROM Block,1個Admin Block。比NATIVE類型具有更高的穩(wěn)定性和容錯能力,使用兩個NV Block能夠在一個NV Block失效的情況下從另外一個NV Block讀取數(shù)據(jù)。

3.?NVM_BLOCK_DATASET:包含1到255個NV Block,1個RAM Block,0到n個ROM Block,1個Admin Block。

NvM模塊提供了相應(yīng)的接口函數(shù)管理邏輯塊,為了能夠使NvM更廣泛的應(yīng)用到汽車領(lǐng)域,根據(jù)不同的硬件資源,這些API可以被裁減使用,這種裁減分類三類:

1.?Class3 – 所有API都是支持的

2.?Class2 – 中等程度支持

3.?Class1 – 簡單程度支持,這種裁減下,NVM_BLOCK_DATASET是不支持的

具體對應(yīng)的的API列表在規(guī)范中可以查到,這里就不列出來了


AUTOSAR學習教程-BSW標準解讀的評論 (共 條)

分享到微博請遵守國家法律
田林县| 宝山区| 东乌珠穆沁旗| 梧州市| 天等县| 渝北区| 阳曲县| 呼和浩特市| 赣榆县| 永济市| 延安市| 定安县| 沛县| 白水县| 峨边| 宜城市| 佛教| 邻水| 安义县| 龙泉市| 客服| 微博| 万山特区| 永年县| 花莲市| 灌南县| 元谋县| 如东县| 奉新县| 仪陇县| 吐鲁番市| 寿阳县| 黔东| 银川市| 青河县| 五原县| 台中县| 额敏县| 大悟县| 吴江市| 宜春市|