目錄

以TC387芯片為例,用于NvM的Dflash0的大小是512K大小,Fee模塊使用雙分區設計時每個分區(Sector)最大為256K,假如我們的項目預計有100個Block,每個Block的Size都是已知,該怎么計算NvM的使用率了?
問題1:為什么要計算NvM的使用率了?
答:Block的使用率太高,就會頻繁發生切頁,影響NvMBlock的寫入,嚴重時可能導致NvMBlock的寫請求丟失(比如NvM隊列滿了)。
問題2:既然100個NvMBlock的size是已知的,那么把所有的size加在一起不久知道NvM的使用率了么?
答:如果是粗略計算,這個辦法是可行的。但是Fee在管理每個NvMBlock時附帶很多協議或者標志數據寫入到Flash中(具體可以參考《AUTOSAR架構下Fee詳細分析》一文),實際使用的NvMBlock肯定不是簡單將所有Block size加起來那么簡單。
所以就有了本文精確測試NvM使用率的方法。
NvM Stack相關精彩文章:
AUTOSAR架構下NvM模塊詳細分析
AUTOSAR架構下NvM進入無限循環問題分析
AUTOSAR架構下NvM_ReadAll時間優化的實用方案(下)
AUTOSAR架構下NvM_ReadAll無法退出問題分析
AUTOSAR架構下Fls詳細分析
AUTOSAR架構下存儲協議棧Error問題自底向上分析
Autosar架構下如何測量Fee的切頁時間
Autosar架構下如何加速Fee的切頁時間
實現TC3xx芯片FlashDriver的關鍵內容
AUTOSAR BSW: Vector Davinci
MCAL: EB Infineon
HW Platform: TC3xx
Debug Tool: UDE