页式存储管理程序模拟_ADAS/AD开发12 - 数据存储管理
本文屬于ADAS控制器開發(fā)系列。以智能前視攝像頭模塊為基礎。主要介紹下ADAS/AD ECU的存儲topic。
數(shù)據(jù)存儲與管理這個系統(tǒng)BB(Building Blocks),主要是定義控制器模塊的存儲機制。在智能前視攝像頭模塊中,一般有三個存儲位置,即MCU芯片中的RAM、片上Flash (Embedded Flash Memory)和位于MCU外部的一個大型Flash芯片。其中,片上Flash和外部大型Flash就叫做該控制器模塊的NVM。所謂NVM,即Non-volatile memory,非易失存儲器,具有非易失、按字節(jié)存取、存儲密度高、低能耗、讀寫性能接近DRAM,但讀寫速度不對稱,壽命有限。
外部大型Flash主要存儲Mobileye芯片的VFP需要運行的程序和相關數(shù)據(jù)。
片上Flash主要存儲主MCU芯片的程序和相關數(shù)據(jù),如圖1所示的Memory Map:
圖1 片上Flash的Memory Map如上圖所示,片上Flash包括CodeFlash、DataFlash和NVRAM三大片區(qū)域。
CodeFlash用于存儲代碼,包括BL和APP的程序代碼,以及相關的固定標定參數(shù)代碼。
DataFLash包括兩部分,空間較小的那部分存儲一些基本信息,例如制造相關信息、SBAT相關信息、TAC相關信息等。空間較大的那部分區(qū)域則是用來做模擬EEPROM。這部分區(qū)域主要有軟件層面的一個叫做KAMM(Keep-Alive Memory Manager)的模塊來管理,因此這部分空間也叫KAM(Keep-Alive Memory)空間。
NVRAM( Non-Volatile Random Access Memory) 又叫非易失性隨機訪問存儲器,指斷電后仍能保持數(shù)據(jù)的一種RAM。
一、KAM與KAMM
KAM空間在存儲策略上采用模擬EEPROM存儲策略(也叫EED存儲策略,即EEPROM Emulation Driver,EEPROM仿真驅動器)。
而KAMM(Keep-Alive Memory Manager),則:
二、EED策略詳解:
三、KAM數(shù)據(jù)結構
KAM的數(shù)據(jù)結構為了操作方便,一般也會按照功能邏輯上寫操作時機(Trigger timing)相似的方法進行分組,分成Type0、Type1、Type2和Type3等幾個不同的結構體,每個結構體里,封裝一組參數(shù)。當然,這里的Type0/1/2/3等結構體,跟之前的Block1/2/3/4頁沒有關系,Block1/2/3/4的大小都是16k以上級別的,而每個Type0/1/2/3結構體占用空間才1b~2kb。這些Type結構體是存儲在頁中的。
分組結構體有不同的優(yōu)先權,當幾個結構體同時需要讀寫時,會優(yōu)先處理優(yōu)先權最高的結構體。
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的页式存储管理程序模拟_ADAS/AD开发12 - 数据存储管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java在线教程_如何自学java-已拿
- 下一篇: 10年老电脑如何提速_电信宽带免费提速至